Code

Node tool: special case node duplication for endnodes - select new endnode
[inkscape.git] / src / draw-context.h
index ded91328342598c810463c2752b5c99f87420ee0..1364b5dadb407ed0af9debd92ef762cd9be9c8df 100644 (file)
  */
 
 #include <sigc++/sigc++.h>
-#include "display/curve.h"
 #include "event-context.h"
 #include <forward.h>
 #include <display/display-forward.h>
 #include <libnr/nr-point.h>
+#include "live_effects/effect.h"
 
 /* Freehand context */
 
@@ -57,7 +57,7 @@ struct SPDrawContext : public SPEventContext{
     GSList *green_bpaths;
     SPCurve *green_curve;
     SPDrawAnchor *green_anchor;
-    bool green_closed; // a flag meaning we hit the green anchor, so close the path on itself
+    gboolean green_closed; // a flag meaning we hit the green anchor, so close the path on itself
 
     /* White */
     SPItem *white_item;
@@ -69,6 +69,9 @@ struct SPDrawContext : public SPEventContext{
     /* End anchor */
     SPDrawAnchor *ea;
 
+    /* type of the LPE that is to be applied automatically to a finished path (if any) */
+    Inkscape::LivePathEffect::EffectType waiting_LPE_type;
+
     sigc::connection sel_changed_connection;
     sigc::connection sel_modified_connection;
 
@@ -80,11 +83,12 @@ struct SPDrawContext : public SPEventContext{
 struct SPDrawContextClass : public SPEventContextClass{};
 
 GType sp_draw_context_get_type(void);
-SPDrawAnchor *spdc_test_inside(SPDrawContext *dc, NR::Point p);
-void spdc_concat_colors_and_flush(SPDrawContext *dc, bool forceclosed);
-void spdc_endpoint_snap_rotation(SPEventContext const *const ec, NR::Point &p, NR::Point const o, guint state);
-void spdc_endpoint_snap_free(SPEventContext const *ec, NR::Point &p, guint state);
-
+SPDrawAnchor *spdc_test_inside(SPDrawContext *dc, Geom::Point p);
+void spdc_concat_colors_and_flush(SPDrawContext *dc, gboolean forceclosed);
+void spdc_endpoint_snap_rotation(SPEventContext const *const ec, Geom::Point &p, Geom::Point const &o, guint state);
+void spdc_endpoint_snap_free(SPEventContext const *ec, Geom::Point &p, guint state);
+void spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item);
+void spdc_create_single_dot(SPEventContext *ec, Geom::Point const &pt, char const *tool, guint event_state);
 
 #endif
 
@@ -97,4 +101,4 @@ void spdc_endpoint_snap_free(SPEventContext const *ec, NR::Point &p, guint state
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :