summaryrefslogtreecommitdiffstats
path: root/src/pencil-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pencil-context.cpp')
-rw-r--r--src/pencil-context.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/pencil-context.cpp b/src/pencil-context.cpp
index eefa30ad6..47580b4d2 100644
--- a/src/pencil-context.cpp
+++ b/src/pencil-context.cpp
@@ -84,25 +84,24 @@ sp_pencil_context_class_init(SPPencilContextClass *klass)
object_class->dispose = sp_pencil_context_dispose;
- event_context_class->setup = sp_pencil_context_setup;
- event_context_class->root_handler = sp_pencil_context_root_handler;
+// event_context_class->setup = sp_pencil_context_setup;
+// event_context_class->root_handler = sp_pencil_context_root_handler;
}
CPencilContext::CPencilContext(SPPencilContext* pencilcontext) : CDrawContext(pencilcontext) {
this->sppencilcontext = pencilcontext;
}
-/**
- * Callback to initialize SPPencilContext object.
- */
-static void
-sp_pencil_context_init(SPPencilContext *pc)
-{
+SPPencilContext::SPPencilContext() : SPDrawContext() {
+ SPPencilContext* pc = this;
+
pc->cpencilcontext = new CPencilContext(pc);
delete pc->cdrawcontext;
pc->cdrawcontext = pc->cpencilcontext;
pc->ceventcontext = pc->cpencilcontext;
+ pc->is_drawing = false;
+
SPEventContext *event_context = SP_EVENT_CONTEXT(pc);
event_context->cursor_shape = cursor_pencil_xpm;
@@ -119,6 +118,15 @@ sp_pencil_context_init(SPPencilContext *pc)
}
/**
+ * Callback to initialize SPPencilContext object.
+ */
+static void
+sp_pencil_context_init(SPPencilContext *pc)
+{
+ new (pc) SPPencilContext();
+}
+
+/**
* Callback to setup SPPencilContext object.
*/
static void