X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fnodepath.h;h=2b8243f5b612b693055428b87da84df62f65641e;hb=f3a0b5ff671d003a086352d4862a2a3905a99863;hp=aaa488cf3ff6f58c9d78a3c36599a1cc49d4bf66;hpb=3a137448afdc3d6230e7bd3d9df2ed8401cd0500;p=inkscape.git diff --git a/src/nodepath.h b/src/nodepath.h index aaa488cf3..2b8243f5b 100644 --- a/src/nodepath.h +++ b/src/nodepath.h @@ -31,7 +31,7 @@ class Node; } -/** +/** * Radial objects are represented by an angle and a distance from * 0,0. 0,0 is represented by a == big_num. */ @@ -130,6 +130,12 @@ class Path { /// livarot library is used for "point on path" and "nearest position on path", so we need to maintain its path representation as well ::Path *livarot_path; + + /// true if we changed repr, to tell this change from an external one such as from undo, simplify, or another desktop + unsigned int local_change; + + /// true if we're showing selected nodes' handles + bool show_handles; }; @@ -182,14 +188,16 @@ class NodeSide{ Node * other; /** Position */ NR::Point pos; +/** Origin (while dragging) in radial notation */ + Radial origin_radial; +/** Origin (while dragging) in x/y notation */ + NR::Point origin; /** Knots are Inkscape's way of providing draggable points. This * Knot is the point on the curve representing the control point in a * bezier curve.*/ SPKnot * knot; /** What kind of rendering? */ SPCanvasItem * line; -/** */ - Radial origin; }; /** @@ -226,7 +234,7 @@ class Node { } // namespace Inkscape // Do function documentation in nodepath.cpp -Inkscape::NodePath::Path * sp_nodepath_new (SPDesktop * desktop, SPItem * item); +Inkscape::NodePath::Path * sp_nodepath_new (SPDesktop * desktop, SPItem * item, bool show_handles); void sp_nodepath_destroy (Inkscape::NodePath::Path * nodepath); void sp_nodepath_deselect (Inkscape::NodePath::Path *nodepath); void sp_nodepath_select_all (Inkscape::NodePath::Path *nodepath, bool invert); @@ -254,6 +262,7 @@ void sp_node_selected_break (void); void sp_node_selected_duplicate (void); void sp_node_selected_join (void); void sp_node_selected_join_segment (void); +void sp_node_delete_preserve (GList *nodes_to_delete); void sp_node_selected_delete (void); void sp_node_selected_delete_segment (void); void sp_node_selected_set_type (Inkscape::NodePath::NodeType type); @@ -261,6 +270,8 @@ void sp_node_selected_set_line_type (NRPathcode code); void sp_node_selected_move (gdouble dx, gdouble dy); void sp_node_selected_move_screen (gdouble dx, gdouble dy); +void sp_nodepath_show_handles(bool show); + void sp_nodepath_selected_nodes_rotate (Inkscape::NodePath::Path * nodepath, gdouble angle, int which, bool screen); void sp_nodepath_selected_nodes_scale (Inkscape::NodePath::Path * nodepath, gdouble grow, int which);