diff options
Diffstat (limited to 'src/dyna-draw-context.cpp')
| -rw-r--r-- | src/dyna-draw-context.cpp | 42 |
1 files changed, 8 insertions, 34 deletions
diff --git a/src/dyna-draw-context.cpp b/src/dyna-draw-context.cpp index b30950f5a..742d52f09 100644 --- a/src/dyna-draw-context.cpp +++ b/src/dyna-draw-context.cpp @@ -81,8 +81,6 @@ using Inkscape::DocumentUndo; #define DYNA_MIN_WIDTH 1.0e-6 -static void sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass); -static void sp_dyna_draw_context_init(SPDynaDrawContext *ddc); static void sp_dyna_draw_context_dispose(GObject *object); static void sp_dyna_draw_context_setup(SPEventContext *ec); @@ -101,29 +99,7 @@ static Geom::Point sp_dyna_draw_get_npoint(SPDynaDrawContext const *ddc, Geom::P static Geom::Point sp_dyna_draw_get_vpoint(SPDynaDrawContext const *ddc, Geom::Point n); static void draw_temporary_box(SPDynaDrawContext *dc); - -static SPEventContextClass *dd_parent_class = 0; - -GType sp_dyna_draw_context_get_type(void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPDynaDrawContextClass), - 0, // base_init - 0, // base_finalize - (GClassInitFunc)sp_dyna_draw_context_class_init, - 0, // class_finalize - 0, // class_data - sizeof(SPDynaDrawContext), - 0, // n_preallocs - (GInstanceInitFunc)sp_dyna_draw_context_init, - 0 // value_table - }; - type = g_type_register_static(SP_TYPE_COMMON_CONTEXT, "SPDynaDrawContext", &info, static_cast<GTypeFlags>(0)); - } - return type; -} +G_DEFINE_TYPE(SPDynaDrawContext, sp_dyna_draw_context, SP_TYPE_COMMON_CONTEXT); static void sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass) @@ -131,8 +107,6 @@ sp_dyna_draw_context_class_init(SPDynaDrawContextClass *klass) GObjectClass *object_class = G_OBJECT_CLASS(klass); SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass); - dd_parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent(klass)); - object_class->dispose = sp_dyna_draw_context_dispose; event_context_class->setup = sp_dyna_draw_context_setup; @@ -182,7 +156,7 @@ sp_dyna_draw_context_dispose(GObject *object) } - G_OBJECT_CLASS(dd_parent_class)->dispose(object); + G_OBJECT_CLASS(sp_dyna_draw_context_parent_class)->dispose(object); ddc->hatch_pointer_past.~list(); ddc->hatch_nearest_past.~list(); @@ -195,8 +169,8 @@ sp_dyna_draw_context_setup(SPEventContext *ec) { SPDynaDrawContext *ddc = SP_DYNA_DRAW_CONTEXT(ec); - if ((SP_EVENT_CONTEXT_CLASS(dd_parent_class))->setup) - (SP_EVENT_CONTEXT_CLASS(dd_parent_class))->setup(ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->setup) + (SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->setup(ec); ddc->accumulated = new SPCurve(); ddc->currentcurve = new SPCurve(); @@ -262,8 +236,8 @@ sp_dyna_draw_context_set(SPEventContext *ec, Inkscape::Preferences::Entry *val) ddc->keep_selected = val->getBool(); } else { //pass on up to parent class to handle common attributes. - if ( dd_parent_class->set ) { - dd_parent_class->set(ec, val); + if ( SP_COMMON_CONTEXT_CLASS(sp_dyna_draw_context_parent_class)->set ) { + SP_COMMON_CONTEXT_CLASS(sp_dyna_draw_context_parent_class)->set(ec, val); } } @@ -974,8 +948,8 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context, } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(dd_parent_class))->root_handler) { - ret = (SP_EVENT_CONTEXT_CLASS(dd_parent_class))->root_handler(event_context, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->root_handler) { + ret = (SP_EVENT_CONTEXT_CLASS(sp_dyna_draw_context_parent_class))->root_handler(event_context, event); } } |
