diff options
Diffstat (limited to 'src/pencil-context.h')
| -rw-r--r-- | src/pencil-context.h | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/pencil-context.h b/src/pencil-context.h index aa0f60eb2..b3ded0242 100644 --- a/src/pencil-context.h +++ b/src/pencil-context.h @@ -7,12 +7,8 @@ #include "draw-context.h" - -#define SP_TYPE_PENCIL_CONTEXT (sp_pencil_context_get_type()) -#define SP_PENCIL_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_PENCIL_CONTEXT, SPPencilContext)) -#define SP_PENCIL_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_PENCIL_CONTEXT, SPPencilContextClass)) -#define SP_IS_PENCIL_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_PENCIL_CONTEXT)) -#define SP_IS_PENCIL_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_PENCIL_CONTEXT)) +#define SP_PENCIL_CONTEXT(obj) (dynamic_cast<SPPencilContext*>((SPEventContext*)obj)) +#define SP_IS_PENCIL_CONTEXT(obj) (dynamic_cast<const SPPencilContext*>((const SPEventContext*)obj) != NULL) enum PencilState { SP_PENCIL_CONTEXT_IDLE, @@ -24,7 +20,11 @@ enum PencilState { /** * SPPencilContext: a context for pencil tool events */ -struct SPPencilContext : public SPDrawContext { +class SPPencilContext : public SPDrawContext { +public: + SPPencilContext(); + virtual ~SPPencilContext(); + Geom::Point p[16]; gint npoints; PencilState state; @@ -36,13 +36,15 @@ struct SPPencilContext : public SPDrawContext { Geom::Piecewise<Geom::D2<Geom::SBasis> > sketch_interpolation; // the current proposal from the sketched paths unsigned sketch_n; // number of sketches done -}; -/// The SPPencilContext vtable (empty). -struct SPPencilContextClass : public SPEventContextClass { }; + static const std::string prefsPath; -GType sp_pencil_context_get_type(); + virtual const std::string& getPrefsPath(); +protected: + virtual void setup(); + virtual bool root_handler(GdkEvent* event); +}; #endif /* !SEEN_PENCIL_CONTEXT_H */ |
