index e2f2c1e5902016b7ff3ebc0b3783443f2633eb04..fef6f1ea3b6deb7c8c49edabc9be3a564bb56150 100644 (file)
--- a/src/dyna-draw-context.h
+++ b/src/dyna-draw-context.h
class SPDynaDrawContext;
class SPDynaDrawContextClass;
-#define SAMPLING_SIZE 16 /* fixme: ?? */
+#define SAMPLING_SIZE 8 /* fixme: ?? */
#define DDC_MIN_PRESSURE 0.0
#define DDC_MAX_PRESSURE 1.0
{
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;
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;
Inkscape::MessageContext *_message_context;
bool is_drawing;
+
+ /** uses absolute width independent of zoom */
+ bool abs_width;
};
struct SPDynaDrawContextClass