diff options
Diffstat (limited to 'src/pen-context.cpp')
| -rw-r--r-- | src/pen-context.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/pen-context.cpp b/src/pen-context.cpp index 2c045f8ad..333f9ef87 100644 --- a/src/pen-context.cpp +++ b/src/pen-context.cpp @@ -95,27 +95,29 @@ static void sp_pen_context_class_init(SPPenContextClass *klass) object_class->dispose = sp_pen_context_dispose; - event_context_class->setup = sp_pen_context_setup; - event_context_class->finish = sp_pen_context_finish; - event_context_class->set = sp_pen_context_set; - event_context_class->root_handler = sp_pen_context_root_handler; - event_context_class->item_handler = sp_pen_context_item_handler; +// event_context_class->setup = sp_pen_context_setup; +// event_context_class->finish = sp_pen_context_finish; +// event_context_class->set = sp_pen_context_set; +// event_context_class->root_handler = sp_pen_context_root_handler; +// event_context_class->item_handler = sp_pen_context_item_handler; } CPenContext::CPenContext(SPPenContext* pencontext) : CDrawContext(pencontext) { this->sppencontext = pencontext; } -/** - * Callback to initialize SPPenContext object. - */ -static void sp_pen_context_init(SPPenContext *pc) -{ +SPPenContext::SPPenContext() : SPDrawContext() { + SPPenContext* pc = this; + pc->cpencontext = new CPenContext(pc); delete pc->cdrawcontext; pc->cdrawcontext = pc->cpencontext; pc->ceventcontext = pc->cpencontext; + pc->polylines_only = false; + pc->polylines_paraxial = false; + pc->expecting_clicks_for_LPE = 0; + SPEventContext *event_context = SP_EVENT_CONTEXT(pc); event_context->cursor_shape = cursor_pen_xpm; @@ -139,6 +141,14 @@ static void sp_pen_context_init(SPPenContext *pc) } /** + * Callback to initialize SPPenContext object. + */ +static void sp_pen_context_init(SPPenContext *pc) +{ + new (pc) SPPenContext(); +} + +/** * Callback to destroy the SPPenContext object's members and itself. */ static void sp_pen_context_dispose(GObject *object) |
