summaryrefslogtreecommitdiffstats
path: root/src/pen-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pen-context.cpp')
-rw-r--r--src/pen-context.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pen-context.cpp b/src/pen-context.cpp
index 180152642..7e85b46af 100644
--- a/src/pen-context.cpp
+++ b/src/pen-context.cpp
@@ -80,6 +80,21 @@ static void pen_set_to_nearest_horiz_vert(const SPPenContext *const pc, Geom::Po
static int pen_last_paraxial_dir = 0; // last used direction in horizontal/vertical mode; 0 = horizontal, 1 = vertical
+
+#include "sp-factory.h"
+
+namespace {
+ SPEventContext* createPenContext() {
+ return new SPPenContext();
+ }
+
+ bool penContextRegistered = ToolFactory::instance().registerObject("/tools/freehand/pen", createPenContext);
+}
+
+const std::string& CPenContext::getPrefsPath() {
+ return SPPenContext::prefsPath;
+}
+
const std::string SPPenContext::prefsPath = "/tools/freehand/pen";
G_DEFINE_TYPE(SPPenContext, sp_pen_context, SP_TYPE_DRAW_CONTEXT);
@@ -115,6 +130,7 @@ SPPenContext::SPPenContext() : SPDrawContext() {
delete pc->cdrawcontext;
pc->cdrawcontext = pc->cpencontext;
pc->ceventcontext = pc->cpencontext;
+ types.insert(typeid(SPPenContext));
pc->polylines_only = false;
pc->polylines_paraxial = false;