Code

add support for rounded caps with the calligraphy tool
[inkscape.git] / src / dyna-draw-context.h
index 614bf68c3210d2b71e6597d40abea5e83f10e25f..6387672704786f3232f9c267f942feb7bcf891af 100644 (file)
@@ -46,24 +46,32 @@ struct SPDynaDrawContext
 {
     SPEventContext event_context;
 
+    /** accumulated shape which ultimately goes in svg:path */
     SPCurve *accumulated;
+
+    /** canvas items for "comitted" segments */
     GSList *segments;
-    /* current shape and curves */
+
+    /** canvas item for red "leading" segment */
     SPCanvasItem *currentshape;
+    /** shape of red "leading" segment */
     SPCurve *currentcurve;
+
+    /** left edge of the stroke; combined to get accumulated */
     SPCurve *cal1;
+    /** right edge of the stroke; combined to get accumulated */
     SPCurve *cal2;
-    /* temporary work area */
+
+    /** left edge points for this segment */
     NR::Point point1[SAMPLING_SIZE];
+    /** right edge points for this segment */
     NR::Point point2[SAMPLING_SIZE];
+    /** number of edge points for this segment */
     gint npoints;
 
     /* repr */
     Inkscape::XML::Node *repr;
 
-    /* time_id if use timeout */
-    gint timer_id;
-
     /* DynaDraw */
     NR::Point cur;
     NR::Point vel;
@@ -76,24 +84,27 @@ struct SPDynaDrawContext
     gdouble xtilt;
     gdouble ytilt;
     /* attributes */
-    /* fixme: shuld be merge dragging and dynahand ?? */
     guint dragging : 1;           /* mouse state: mouse is dragging */
-    guint dynahand : 1;           /* mouse state: mouse is in draw */
-    guint use_timeout : 1;
-    guint use_calligraphic : 1;
+    guint usepressure : 1;
+    guint usetilt : 1;
     double mass, drag;
     double angle;
     double width;
-    guint usepressure : 1;
-    guint usetilt : 1;
 
     double vel_thin;
     double flatness;
     double tremor;
+    double cap_rounding;
 
     Inkscape::MessageContext *_message_context;
 
     bool is_drawing;
+
+    /** uses absolute width independent of zoom */
+    bool abs_width;
+
+    /** newly created object remain selected */
+    bool keep_selected;
 };
 
 struct SPDynaDrawContextClass