X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdyna-draw-context.h;h=19cbfbb29f2f2cdec57ade900685df0ca85c1303;hb=958c867c4ffb2cafbc87fb484a20c20dab458f3b;hp=72940ac446f1a3e06327a208217e3b4f430610be;hpb=843f801de0a594ee019530dd7e4d6cc5c832ee15;p=inkscape.git diff --git a/src/dyna-draw-context.h b/src/dyna-draw-context.h index 72940ac44..19cbfbb29 100644 --- a/src/dyna-draw-context.h +++ b/src/dyna-draw-context.h @@ -1,5 +1,5 @@ -#ifndef __SP_DYNA_DRAW_CONTEXT_H__ -#define __SP_DYNA_DRAW_CONTEXT_H__ +#ifndef SP_DYNA_DRAW_CONTEXT_H_SEEN +#define SP_DYNA_DRAW_CONTEXT_H_SEEN /* * Handwriting-like drawing mode @@ -18,10 +18,8 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include "display/curve.h" -#include "event-context.h" -#include -#include +#include "common-context.h" +#include "splivarot.h" #define SP_TYPE_DYNA_DRAW_CONTEXT (sp_dyna_draw_context_get_type()) #define SP_DYNA_DRAW_CONTEXT(o) (GTK_CHECK_CAST((o), SP_TYPE_DYNA_DRAW_CONTEXT, SPDynaDrawContext)) @@ -32,8 +30,6 @@ class SPDynaDrawContext; class SPDynaDrawContextClass; -#define SAMPLING_SIZE 8 /* fixme: ?? */ - #define DDC_MIN_PRESSURE 0.0 #define DDC_MAX_PRESSURE 1.0 #define DDC_DEFAULT_PRESSURE 1.0 @@ -42,80 +38,30 @@ class SPDynaDrawContextClass; #define DDC_MAX_TILT 1.0 #define DDC_DEFAULT_TILT 0.0 -struct SPDynaDrawContext -{ - SPEventContext event_context; - - /** accumulated shape which ultimately goes in svg:path */ - SPCurve *accumulated; - - /** canvas items for "comitted" segments */ - GSList *segments; - - /** 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; - - /** 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; - - /* DynaDraw */ - NR::Point cur; - NR::Point vel; - double vel_max; - NR::Point acc; - NR::Point ang; - NR::Point last; - NR::Point del; - /* extended input data */ - gdouble pressure; - gdouble xtilt; - gdouble ytilt; - /* attributes */ - guint dragging : 1; /* mouse state: mouse is dragging */ - guint usepressure : 1; - guint usetilt : 1; - double mass, drag; - double angle; - double width; - - 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; - +struct SPDynaDrawContext : public SPCommonContext { /** newly created object remain selected */ bool keep_selected; -}; -struct SPDynaDrawContextClass -{ - SPEventContextClass parent_class; + double hatch_spacing; + double hatch_spacing_step; + SPItem *hatch_item; + Path *hatch_livarot_path; + std::list hatch_nearest_past; + std::list hatch_pointer_past; + std::list inertia_vectors; + Geom::Point hatch_last_nearest, hatch_last_pointer; + std::list hatch_vectors; + bool hatch_escaped; + SPCanvasItem *hatch_area; + bool just_started_drawing; + bool trace_bg; }; -GtkType sp_dyna_draw_context_get_type(void); +struct SPDynaDrawContextClass : public SPEventContextClass{}; + +GType sp_dyna_draw_context_get_type(void); -#endif +#endif // SP_DYNA_DRAW_CONTEXT_H_SEEN /* Local Variables: