Code

Fixes calligraphy tool so drawing now uses the the correct opacity.
[inkscape.git] / src / nodepath.h
index aaa488cf3ff6f58c9d78a3c36599a1cc49d4bf66..2b8243f5b612b693055428b87da84df62f65641e 100644 (file)
@@ -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);