From 1d8f1753cd8cab38d19fcc26a4ad70ba2e794ac8 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 9 Apr 2013 22:12:07 +0200 Subject: Added constructors to EventContext tree / some missing virtual pads. (bzr r11608.1.90) --- src/pen-context.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'src/pen-context.cpp') 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; @@ -138,6 +140,14 @@ static void sp_pen_context_init(SPPenContext *pc) pc->waiting_item = NULL; } +/** + * 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. */ -- cgit v1.2.3