X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdyna-draw-context.h;h=19cbfbb29f2f2cdec57ade900685df0ca85c1303;hb=d91c7044b45dde766203822b19e4affead5ce10f;hp=614bf68c3210d2b71e6597d40abea5e83f10e25f;hpb=597de4a7a6a70f44324f3ddf984c80210b6c268a;p=inkscape.git diff --git a/src/dyna-draw-context.h b/src/dyna-draw-context.h index 614bf68c3..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,68 +38,30 @@ class SPDynaDrawContextClass; #define DDC_MAX_TILT 1.0 #define DDC_DEFAULT_TILT 0.0 -struct SPDynaDrawContext -{ - SPEventContext event_context; - - SPCurve *accumulated; - GSList *segments; - /* current shape and curves */ - SPCanvasItem *currentshape; - SPCurve *currentcurve; - SPCurve *cal1; - SPCurve *cal2; - /* temporary work area */ - NR::Point point1[SAMPLING_SIZE]; - NR::Point point2[SAMPLING_SIZE]; - gint npoints; - - /* repr */ - Inkscape::XML::Node *repr; - - /* time_id if use timeout */ - gint timer_id; - - /* DynaDraw */ - NR::Point cur; - NR::Point vel; - NR::Point acc; - NR::Point ang; - NR::Point last; - NR::Point del; - /* extended input data */ - gdouble pressure; - 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; - 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; +struct SPDynaDrawContext : public SPCommonContext { + /** newly created object remain selected */ + bool keep_selected; + + 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; }; -struct SPDynaDrawContextClass -{ - SPEventContextClass parent_class; -}; +struct SPDynaDrawContextClass : public SPEventContextClass{}; -GtkType sp_dyna_draw_context_get_type(void); +GType sp_dyna_draw_context_get_type(void); -#endif +#endif // SP_DYNA_DRAW_CONTEXT_H_SEEN /* Local Variables: