diff --git a/src/nodepath.h b/src/nodepath.h
index 21c2957aa92f3d36a057446b88b760ed63cc72d3..967650818764710eb0d6089b5b616a0c18206db4 100644 (file)
--- a/src/nodepath.h
+++ b/src/nodepath.h
};
-/** defined in node-context.h */
-class SPNodeContext;
+class ShapeEditor;
namespace Inkscape {
namespace NodePath {
*/
class Node;
-
/**
* This is a collection of subpaths which contain nodes
*
/** The parent path of this nodepath */
SPPath * path;
/** The context which created this nodepath. Important if this nodepath is deleted */
- SPNodeContext * nodeContext;
+ ShapeEditor *shape_editor;
/** The subpaths which comprise this NodePath */
GList * subpaths;
/** A list of nodes which are currently selected */
/// true if we're showing selected nodes' handles
bool show_handles;
+
+ /// active_node points to the node that is currently mouseovered (= NULL if
+ /// there isn't any); we also consider the node mouseovered if it is covered
+ /// by one of its handles and the latter is mouseovered
+ static Node *active_node;
};
/** The pointer to the nodeside which we are dragging out with Shift */
NodeSide *dragging_out;
+
+ /** Boolean. Am I being dragged? */
+ guint is_dragging : 1;
};
} // namespace NodePath
// Do function documentation in nodepath.cpp
Inkscape::NodePath::Path * sp_nodepath_new (SPDesktop * desktop, SPItem * item, bool show_handles);
void sp_nodepath_destroy (Inkscape::NodePath::Path * nodepath);
+void sp_nodepath_ensure_livarot_path(Inkscape::NodePath::Path *np);
void sp_nodepath_deselect (Inkscape::NodePath::Path *nodepath);
void sp_nodepath_select_all (Inkscape::NodePath::Path *nodepath, bool invert);
void sp_nodepath_select_all_from_subpath(Inkscape::NodePath::Path *nodepath, bool invert);
@@ -259,7 +266,7 @@ void sp_nodepath_selected_align(Inkscape::NodePath::Path *nodepath, NR::Dim2 axi
void sp_nodepath_selected_distribute(Inkscape::NodePath::Path *nodepath, NR::Dim2 axis);
void sp_nodepath_select_segment_near_point(Inkscape::NodePath::Path *nodepath, NR::Point p, bool toggle);
void sp_nodepath_add_node_near_point(Inkscape::NodePath::Path *nodepath, NR::Point p);
-void sp_nodepath_curve_drag(Inkscape::NodePath::Node * e, double t, NR::Point delta);
+void sp_nodepath_curve_drag(int node, double t, NR::Point delta);
Inkscape::NodePath::Node * sp_nodepath_get_node_by_index(int index);
/* possibly private functions */
@@ -283,6 +290,6 @@ void sp_nodepath_selected_nodes_rotate (Inkscape::NodePath::Path * nodepath, gdo
void sp_nodepath_selected_nodes_scale (Inkscape::NodePath::Path * nodepath, gdouble grow, int which);
void sp_nodepath_selected_nodes_scale_screen (Inkscape::NodePath::Path * nodepath, gdouble grow, int which);
-void sp_nodepath_flip (Inkscape::NodePath::Path *nodepath, NR::Dim2 axis);
+void sp_nodepath_flip (Inkscape::NodePath::Path *nodepath, NR::Dim2 axis, NR::Maybe<NR::Point> center);
#endif