diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp
index 1657288cced11b8990666a2b38e301b52e22363d..c16ed2456548e33f7adcc5a72d874835ca79b1d1 100644 (file)
--- a/src/gradient-drag.cpp
+++ b/src/gradient-drag.cpp
#include "desktop-style.h"
#include "document.h"
#include "display/sp-ctrlline.h"
+#include "display/sp-canvas-util.h"
#include "xml/repr.h"
#include "svg/css-ostringstream.h"
#include "svg/svg.h"
#include "libnr/nr-point-fns.h"
-#include "prefs-utils.h"
+#include "preferences.h"
#include "sp-item.h"
#include "style.h"
#include "knot.h"
}
SPStop *
-GrDrag::addStopNearPoint (SPItem *item, NR::Point mouse_p, double tolerance)
+GrDrag::addStopNearPoint (SPItem *item, Geom::Point mouse_p, double tolerance)
{
gfloat offset; // type of SPStop.offset = gfloat
SPGradient *gradient;
do {
gradient = sp_item_gradient (item, fill_or_stroke);
if (SP_IS_LINEARGRADIENT(gradient)) {
- NR::Point begin = sp_item_gradient_get_coords(item, POINT_LG_BEGIN, 0, fill_or_stroke);
- NR::Point end = sp_item_gradient_get_coords(item, POINT_LG_END, 0, fill_or_stroke);
+ Geom::Point begin = sp_item_gradient_get_coords(item, POINT_LG_BEGIN, 0, fill_or_stroke);
+ Geom::Point end = sp_item_gradient_get_coords(item, POINT_LG_END, 0, fill_or_stroke);
- NR::Point nearest = snap_vector_midpoint (mouse_p, begin, end, 0);
- double dist_screen = NR::L2 (mouse_p - nearest);
+ Geom::Point nearest = snap_vector_midpoint (mouse_p, begin, end, 0);
+ double dist_screen = Geom::L2 (mouse_p - nearest);
if ( dist_screen < tolerance ) {
// add the knot
offset = get_offset_between_points(nearest, begin, end);
break; // break out of the while loop: add only one knot
}
} else if (SP_IS_RADIALGRADIENT(gradient)) {
- NR::Point begin = sp_item_gradient_get_coords(item, POINT_RG_CENTER, 0, fill_or_stroke);
- NR::Point end = sp_item_gradient_get_coords(item, POINT_RG_R1, 0, fill_or_stroke);
- NR::Point nearest = snap_vector_midpoint (mouse_p, begin, end, 0);
- double dist_screen = NR::L2 (mouse_p - nearest);
+ Geom::Point begin = sp_item_gradient_get_coords(item, POINT_RG_CENTER, 0, fill_or_stroke);
+ Geom::Point end = sp_item_gradient_get_coords(item, POINT_RG_R1, 0, fill_or_stroke);
+ Geom::Point nearest = snap_vector_midpoint (mouse_p, begin, end, 0);
+ double dist_screen = Geom::L2 (mouse_p - nearest);
if ( dist_screen < tolerance ) {
offset = get_offset_between_points(nearest, begin, end);
addknot = true;
end = sp_item_gradient_get_coords(item, POINT_RG_R2, 0, fill_or_stroke);
nearest = snap_vector_midpoint (mouse_p, begin, end, 0);
- dist_screen = NR::L2 (mouse_p - nearest);
+ dist_screen = Geom::L2 (mouse_p - nearest);
if ( dist_screen < tolerance ) {
offset = get_offset_between_points(nearest, begin, end);
addknot = true;
bool
-GrDrag::dropColor(SPItem */*item*/, gchar *c, NR::Point p)
+GrDrag::dropColor(SPItem */*item*/, gchar const *c, Geom::Point p)
{
// first, see if we can drop onto one of the existing draggers
for (GList *i = draggers; i != NULL; i = i->next) { // for all draggables of dragger
GrDragger *d = (GrDragger *) i->data;
- if (NR::L2(p - d->point)*desktop->current_zoom() < 5) {
+ if (Geom::L2(p - d->point)*desktop->current_zoom() < 5) {
SPCSSAttr *stop = sp_repr_css_attr_new ();
sp_repr_css_set_property (stop, "stop-color", c);
sp_repr_css_set_property (stop, "stop-opacity", "1");
if (lines) {
for (GSList *l = lines; (l != NULL) && (!over_line); l = l->next) {
line = (SPCtrlLine*) l->data;
- NR::Point nearest = snap_vector_midpoint (p, line->s, line->e, 0);
- double dist_screen = NR::L2 (p - nearest) * desktop->current_zoom();
+ Geom::Point nearest = snap_vector_midpoint (p, line->s, line->e, 0);
+ double dist_screen = Geom::L2 (p - nearest) * desktop->current_zoom();
if (line->item && dist_screen < 5) {
SPStop *stop = addStopNearPoint (line->item, p, 5/desktop->current_zoom());
if (stop) {
return server;
}
+static
+boost::optional<Geom::Point>
+get_snap_vector (Geom::Point p, Geom::Point o, double snap, double initial)
+{
+ double r = L2 (p - o);
+ if (r < 1e-3) {
+ return boost::optional<Geom::Point>();
+ }
+
+ double angle = atan2 (p - o);
+ // snap angle to snaps increments, starting from initial:
+ double a_snapped = initial + floor((angle - initial)/snap + 0.5) * snap;
+ // calculate the new position and subtract p to get the vector:
+ return (o + r * Geom::Point(cos(a_snapped), sin(a_snapped)) - p);
+}
+
static void
-gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpointer data)
+gr_knot_moved_handler(SPKnot *knot, Geom::Point const &ppointer, guint state, gpointer data)
{
GrDragger *dragger = (GrDragger *) data;
GrDrag *drag = dragger->parent;
- NR::Point p = *ppointer;
+ Geom::Point p = ppointer;
- // FIXME: take from prefs
- double snap_dist = SNAP_DIST / dragger->parent->desktop->current_zoom();
+ SPDesktop *desktop = dragger->parent->desktop;
+ SnapManager &m = desktop->namedview->snap_manager;
+ double snap_dist = m.snapprefs.getObjectTolerance() / dragger->parent->desktop->current_zoom();
if (state & GDK_SHIFT_MASK) {
// with Shift; unsnap if we carry more than one draggable
@@ -548,7 +566,7 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
// without Shift or Ctrl; see if we need to snap to another dragger
for (GList *di = dragger->parent->draggers; di != NULL; di = di->next) {
GrDragger *d_new = (GrDragger *) di->data;
- if (dragger->mayMerge(d_new) && NR::L2 (d_new->point - p) < snap_dist) {
+ if (dragger->mayMerge(d_new) && Geom::L2 (d_new->point - p) < snap_dist) {
// Merge draggers:
for (GSList const* i = dragger->draggables; i != NULL; i = i->next) { // for all draggables of dragger
@@ -578,43 +596,42 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
if (!((state & GDK_SHIFT_MASK) || ((state & GDK_CONTROL_MASK) && (state & GDK_MOD1_MASK)))) {
// Try snapping to the grid or guides
- SPDesktop *desktop = dragger->parent->desktop;
- SnapManager &m = desktop->namedview->snap_manager;
m.setup(desktop);
- Inkscape::SnappedPoint s = m.freeSnap(Inkscape::Snapper::SNAPPOINT_NODE, p);
+ Inkscape::SnappedPoint s = m.freeSnap(Inkscape::SnapPreferences::SNAPPOINT_NODE, to_2geom(p), Inkscape::SNAPSOURCE_HANDLE);
if (s.getSnapped()) {
p = s.getPoint();
sp_knot_moveto (knot, p);
- } else {
+ } else if (m.snapprefs.getSnapEnabledGlobally() && m.snapprefs.getSnapModeNode() && !(m.snapprefs.getSnapPostponedGlobally())) {
bool was_snapped = false;
double dist = NR_HUGE;
// No snapping so far, let's see if we need to snap to any of the levels
for (guint i = 0; i < dragger->parent->hor_levels.size(); i++) {
- dist = fabs(p[NR::Y] - dragger->parent->hor_levels[i]);
+ dist = fabs(p[Geom::Y] - dragger->parent->hor_levels[i]);
if (dist < snap_dist) {
- p[NR::Y] = dragger->parent->hor_levels[i];
- s = Inkscape::SnappedPoint(p, Inkscape::SNAPTARGET_GRADIENT, dist, snap_dist, false);
+ p[Geom::Y] = dragger->parent->hor_levels[i];
+ s = Inkscape::SnappedPoint(p, Inkscape::SNAPSOURCE_HANDLE, Inkscape::SNAPTARGET_GRADIENTS_PARENT_BBOX, dist, snap_dist, false, false);
was_snapped = true;
sp_knot_moveto (knot, p);
}
}
for (guint i = 0; i < dragger->parent->vert_levels.size(); i++) {
- dist = fabs(p[NR::X] - dragger->parent->vert_levels[i]);
+ dist = fabs(p[Geom::X] - dragger->parent->vert_levels[i]);
if (dist < snap_dist) {
- p[NR::X] = dragger->parent->vert_levels[i];
- s = Inkscape::SnappedPoint(p, Inkscape::SNAPTARGET_GRADIENT, dist, snap_dist, false);
+ p[Geom::X] = dragger->parent->vert_levels[i];
+ s = Inkscape::SnappedPoint(p, Inkscape::SNAPSOURCE_HANDLE, Inkscape::SNAPTARGET_GRADIENTS_PARENT_BBOX, dist, snap_dist, false, false);
was_snapped = true;
sp_knot_moveto (knot, p);
}
}
if (was_snapped) {
- desktop->snapindicator->set_new_snappoint(s);
+ desktop->snapindicator->set_new_snaptarget(s);
}
}
}
if (state & GDK_CONTROL_MASK) {
- unsigned snaps = abs(prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12));
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ unsigned snaps = abs(prefs->getInt("/options/rotationsnapsperpi/value", 12));
/* 0 means no snapping. */
// This list will store snap vectors from all draggables of dragger
@@ -623,7 +640,7 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
for (GSList const* i = dragger->draggables; i != NULL; i = i->next) {
GrDraggable *draggable = (GrDraggable *) i->data;
- NR::Point *dr_snap = NULL;
+ Geom::Point dr_snap(Geom::infinity(), Geom::infinity());
if (draggable->point_type == POINT_LG_BEGIN || draggable->point_type == POINT_LG_END) {
for (GList *di = dragger->parent->draggers; di != NULL; di = di->next) {
@@ -636,11 +653,11 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
// found the other end of the linear gradient;
if (state & GDK_SHIFT_MASK) {
// moving linear around center
- NR::Point center = NR::Point (0.5*(d_new->point + dragger->point));
- dr_snap = ¢er;
+ Geom::Point center = Geom::Point (0.5*(d_new->point + dragger->point));
+ dr_snap = center;
} else {
// moving linear around the other end
- dr_snap = &d_new->point;
+ dr_snap = d_new->point;
}
}
}
@@ -653,37 +670,37 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
POINT_RG_CENTER,
draggable->fill_or_stroke)) {
// found the center of the radial gradient;
- dr_snap = &(d_new->point);
+ dr_snap = d_new->point;
}
}
} else if (draggable->point_type == POINT_RG_CENTER) {
// radial center snaps to hor/vert relative to its original position
- dr_snap = &(dragger->point_original);
+ dr_snap = dragger->point_original;
}
- NR::Point *snap_vector = NULL;
- if (dr_snap) {
+ boost::optional<Geom::Point> snap_vector;
+ if (dr_snap.isFinite()) {
if (state & GDK_MOD1_MASK) {
// with Alt, snap to the original angle and its perpendiculars
- snap_vector = get_snap_vector (p, *dr_snap, M_PI/2, NR::atan2 (dragger->point_original - *dr_snap));
+ snap_vector = get_snap_vector (p, dr_snap, M_PI/2, Geom::atan2 (dragger->point_original - dr_snap));
} else {
// with Ctrl, snap to M_PI/snaps
- snap_vector = get_snap_vector (p, *dr_snap, M_PI/snaps, 0);
+ snap_vector = get_snap_vector (p, dr_snap, M_PI/snaps, 0);
}
}
if (snap_vector) {
- snap_vectors = g_slist_prepend (snap_vectors, snap_vector);
+ snap_vectors = g_slist_prepend (snap_vectors, &(*snap_vector));
}
}
// Move by the smallest of snap vectors:
- NR::Point move(9999, 9999);
+ Geom::Point move(9999, 9999);
for (GSList const *i = snap_vectors; i != NULL; i = i->next) {
- NR::Point *snap_vector = (NR::Point *) i->data;
- if (NR::L2(*snap_vector) < NR::L2(move))
+ Geom::Point *snap_vector = (Geom::Point *) i->data;
+ if (Geom::L2(*snap_vector) < Geom::L2(move))
move = *snap_vector;
}
- if (move[NR::X] < 9999) {
+ if (move[Geom::X] < 9999) {
p += move;
sp_knot_moveto (knot, p);
}
@@ -695,8 +712,8 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
bool scale_radial = (state & GDK_CONTROL_MASK) && (state & GDK_SHIFT_MASK);
if (drag->keep_selection) {
- NR::Point diff = p - dragger->point;
- drag->selected_move_nowrite (diff[NR::X], diff[NR::Y], scale_radial);
+ Geom::Point diff = p - dragger->point;
+ drag->selected_move_nowrite (diff[Geom::X], diff[Geom::Y], scale_radial);
} else {
dragger->point = p;
dragger->fireDraggables (false, scale_radial);
@@ -707,7 +724,7 @@ gr_knot_moved_handler(SPKnot *knot, NR::Point const *ppointer, guint state, gpoi
static void
-gr_midpoint_limits(GrDragger *dragger, SPObject *server, NR::Point *begin, NR::Point *end, NR::Point *low_lim, NR::Point *high_lim, GSList **moving)
+gr_midpoint_limits(GrDragger *dragger, SPObject *server, Geom::Point *begin, Geom::Point *end, Geom::Point *low_lim, Geom::Point *high_lim, GSList **moving)
{
GrDrag *drag = dragger->parent;
@@ -795,7 +812,7 @@ gr_midpoint_limits(GrDragger *dragger, SPObject *server, NR::Point *begin, NR::P
Called when a midpoint knot is dragged.
*/
static void
-gr_knot_moved_midpoint_handler(SPKnot */*knot*/, NR::Point const *ppointer, guint state, gpointer data)
+gr_knot_moved_midpoint_handler(SPKnot */*knot*/, Geom::Point const &ppointer, guint state, gpointer data)
{
GrDragger *dragger = (GrDragger *) data;
GrDrag *drag = dragger->parent;
@@ -805,9 +822,9 @@ gr_knot_moved_midpoint_handler(SPKnot */*knot*/, NR::Point const *ppointer, guin
// FIXME: take from prefs
double snap_fraction = 0.1;
- NR::Point p = *ppointer;
- NR::Point begin(0,0), end(0,0);
- NR::Point low_lim(0,0), high_lim(0,0);
+ Geom::Point p = ppointer;
+ Geom::Point begin(0,0), end(0,0);
+ Geom::Point low_lim(0,0), high_lim(0,0);
SPObject *server = draggable->getServer();
@@ -819,20 +836,20 @@ gr_knot_moved_midpoint_handler(SPKnot */*knot*/, NR::Point const *ppointer, guin
} else {
p = snap_vector_midpoint (p, low_lim, high_lim, 0);
}
- NR::Point displacement = p - dragger->point;
+ Geom::Point displacement = p - dragger->point;
for (GSList const* i = moving; i != NULL; i = i->next) {
GrDragger *drg = (GrDragger*) i->data;
SPKnot *drgknot = drg->knot;
- NR::Point this_move = displacement;
+ Geom::Point this_move = displacement;
if (state & GDK_MOD1_MASK) {
// FIXME: unify all these profiles (here, in nodepath, in tweak) in one place
double alpha = 1.0;
- if (NR::L2(drg->point - dragger->point) + NR::L2(drg->point - begin) - 1e-3 > NR::L2(dragger->point - begin)) { // drg is on the end side from dragger
- double x = NR::L2(drg->point - dragger->point)/NR::L2(end - dragger->point);
+ if (Geom::L2(drg->point - dragger->point) + Geom::L2(drg->point - begin) - 1e-3 > Geom::L2(dragger->point - begin)) { // drg is on the end side from dragger
+ double x = Geom::L2(drg->point - dragger->point)/Geom::L2(end - dragger->point);
this_move = (0.5 * cos (M_PI * (pow(x, alpha))) + 0.5) * this_move;
} else { // drg is on the begin side from dragger
- double x = NR::L2(drg->point - dragger->point)/NR::L2(begin - dragger->point);
+ double x = Geom::L2(drg->point - dragger->point)/Geom::L2(begin - dragger->point);
this_move = (0.5 * cos (M_PI * (pow(x, alpha))) + 0.5) * this_move;
}
}
-GrDragger::GrDragger (GrDrag *parent, NR::Point p, GrDraggable *draggable)
+GrDragger::GrDragger (GrDrag *parent, Geom::Point p, GrDraggable *draggable)
+ : point(p),
+ point_original(p)
{
this->draggables = NULL;
this->parent = parent;
- this->point = p;
- this->point_original = p;
-
// create the knot
this->knot = sp_knot_new (parent->desktop, NULL);
this->knot->setMode(SP_KNOT_MODE_XOR);
this->knot->setFill(GR_KNOT_COLOR_NORMAL, GR_KNOT_COLOR_MOUSEOVER, GR_KNOT_COLOR_MOUSEOVER);
- this->knot->setStroke(0x000000ff, 0x000000ff, 0x000000ff);
+ this->knot->setStroke(0x0000007f, 0x0000007f, 0x0000007f);
sp_knot_update_ctrl(this->knot);
// move knot to the given point
\brief Select all stops/draggers that match the coords
*/
void
-GrDrag::selectByCoords(std::vector<NR::Point> coords)
+GrDrag::selectByCoords(std::vector<Geom::Point> coords)
{
for (GList *l = this->draggers; l != NULL; l = l->next) {
GrDragger *d = ((GrDragger *) l->data);
for (guint k = 0; k < coords.size(); k++) {
- if (NR::L2 (d->point - coords[k]) < 1e-4) {
+ if (Geom::L2 (d->point - coords[k]) < 1e-4) {
setSelected (d, true, true);
}
}
\brief Select all stops/draggers that fall within the rect
*/
void
-GrDrag::selectRect(NR::Rect const &r)
+GrDrag::selectRect(Geom::Rect const &r)
{
for (GList *l = this->draggers; l != NULL; l = l->next) {
GrDragger *d = ((GrDragger *) l->data);
Create a line from p1 to p2 and add it to the lines list
*/
void
-GrDrag::addLine (SPItem *item, NR::Point p1, NR::Point p2, guint32 rgba)
+GrDrag::addLine (SPItem *item, Geom::Point p1, Geom::Point p2, guint32 rgba)
{
SPCanvasItem *line = sp_canvas_item_new(sp_desktop_controls(this->desktop),
SP_TYPE_CTRLLINE, NULL);
+ sp_canvas_item_move_to_z(line, 0);
SP_CTRLLINE(line)->item = item;
sp_ctrlline_set_coords(SP_CTRLLINE(line), p1, p2);
if (rgba != GR_LINE_COLOR_FILL) // fill is the default, so don't set color for it to speed up redraw
void
GrDrag::addDragger (GrDraggable *draggable)
{
- NR::Point p = sp_item_gradient_get_coords (draggable->item, draggable->point_type, draggable->point_i, draggable->fill_or_stroke);
+ Geom::Point p = sp_item_gradient_get_coords (draggable->item, draggable->point_type, draggable->point_i, draggable->fill_or_stroke);
for (GList *i = this->draggers; i != NULL; i = i->next) {
GrDragger *dragger = (GrDragger *) i->data;
- if (dragger->mayMerge (draggable) && NR::L2 (dragger->point - p) < MERGE_DIST) {
+ if (dragger->mayMerge (draggable) && Geom::L2 (dragger->point - p) < MERGE_DIST) {
// distance is small, merge this draggable into dragger, no need to create new dragger
dragger->addDraggable (draggable);
dragger->updateKnotShape();
if (SP_IS_LINEARGRADIENT (server)) {
this->addLine (item, sp_item_gradient_get_coords (item, POINT_LG_BEGIN, 0, true), sp_item_gradient_get_coords (item, POINT_LG_END, 0, true), GR_LINE_COLOR_FILL);
} else if (SP_IS_RADIALGRADIENT (server)) {
- NR::Point center = sp_item_gradient_get_coords (item, POINT_RG_CENTER, 0, true);
+ Geom::Point center = sp_item_gradient_get_coords (item, POINT_RG_CENTER, 0, true);
this->addLine (item, center, sp_item_gradient_get_coords (item, POINT_RG_R1, 0, true), GR_LINE_COLOR_FILL);
this->addLine (item, center, sp_item_gradient_get_coords (item, POINT_RG_R2, 0, true), GR_LINE_COLOR_FILL);
}
if (SP_IS_LINEARGRADIENT (server)) {
this->addLine (item, sp_item_gradient_get_coords (item, POINT_LG_BEGIN, 0, false), sp_item_gradient_get_coords (item, POINT_LG_END, 0, false), GR_LINE_COLOR_STROKE);
} else if (SP_IS_RADIALGRADIENT (server)) {
- NR::Point center = sp_item_gradient_get_coords (item, POINT_RG_CENTER, 0, false);
+ Geom::Point center = sp_item_gradient_get_coords (item, POINT_RG_CENTER, 0, false);
this->addLine (item, center, sp_item_gradient_get_coords (item, POINT_RG_R1, 0, false), GR_LINE_COLOR_STROKE);
this->addLine (item, center, sp_item_gradient_get_coords (item, POINT_RG_R2, 0, false), GR_LINE_COLOR_STROKE);
}
for (GSList const* i = this->selection->itemList(); i != NULL; i = i->next) {
SPItem *item = SP_ITEM(i->data);
- boost::optional<NR::Rect> rect = sp_item_bbox_desktop (item);
+ Geom::OptRect rect = sp_item_bbox_desktop (item);
if (rect) {
// Remember the edges of the bbox and the center axis
- hor_levels.push_back(rect->min()[NR::Y]);
- hor_levels.push_back(rect->max()[NR::Y]);
- hor_levels.push_back(0.5 * (rect->min()[NR::Y] + rect->max()[NR::Y]));
- vert_levels.push_back(rect->min()[NR::X]);
- vert_levels.push_back(rect->max()[NR::X]);
- vert_levels.push_back(0.5 * (rect->min()[NR::X] + rect->max()[NR::X]));
+ hor_levels.push_back(rect->min()[Geom::Y]);
+ hor_levels.push_back(rect->max()[Geom::Y]);
+ hor_levels.push_back(0.5 * (rect->min()[Geom::Y] + rect->max()[Geom::Y]));
+ vert_levels.push_back(rect->min()[Geom::X]);
+ vert_levels.push_back(rect->max()[Geom::X]);
+ vert_levels.push_back(0.5 * (rect->min()[Geom::X] + rect->max()[Geom::X]));
}
}
}
@@ -1790,7 +1807,7 @@ GrDrag::selected_move (double x, double y, bool write_repr, bool scale_radial)
}
did = true;
- d->point += NR::Point (x, y);
+ d->point += Geom::Point (x, y);
d->point_original = d->point;
sp_knot_moveto (d->knot, d->point);
@@ -1813,16 +1830,16 @@ GrDrag::selected_move (double x, double y, bool write_repr, bool scale_radial)
// a midpoint dragger can (logically) only contain one GrDraggable
GrDraggable *draggable = (GrDraggable *) dragger->draggables->data;
- NR::Point begin(0,0), end(0,0);
- NR::Point low_lim(0,0), high_lim(0,0);
+ Geom::Point begin(0,0), end(0,0);
+ Geom::Point low_lim(0,0), high_lim(0,0);
SPObject *server = draggable->getServer();
GSList *moving = NULL;
gr_midpoint_limits(dragger, server, &begin, &end, &low_lim, &high_lim, &moving);
- NR::Point p(x, y);
+ Geom::Point p(x, y);
p = snap_vector_midpoint (dragger->point + p, low_lim, high_lim, 0);
- NR::Point displacement = p - dragger->point;
+ Geom::Point displacement = p - dragger->point;
for (GSList const* i = moving; i != NULL; i = i->next) {
GrDragger *drg = (GrDragger*) i->data;
SP_OBJECT_REPR(stopinfo->vector)->removeChild(SP_OBJECT_REPR(stopinfo->spstop));
SPLinearGradient *lg = SP_LINEARGRADIENT(stopinfo->gradient);
- NR::Point oldbegin = NR::Point (lg->x1.computed, lg->y1.computed);
- NR::Point end = NR::Point (lg->x2.computed, lg->y2.computed);
+ Geom::Point oldbegin = Geom::Point (lg->x1.computed, lg->y1.computed);
+ Geom::Point end = Geom::Point (lg->x2.computed, lg->y2.computed);
SPStop *stop = sp_first_stop(stopinfo->vector);
gdouble offset = stop->offset;
- NR::Point newbegin = oldbegin + offset * (end - oldbegin);
- lg->x1.computed = newbegin[NR::X];
- lg->y1.computed = newbegin[NR::Y];
+ Geom::Point newbegin = oldbegin + offset * (end - oldbegin);
+ lg->x1.computed = newbegin[Geom::X];
+ lg->y1.computed = newbegin[Geom::Y];
Inkscape::XML::Node *repr = SP_OBJECT_REPR(stopinfo->gradient);
sp_repr_set_svg_double(repr, "x1", lg->x1.computed);
SP_OBJECT_REPR(stopinfo->vector)->removeChild(SP_OBJECT_REPR(stopinfo->spstop));
SPLinearGradient *lg = SP_LINEARGRADIENT(stopinfo->gradient);
- NR::Point begin = NR::Point (lg->x1.computed, lg->y1.computed);
- NR::Point oldend = NR::Point (lg->x2.computed, lg->y2.computed);
+ Geom::Point begin = Geom::Point (lg->x1.computed, lg->y1.computed);
+ Geom::Point oldend = Geom::Point (lg->x2.computed, lg->y2.computed);
SPStop *laststop = sp_last_stop(stopinfo->vector);
gdouble offset = laststop->offset;
- NR::Point newend = begin + offset * (oldend - begin);
- lg->x2.computed = newend[NR::X];
- lg->y2.computed = newend[NR::Y];
+ Geom::Point newend = begin + offset * (oldend - begin);
+ lg->x2.computed = newend[Geom::X];
+ lg->y2.computed = newend[Geom::Y];
Inkscape::XML::Node *repr = SP_OBJECT_REPR(stopinfo->gradient);
sp_repr_set_svg_double(repr, "x2", lg->x2.computed);