diff options
| author | Alex Valavanis <valavanisalex@gmail.com> | 2013-01-24 11:43:26 +0000 |
|---|---|---|
| committer | Alex Valavanis <valavanisalex@gmail.com> | 2013-01-24 11:43:26 +0000 |
| commit | d5640b0cc2463ee3470d18891fbd8304ba3339ee (patch) | |
| tree | 4fa2ef155578458203eaa796d4145547f1893c91 /src | |
| parent | revert my revision 12053 (Bug #1103248 ) (diff) | |
| download | inkscape-d5640b0cc2463ee3470d18891fbd8304ba3339ee.tar.gz inkscape-d5640b0cc2463ee3470d18891fbd8304ba3339ee.zip | |
More GObject boilerplate cleanup
(bzr r12059)
Diffstat (limited to 'src')
| -rw-r--r-- | src/arc-context.cpp | 44 | ||||
| -rw-r--r-- | src/box3d-side.cpp | 43 | ||||
| -rw-r--r-- | src/ink-action.cpp | 127 | ||||
| -rw-r--r-- | src/marker.cpp | 76 | ||||
| -rw-r--r-- | src/select-context.cpp | 41 | ||||
| -rw-r--r-- | src/sp-clippath.cpp | 99 | ||||
| -rw-r--r-- | src/sp-clippath.h | 16 | ||||
| -rw-r--r-- | src/sp-defs.cpp | 74 | ||||
| -rw-r--r-- | src/sp-defs.h | 16 | ||||
| -rw-r--r-- | src/sp-desc.cpp | 29 | ||||
| -rw-r--r-- | src/sp-flowdiv.cpp | 233 | ||||
| -rw-r--r-- | src/sp-flowregion.cpp | 88 | ||||
| -rw-r--r-- | src/sp-item-group.cpp | 68 | ||||
| -rw-r--r-- | src/sp-root.cpp | 71 | ||||
| -rw-r--r-- | src/sp-skeleton.cpp | 50 | ||||
| -rw-r--r-- | src/sp-spiral.cpp | 53 | ||||
| -rw-r--r-- | src/sp-star.cpp | 56 | ||||
| -rw-r--r-- | src/sp-string.cpp | 41 | ||||
| -rw-r--r-- | src/sp-tref.cpp | 47 | ||||
| -rw-r--r-- | src/star-context.cpp | 40 |
20 files changed, 325 insertions, 987 deletions
diff --git a/src/arc-context.cpp b/src/arc-context.cpp index c35e0041f..b5bdf58ef 100644 --- a/src/arc-context.cpp +++ b/src/arc-context.cpp @@ -49,8 +49,6 @@ using Inkscape::DocumentUndo; -static void sp_arc_context_class_init(SPArcContextClass *klass); -static void sp_arc_context_init(SPArcContext *arc_context); static void sp_arc_context_dispose(GObject *object); static void sp_arc_context_setup(SPEventContext *ec); @@ -62,35 +60,13 @@ static void sp_arc_drag(SPArcContext *ec, Geom::Point pt, guint state); static void sp_arc_finish(SPArcContext *ec); static void sp_arc_cancel(SPArcContext *ec); -static SPEventContextClass *parent_class; - -GType sp_arc_context_get_type() -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPArcContextClass), - NULL, NULL, - (GClassInitFunc) sp_arc_context_class_init, - NULL, NULL, - sizeof(SPArcContext), - 4, - (GInstanceInitFunc) sp_arc_context_init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPArcContext", &info, (GTypeFlags) 0); - } - return type; -} +G_DEFINE_TYPE(SPArcContext, sp_arc_context, SP_TYPE_EVENT_CONTEXT); static void sp_arc_context_class_init(SPArcContextClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS(klass); SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass); - parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent(klass)); - object_class->dispose = sp_arc_context_dispose; event_context_class->setup = sp_arc_context_setup; @@ -127,8 +103,8 @@ static void sp_arc_context_finish(SPEventContext *ec) sp_arc_finish(ac); ac->sel_changed_connection.disconnect(); - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->finish) { - (SP_EVENT_CONTEXT_CLASS(parent_class))->finish(ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->finish) { + (SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->finish(ec); } } @@ -152,7 +128,7 @@ static void sp_arc_context_dispose(GObject *object) delete ac->_message_context; - G_OBJECT_CLASS(parent_class)->dispose(object); + G_OBJECT_CLASS(sp_arc_context_parent_class)->dispose(object); } /** @@ -174,8 +150,8 @@ static void sp_arc_context_setup(SPEventContext *ec) SPArcContext *ac = SP_ARC_CONTEXT(ec); Inkscape::Selection *selection = sp_desktop_selection(ec->desktop); - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->setup) { - (SP_EVENT_CONTEXT_CLASS(parent_class))->setup(ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->setup) { + (SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->setup(ec); } ec->shape_editor = new ShapeEditor(ec->desktop); @@ -219,8 +195,8 @@ static gint sp_arc_context_item_handler(SPEventContext *event_context, SPItem *i break; } - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->item_handler) { - ret = (SP_EVENT_CONTEXT_CLASS(parent_class))->item_handler(event_context, item, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->item_handler) { + ret = (SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->item_handler(event_context, item, event); } return ret; @@ -401,8 +377,8 @@ static gint sp_arc_context_root_handler(SPEventContext *event_context, GdkEvent } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler) { - ret = (SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler(event_context, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->root_handler) { + ret = (SP_EVENT_CONTEXT_CLASS(sp_arc_context_parent_class))->root_handler(event_context, event); } } diff --git a/src/box3d-side.cpp b/src/box3d-side.cpp index 42268ec83..fc18207b0 100644 --- a/src/box3d-side.cpp +++ b/src/box3d-side.cpp @@ -26,9 +26,6 @@ struct SPPathClass; -static void box3d_side_class_init (Box3DSideClass *klass); -static void box3d_side_init (Box3DSide *side); - static void box3d_side_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static Inkscape::XML::Node *box3d_side_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void box3d_side_set (SPObject *object, unsigned int key, const gchar *value); @@ -38,34 +35,12 @@ static void box3d_side_set_shape (SPShape *shape); static void box3d_side_compute_corner_ids(Box3DSide *side, unsigned int corners[4]); -static SPShapeClass *parent_class; - -GType -box3d_side_get_type (void) -{ - static GType type = 0; - - if (!type) { - GTypeInfo info = { - sizeof (Box3DSideClass), - NULL, NULL, - (GClassInitFunc) box3d_side_class_init, - NULL, NULL, - sizeof (Box3DSide), - 16, - (GInstanceInitFunc) box3d_side_init, - NULL, /* value_table */ - }; - type = g_type_register_static (SP_TYPE_SHAPE, "Box3DSide", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(Box3DSide, box3d_side, SP_TYPE_SHAPE); static void box3d_side_class_init(Box3DSideClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); SPShapeClass *shape_class = reinterpret_cast<SPShapeClass *>(klass); - parent_class = SP_SHAPE_CLASS(g_type_class_ref (SP_TYPE_SHAPE)); sp_object_class->build = box3d_side_build; sp_object_class->write = box3d_side_write; @@ -85,8 +60,8 @@ box3d_side_init (Box3DSide * side) static void box3d_side_build(SPObject * object, SPDocument * document, Inkscape::XML::Node * repr) { - if ((SP_OBJECT_CLASS(parent_class))->build) { - (SP_OBJECT_CLASS(parent_class))->build(object, document, repr); + if ((SP_OBJECT_CLASS(box3d_side_parent_class))->build) { + (SP_OBJECT_CLASS(box3d_side_parent_class))->build(object, document, repr); } object->readAttr( "inkscape:box3dsidetype" ); @@ -119,8 +94,8 @@ box3d_side_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape:: repr->setAttribute("d", d); g_free (d); - if ((SP_OBJECT_CLASS(parent_class))->write) - (SP_OBJECT_CLASS(parent_class))->write (object, xml_doc, repr, flags); + if ((SP_OBJECT_CLASS(box3d_side_parent_class))->write) + (SP_OBJECT_CLASS(box3d_side_parent_class))->write (object, xml_doc, repr, flags); return repr; } @@ -153,8 +128,8 @@ box3d_side_set (SPObject *object, unsigned int key, const gchar *value) } break; default: - if ((SP_OBJECT_CLASS(parent_class))->set) - (SP_OBJECT_CLASS(parent_class))->set (object, key, value); + if ((SP_OBJECT_CLASS(box3d_side_parent_class))->set) + (SP_OBJECT_CLASS(box3d_side_parent_class))->set (object, key, value); break; } } @@ -172,8 +147,8 @@ box3d_side_update (SPObject *object, SPCtx *ctx, guint flags) static_cast<SPShape *>(object)->setShape (); } - if ((SP_OBJECT_CLASS(parent_class))->update) - (SP_OBJECT_CLASS(parent_class))->update (object, ctx, flags); + if ((SP_OBJECT_CLASS(box3d_side_parent_class))->update) + (SP_OBJECT_CLASS(box3d_side_parent_class))->update (object, ctx, flags); } /* Create a new Box3DSide and append it to the parent box */ diff --git a/src/ink-action.cpp b/src/ink-action.cpp index c79cebd1e..dd1fe5484 100644 --- a/src/ink-action.cpp +++ b/src/ink-action.cpp @@ -7,8 +7,6 @@ #include "widgets/button.h" -static void ink_action_class_init( InkActionClass* klass ); -static void ink_action_init( InkAction* action ); static void ink_action_finalize( GObject* obj ); static void ink_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec ); static void ink_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec ); @@ -16,8 +14,6 @@ static void ink_action_set_property( GObject* obj, guint propId, const GValue *v static GtkWidget* ink_action_create_menu_item( GtkAction* action ); static GtkWidget* ink_action_create_tool_item( GtkAction* action ); -static GtkActionClass* gInkActionParentClass = 0; - struct _InkActionPrivate { gchar* iconId; @@ -26,28 +22,7 @@ struct _InkActionPrivate #define INK_ACTION_GET_PRIVATE( o ) ( G_TYPE_INSTANCE_GET_PRIVATE( (o), INK_ACTION_TYPE, InkActionPrivate ) ) -GType ink_action_get_type( void ) -{ - static GType myType = 0; - if ( !myType ) { - static const GTypeInfo myInfo = { - sizeof( InkActionClass ), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc)ink_action_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof( InkAction ), - 0, /* n_preallocs */ - (GInstanceInitFunc)ink_action_init, - NULL - }; - - myType = g_type_register_static( GTK_TYPE_ACTION, "InkAction", &myInfo, (GTypeFlags)0 ); - } - - return myType; -} +G_DEFINE_TYPE(InkAction, ink_action, GTK_TYPE_ACTION); enum { PROP_INK_ID = 1, @@ -57,7 +32,6 @@ enum { static void ink_action_class_init( InkActionClass* klass ) { if ( klass ) { - gInkActionParentClass = GTK_ACTION_CLASS( g_type_class_peek_parent( klass ) ); GObjectClass * objClass = G_OBJECT_CLASS( klass ); objClass->finalize = ink_action_finalize; @@ -203,7 +177,7 @@ static GtkWidget* ink_action_create_menu_item( GtkAction* action ) g_free( label ); label = 0; } else { - item = gInkActionParentClass->create_menu_item( action ); + item = GTK_ACTION_CLASS(ink_action_parent_class)->create_menu_item( action ); } return item; @@ -212,7 +186,7 @@ static GtkWidget* ink_action_create_menu_item( GtkAction* action ) static GtkWidget* ink_action_create_tool_item( GtkAction* action ) { InkAction* act = INK_ACTION( action ); - GtkWidget* item = gInkActionParentClass->create_tool_item(action); + GtkWidget* item = GTK_ACTION_CLASS(ink_action_parent_class)->create_tool_item(action); if ( act->private_data->iconId ) { if ( GTK_IS_TOOL_BUTTON(item) ) { @@ -241,8 +215,6 @@ static GtkWidget* ink_action_create_tool_item( GtkAction* action ) /* --------------------------------------------------------------- */ -static void ink_toggle_action_class_init( InkToggleActionClass* klass ); -static void ink_toggle_action_init( InkToggleAction* action ); static void ink_toggle_action_finalize( GObject* obj ); static void ink_toggle_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec ); static void ink_toggle_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec ); @@ -252,8 +224,6 @@ static GtkWidget* ink_toggle_action_create_tool_item( GtkAction* action ); static void ink_toggle_action_update_icon( InkToggleAction* action ); -static GtkToggleActionClass* gInkToggleActionParentClass = 0; - struct _InkToggleActionPrivate { gchar* iconId; @@ -262,34 +232,11 @@ struct _InkToggleActionPrivate #define INK_TOGGLE_ACTION_GET_PRIVATE( o ) ( G_TYPE_INSTANCE_GET_PRIVATE( (o), INK_TOGGLE_ACTION_TYPE, InkToggleActionPrivate ) ) -GType ink_toggle_action_get_type( void ) -{ - static GType myType = 0; - if ( !myType ) { - static const GTypeInfo myInfo = { - sizeof( InkToggleActionClass ), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc)ink_toggle_action_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof( InkToggleAction ), - 0, /* n_preallocs */ - (GInstanceInitFunc)ink_toggle_action_init, - NULL - }; - - myType = g_type_register_static( GTK_TYPE_TOGGLE_ACTION, "InkToggleAction", &myInfo, (GTypeFlags)0 ); - } - - return myType; -} - +G_DEFINE_TYPE(InkToggleAction, ink_toggle_action, GTK_TYPE_TOGGLE_ACTION); static void ink_toggle_action_class_init( InkToggleActionClass* klass ) { if ( klass ) { - gInkToggleActionParentClass = GTK_TOGGLE_ACTION_CLASS( g_type_class_peek_parent( klass ) ); GObjectClass * objClass = G_OBJECT_CLASS( klass ); objClass->finalize = ink_toggle_action_finalize; @@ -413,7 +360,7 @@ void ink_toggle_action_set_property( GObject* obj, guint propId, const GValue *v static GtkWidget* ink_toggle_action_create_menu_item( GtkAction* action ) { - GtkWidget* item = gInkToggleActionParentClass->parent_class.create_menu_item(action); + GtkWidget* item = GTK_TOGGLE_ACTION_CLASS(ink_toggle_action_parent_class)->parent_class.create_menu_item(action); return item; } @@ -422,7 +369,7 @@ static GtkWidget* ink_toggle_action_create_tool_item( GtkAction* action ) { InkToggleAction* act = INK_TOGGLE_ACTION( action ); - GtkWidget* item = gInkToggleActionParentClass->parent_class.create_tool_item(action); + GtkWidget* item = GTK_TOGGLE_ACTION_CLASS(ink_toggle_action_parent_class)->parent_class.create_tool_item(action); if ( GTK_IS_TOOL_BUTTON(item) ) { GtkToolButton* button = GTK_TOOL_BUTTON(item); if ( act->private_data->iconId ) { @@ -477,8 +424,6 @@ static void ink_toggle_action_update_icon( InkToggleAction* action ) /* --------------------------------------------------------------- */ -static void ink_radio_action_class_init( InkRadioActionClass* klass ); -static void ink_radio_action_init( InkRadioAction* action ); static void ink_radio_action_finalize( GObject* obj ); static void ink_radio_action_get_property( GObject* obj, guint propId, GValue* value, GParamSpec * pspec ); static void ink_radio_action_set_property( GObject* obj, guint propId, const GValue *value, GParamSpec* pspec ); @@ -486,8 +431,6 @@ static void ink_radio_action_set_property( GObject* obj, guint propId, const GVa static GtkWidget* ink_radio_action_create_menu_item( GtkAction* action ); static GtkWidget* ink_radio_action_create_tool_item( GtkAction* action ); -static GtkRadioActionClass* gInkRadioActionParentClass = 0; - struct _InkRadioActionPrivate { gchar* iconId; @@ -496,34 +439,11 @@ struct _InkRadioActionPrivate #define INK_RADIO_ACTION_GET_PRIVATE( o ) ( G_TYPE_INSTANCE_GET_PRIVATE( (o), INK_RADIO_ACTION_TYPE, InkRadioActionPrivate ) ) -GType ink_radio_action_get_type( void ) -{ - static GType myType = 0; - if ( !myType ) { - static const GTypeInfo myInfo = { - sizeof( InkRadioActionClass ), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc)ink_radio_action_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof( InkRadioAction ), - 0, /* n_preallocs */ - (GInstanceInitFunc)ink_radio_action_init, - NULL - }; - - myType = g_type_register_static( GTK_TYPE_RADIO_ACTION, "InkRadioAction", &myInfo, (GTypeFlags)0 ); - } - - return myType; -} - +G_DEFINE_TYPE(InkRadioAction, ink_radio_action, GTK_TYPE_RADIO_ACTION); static void ink_radio_action_class_init( InkRadioActionClass* klass ) { if ( klass ) { - gInkRadioActionParentClass = GTK_RADIO_ACTION_CLASS( g_type_class_peek_parent( klass ) ); GObjectClass * objClass = G_OBJECT_CLASS( klass ); objClass->finalize = ink_radio_action_finalize; @@ -642,7 +562,7 @@ void ink_radio_action_set_property( GObject* obj, guint propId, const GValue *va static GtkWidget* ink_radio_action_create_menu_item( GtkAction* action ) { - GtkWidget* item = gInkRadioActionParentClass->parent_class.parent_class.create_menu_item(action); + GtkWidget* item = GTK_RADIO_ACTION_CLASS(ink_radio_action_parent_class)->parent_class.parent_class.create_menu_item(action); return item; } @@ -650,7 +570,7 @@ static GtkWidget* ink_radio_action_create_menu_item( GtkAction* action ) static GtkWidget* ink_radio_action_create_tool_item( GtkAction* action ) { InkRadioAction* act = INK_RADIO_ACTION( action ); - GtkWidget* item = gInkRadioActionParentClass->parent_class.parent_class.create_tool_item(action); + GtkWidget* item = GTK_RADIO_ACTION_CLASS(ink_radio_action_parent_class)->parent_class.parent_class.create_tool_item(action); if ( act->private_data->iconId ) { if ( GTK_IS_TOOL_BUTTON(item) ) { @@ -681,34 +601,7 @@ static GtkWidget* ink_radio_action_create_tool_item( GtkAction* action ) // ToolMenu Action is happily derived from http://www.gtkforums.com/viewtopic.php?t=4215 -static void ink_tool_menu_action_init (InkToolMenuAction *tma); -static void ink_tool_menu_action_class_init (InkToolMenuActionClass *klass); - -GType -ink_tool_menu_action_get_type (void) -{ - static GType myType = 0; - if (! myType) - { - static const GTypeInfo myInfo = - { - sizeof (InkToolMenuActionClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) ink_tool_menu_action_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (InkToolMenuAction), - 0, /* n_preallocs */ - (GInstanceInitFunc) ink_tool_menu_action_init, - NULL - }; - - myType = g_type_register_static( INK_ACTION_TYPE, "InkToolMenuAction", &myInfo, (GTypeFlags)0 ); - } - - return myType; -} +G_DEFINE_TYPE(InkToolMenuAction, ink_tool_menu_action, INK_ACTION_TYPE); static void ink_tool_menu_action_class_init (InkToolMenuActionClass *klass) diff --git a/src/marker.cpp b/src/marker.cpp index 8acac805b..ba5cd4b05 100644 --- a/src/marker.cpp +++ b/src/marker.cpp @@ -35,9 +35,6 @@ struct SPMarkerView { std::vector<Inkscape::DrawingItem *> items; }; -static void sp_marker_class_init (SPMarkerClass *klass); -static void sp_marker_init (SPMarker *marker); - static void sp_marker_build (SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_marker_release (SPObject *object); static void sp_marker_set (SPObject *object, unsigned int key, const gchar *value); @@ -51,30 +48,7 @@ static void sp_marker_print (SPItem *item, SPPrintContext *ctx); static void sp_marker_view_remove (SPMarker *marker, SPMarkerView *view, unsigned int destroyitems); -static SPGroupClass *parent_class = 0; - -/** - * Registers the SPMarker class with Gdk and returns its type number. - */ -GType -sp_marker_get_type (void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof (SPMarkerClass), - NULL, NULL, - (GClassInitFunc) sp_marker_class_init, - NULL, NULL, - sizeof (SPMarker), - 16, - (GInstanceInitFunc) sp_marker_init, - NULL, /* value_table */ - }; - type = g_type_register_static (SP_TYPE_GROUP, "SPMarker", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPMarker, sp_marker, SP_TYPE_GROUP); /** * Initializes a SPMarkerClass object. Establishes the function pointers to the class' @@ -85,18 +59,16 @@ static void sp_marker_class_init(SPMarkerClass *klass) SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); SPItemClass *sp_item_class = reinterpret_cast<SPItemClass *>(klass); - parent_class = reinterpret_cast<SPGroupClass *>(g_type_class_ref(SP_TYPE_GROUP)); - - sp_object_class->build = sp_marker_build; - sp_object_class->release = sp_marker_release; - sp_object_class->set = sp_marker_set; - sp_object_class->update = sp_marker_update; - sp_object_class->write = sp_marker_write; + sp_object_class->build = sp_marker_build; + sp_object_class->release = sp_marker_release; + sp_object_class->set = sp_marker_set; + sp_object_class->update = sp_marker_update; + sp_object_class->write = sp_marker_write; - sp_item_class->show = sp_marker_private_show; - sp_item_class->hide = sp_marker_private_hide; - sp_item_class->bbox = sp_marker_bbox; - sp_item_class->print = sp_marker_print; + sp_item_class->show = sp_marker_private_show; + sp_item_class->hide = sp_marker_private_hide; + sp_item_class->bbox = sp_marker_bbox; + sp_item_class->print = sp_marker_print; } /** @@ -132,8 +104,8 @@ static void sp_marker_build(SPObject *object, SPDocument *document, Inkscape::XM object->readAttr( "viewBox" ); object->readAttr( "preserveAspectRatio" ); - if (reinterpret_cast<SPObjectClass *>(parent_class)->build) { - reinterpret_cast<SPObjectClass *>(parent_class)->build(object, document, repr); + if (reinterpret_cast<SPObjectClass *>(sp_marker_parent_class)->build) { + reinterpret_cast<SPObjectClass *>(sp_marker_parent_class)->build(object, document, repr); } } @@ -156,12 +128,12 @@ static void sp_marker_release(SPObject *object) while (marker->views) { // Destroy all DrawingItems etc. // Parent class ::hide method - reinterpret_cast<SPItemClass *>(parent_class)->hide(marker, marker->views->key); + reinterpret_cast<SPItemClass *>(sp_marker_parent_class)->hide(marker, marker->views->key); sp_marker_view_remove (marker, marker->views, TRUE); } - if (reinterpret_cast<SPObjectClass *>(parent_class)->release) { - reinterpret_cast<SPObjectClass *>(parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_marker_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_marker_parent_class)->release(object); } } @@ -311,8 +283,8 @@ static void sp_marker_set(SPObject *object, unsigned int key, const gchar *value } break; default: - if (((SPObjectClass *) parent_class)->set) - ((SPObjectClass *) parent_class)->set (object, key, value); + if (((SPObjectClass *) sp_marker_parent_class)->set) + ((SPObjectClass *) sp_marker_parent_class)->set (object, key, value); break; } } @@ -430,8 +402,8 @@ static void sp_marker_update(SPObject *object, SPCtx *ctx, guint flags) } // And invoke parent method - if (((SPObjectClass *) (parent_class))->update) { - ((SPObjectClass *) (parent_class))->update (object, (SPCtx *) &rctx, flags); + if (((SPObjectClass *) (sp_marker_parent_class))->update) { + ((SPObjectClass *) (sp_marker_parent_class))->update (object, (SPCtx *) &rctx, flags); } // As last step set additional transform of drawing group @@ -503,8 +475,8 @@ sp_marker_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::X //XML Tree being used directly here while it shouldn't be.... repr->setAttribute("preserveAspectRatio", object->getRepr()->attribute("preserveAspectRatio")); - if (((SPObjectClass *) (parent_class))->write) - ((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_marker_parent_class))->write) + ((SPObjectClass *) (sp_marker_parent_class))->write (object, xml_doc, repr, flags); return repr; } @@ -572,7 +544,7 @@ sp_marker_show_dimension (SPMarker *marker, unsigned int key, unsigned int size) if (view && (view->items.size() != size)) { /* Free old view and allocate new */ /* Parent class ::hide method */ - ((SPItemClass *) parent_class)->hide ((SPItem *) marker, key); + ((SPItemClass *) sp_marker_parent_class)->hide ((SPItem *) marker, key); sp_marker_view_remove (marker, view, TRUE); view = NULL; } @@ -611,7 +583,7 @@ sp_marker_show_instance ( SPMarker *marker, Inkscape::DrawingItem *parent, } if (!v->items[pos]) { /* Parent class ::show method */ - v->items[pos] = ((SPItemClass *) parent_class)->show ((SPItem *) marker, + v->items[pos] = ((SPItemClass *) sp_marker_parent_class)->show ((SPItem *) marker, parent->drawing(), key, SP_ITEM_REFERENCE_FLAGS); if (v->items[pos]) { @@ -658,7 +630,7 @@ sp_marker_hide (SPMarker *marker, unsigned int key) next = v->next; if (v->key == key) { /* Parent class ::hide method */ - ((SPItemClass *) parent_class)->hide ((SPItem *) marker, key); + ((SPItemClass *) sp_marker_parent_class)->hide ((SPItem *) marker, key); sp_marker_view_remove (marker, v, TRUE); return; } diff --git a/src/select-context.cpp b/src/select-context.cpp index 5934d615c..2684cbc1e 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -51,9 +51,6 @@ using Inkscape::DocumentUndo; - -static void sp_select_context_class_init(SPSelectContextClass *klass); -static void sp_select_context_init(SPSelectContext *select_context); static void sp_select_context_dispose(GObject *object); static void sp_select_context_setup(SPEventContext *ec); @@ -61,8 +58,6 @@ static void sp_select_context_set(SPEventContext *ec, Inkscape::Preferences::Ent static gint sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event); static gint sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEvent *event); -static SPEventContextClass *parent_class; - static GdkCursor *CursorSelectMouseover = NULL; static GdkCursor *CursorSelectDragging = NULL; GdkPixbuf *handles[13]; @@ -74,25 +69,7 @@ static gint xp = 0, yp = 0; // where drag started static gint tolerance = 0; static bool within_tolerance = false; -GType -sp_select_context_get_type(void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPSelectContextClass), - NULL, NULL, - (GClassInitFunc) sp_select_context_class_init, - NULL, NULL, - sizeof(SPSelectContext), - 4, - (GInstanceInitFunc) sp_select_context_init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_EVENT_CONTEXT, "SPSelectContext", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPSelectContext, sp_select_context, SP_TYPE_EVENT_CONTEXT); static void sp_select_context_class_init(SPSelectContextClass *klass) @@ -100,8 +77,6 @@ sp_select_context_class_init(SPSelectContextClass *klass) GObjectClass *object_class = G_OBJECT_CLASS(klass); SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass); - parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent(klass)); - object_class->dispose = sp_select_context_dispose; event_context_class->setup = sp_select_context_setup; @@ -180,7 +155,7 @@ sp_select_context_dispose(GObject *object) CursorSelectMouseover = NULL; } - G_OBJECT_CLASS(parent_class)->dispose(object); + G_OBJECT_CLASS(sp_select_context_parent_class)->dispose(object); } static void @@ -188,8 +163,8 @@ sp_select_context_setup(SPEventContext *ec) { SPSelectContext *select_context = SP_SELECT_CONTEXT(ec); - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->setup) { - (SP_EVENT_CONTEXT_CLASS(parent_class))->setup(ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->setup) { + (SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->setup(ec); } SPDesktop *desktop = ec->desktop; @@ -432,8 +407,8 @@ sp_select_context_item_handler(SPEventContext *event_context, SPItem *item, GdkE } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->item_handler) - ret = (SP_EVENT_CONTEXT_CLASS(parent_class))->item_handler(event_context, item, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->item_handler) + ret = (SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->item_handler(event_context, item, event); } return ret; @@ -1150,8 +1125,8 @@ sp_select_context_root_handler(SPEventContext *event_context, GdkEvent *event) } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler) - ret = (SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler(event_context, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->root_handler) + ret = (SP_EVENT_CONTEXT_CLASS(sp_select_context_parent_class))->root_handler(event_context, event); } return ret; diff --git a/src/sp-clippath.cpp b/src/sp-clippath.cpp index 47d9be2c1..059cbcf2b 100644 --- a/src/sp-clippath.cpp +++ b/src/sp-clippath.cpp @@ -37,46 +37,34 @@ struct SPClipPathView { Geom::OptRect bbox; }; -SPClipPathView *sp_clippath_view_new_prepend(SPClipPathView *list, unsigned int key, Inkscape::DrawingItem *arenaitem); -SPClipPathView *sp_clippath_view_list_remove(SPClipPathView *list, SPClipPathView *view); - -SPObjectGroupClass * SPClipPathClass::static_parent_class = 0; - -GType -SPClipPath::sp_clippath_get_type(void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPClipPathClass), - NULL, NULL, - (GClassInitFunc) SPClipPathClass::sp_clippath_class_init, - NULL, NULL, - sizeof(SPClipPath), - 16, - (GInstanceInitFunc) SPClipPath::init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_OBJECTGROUP, "SPClipPath", &info, (GTypeFlags)0); - } - return type; -} - -void SPClipPathClass::sp_clippath_class_init(SPClipPathClass *klass) +static void sp_clippath_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); +static void sp_clippath_release(SPObject * object); +static void sp_clippath_set(SPObject *object, unsigned int key, gchar const *value); +static void sp_clippath_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref); +static void sp_clippath_update(SPObject *object, SPCtx *ctx, guint flags); +static void sp_clippath_modified(SPObject *object, guint flags); +static Inkscape::XML::Node* sp_clippath_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); +static SPClipPathView* sp_clippath_view_new_prepend(SPClipPathView *list, unsigned int key, Inkscape::DrawingItem *arenaitem); +static SPClipPathView* sp_clippath_view_list_remove(SPClipPathView *list, SPClipPathView *view); + +G_DEFINE_TYPE(SPClipPath, sp_clippath, SP_TYPE_OBJECTGROUP); + +static void +sp_clippath_class_init(SPClipPathClass *klass) { SPObjectClass *sp_object_class = SP_OBJECT_CLASS(klass); - static_parent_class = SP_OBJECTGROUP_CLASS(g_type_class_ref(SP_TYPE_OBJECTGROUP)); - - sp_object_class->build = SPClipPath::build; - sp_object_class->release = SPClipPath::release; - sp_object_class->set = SPClipPath::set; - sp_object_class->child_added = SPClipPath::childAdded; - sp_object_class->update = SPClipPath::update; - sp_object_class->modified = SPClipPath::modified; - sp_object_class->write = SPClipPath::write; + + sp_object_class->build = sp_clippath_build; + sp_object_class->release = sp_clippath_release; + sp_object_class->set = sp_clippath_set; + sp_object_class->child_added = sp_clippath_child_added; + sp_object_class->update = sp_clippath_update; + sp_object_class->modified = sp_clippath_modified; + sp_object_class->write = sp_clippath_write; } -void SPClipPath::init(SPClipPath *cp) +static void +sp_clippath_init(SPClipPath *cp) { cp->clipPathUnits_set = FALSE; cp->clipPathUnits = SP_CONTENT_UNITS_USERSPACEONUSE; @@ -84,10 +72,11 @@ void SPClipPath::init(SPClipPath *cp) cp->display = NULL; } -void SPClipPath::build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) +static void +sp_clippath_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) { - if (((SPObjectClass *) SPClipPathClass::static_parent_class)->build) - ((SPObjectClass *) SPClipPathClass::static_parent_class)->build(object, document, repr); + if (((SPObjectClass *) sp_clippath_parent_class)->build) + ((SPObjectClass *) sp_clippath_parent_class)->build(object, document, repr); object->readAttr( "style" ); object->readAttr( "clipPathUnits" ); @@ -96,7 +85,8 @@ void SPClipPath::build(SPObject *object, SPDocument *document, Inkscape::XML::No document->addResource("clipPath", object); } -void SPClipPath::release(SPObject * object) +static void +sp_clippath_release(SPObject * object) { if (object->document) { // Unregister ourselves @@ -109,12 +99,13 @@ void SPClipPath::release(SPObject * object) cp->display = sp_clippath_view_list_remove(cp->display, cp->display); } - if (((SPObjectClass *) (SPClipPathClass::static_parent_class))->release) { - ((SPObjectClass *) SPClipPathClass::static_parent_class)->release(object); + if (((SPObjectClass *) (sp_clippath_parent_class))->release) { + ((SPObjectClass *) sp_clippath_parent_class)->release(object); } } -void SPClipPath::set(SPObject *object, unsigned int key, gchar const *value) +static void +sp_clippath_set(SPObject *object, unsigned int key, gchar const *value) { SPClipPath *cp = SP_CLIPPATH(object); @@ -137,18 +128,19 @@ void SPClipPath::set(SPObject *object, unsigned int key, gchar const *value) sp_style_read_from_object(object->style, object); object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG); } else { - if (((SPObjectClass *) SPClipPathClass::static_parent_class)->set) { - ((SPObjectClass *) SPClipPathClass::static_parent_class)->set(object, key, value); + if (((SPObjectClass *) sp_clippath_parent_class)->set) { + ((SPObjectClass *) sp_clippath_parent_class)->set(object, key, value); } } break; } } -void SPClipPath::childAdded(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref) +static void +sp_clippath_child_added(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref) { /* Invoke SPObjectGroup implementation */ - ((SPObjectClass *) (SPClipPathClass::static_parent_class))->child_added(object, child, ref); + ((SPObjectClass *) (sp_clippath_parent_class))->child_added(object, child, ref); /* Show new object */ SPObject *ochild = object->document->getObjectByRepr(child); @@ -165,7 +157,8 @@ void SPClipPath::childAdded(SPObject *object, Inkscape::XML::Node *child, Inksca } } -void SPClipPath::update(SPObject *object, SPCtx *ctx, guint flags) +static void +sp_clippath_update(SPObject *object, SPCtx *ctx, guint flags) { if (flags & SP_OBJECT_MODIFIED_FLAG) { flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; @@ -202,7 +195,8 @@ void SPClipPath::update(SPObject *object, SPCtx *ctx, guint flags) } } -void SPClipPath::modified(SPObject *object, guint flags) +static void +sp_clippath_modified(SPObject *object, guint flags) { if (flags & SP_OBJECT_MODIFIED_FLAG) { flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; @@ -227,14 +221,15 @@ void SPClipPath::modified(SPObject *object, guint flags) } } -Inkscape::XML::Node *SPClipPath::write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) +static Inkscape::XML::Node* +sp_clippath_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) { if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) { repr = xml_doc->createElement("svg:clipPath"); } - if (((SPObjectClass *) (SPClipPathClass::static_parent_class))->write) { - ((SPObjectClass *) (SPClipPathClass::static_parent_class))->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_clippath_parent_class))->write) { + ((SPObjectClass *) (sp_clippath_parent_class))->write(object, xml_doc, repr, flags); } return repr; diff --git a/src/sp-clippath.h b/src/sp-clippath.h index 22877c3a9..a77383c63 100644 --- a/src/sp-clippath.h +++ b/src/sp-clippath.h @@ -15,7 +15,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#define SP_TYPE_CLIPPATH (SPClipPath::sp_clippath_get_type()) +#define SP_TYPE_CLIPPATH (sp_clippath_get_type()) #define SP_CLIPPATH(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CLIPPATH, SPClipPath)) #define SP_CLIPPATH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_CLIPPATH, SPClipPathClass)) #define SP_IS_CLIPPATH(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_CLIPPATH)) @@ -27,6 +27,7 @@ class SPClipPathView; #include "uri-references.h" #include "xml/node.h" +GType sp_clippath_get_type() G_GNUC_CONST; namespace Inkscape { @@ -53,16 +54,6 @@ public: Geom::OptRect geometricBounds(Geom::Affine const &transform); private: - static void init(SPClipPath *clippath); - - static void build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); - static void release(SPObject * object); - static void set(SPObject *object, unsigned int key, gchar const *value); - static void childAdded(SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *ref); - static void update(SPObject *object, SPCtx *ctx, guint flags); - static void modified(SPObject *object, guint flags); - static Inkscape::XML::Node *write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); - friend class SPClipPathClass; }; @@ -71,9 +62,6 @@ public: SPObjectGroupClass parent_class; private: - static void sp_clippath_class_init(SPClipPathClass *klass); - static SPObjectGroupClass *static_parent_class; - friend class SPClipPath; }; diff --git a/src/sp-defs.cpp b/src/sp-defs.cpp index 2737b3f5c..f7a906163 100644 --- a/src/sp-defs.cpp +++ b/src/sp-defs.cpp @@ -20,55 +20,45 @@ #include "xml/repr.h" #include "document.h" -SPObjectClass * SPDefsClass::static_parent_class = 0; - -GType SPDefs::sp_defs_get_type(void) +static void sp_defs_release (SPObject *object); +static void sp_defs_update (SPObject *object, + SPCtx *ctx, + guint flags); +static void sp_defs_modified(SPObject *object, + guint flags); +static Inkscape::XML::Node* sp_defs_write (SPObject *object, + Inkscape::XML::Document *doc, + Inkscape::XML::Node *repr, + guint flags); + +G_DEFINE_TYPE(SPDefs, sp_defs, SP_TYPE_OBJECT); + +static void +sp_defs_class_init(SPDefsClass *dc) { - static GType defs_type = 0; - - if (!defs_type) { - GTypeInfo defs_info = { - sizeof(SPDefsClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) SPDefsClass::sp_defs_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof(SPDefs), - 16, /* n_preallocs */ - (GInstanceInitFunc) init, - NULL, /* value_table */ - }; - defs_type = g_type_register_static(SP_TYPE_OBJECT, "SPDefs", &defs_info, (GTypeFlags) 0); - } - - return defs_type; -} - -void SPDefsClass::sp_defs_class_init(SPDefsClass *dc) -{ - static_parent_class = (SPObjectClass *) g_type_class_ref(SP_TYPE_OBJECT); SPObjectClass *sp_object_class = (SPObjectClass *) dc; - sp_object_class->release = SPDefs::release; - sp_object_class->update = SPDefs::update; - sp_object_class->modified = SPDefs::modified; - sp_object_class->write = SPDefs::write; + sp_object_class->release = sp_defs_release; + sp_object_class->update = sp_defs_update; + sp_object_class->modified = sp_defs_modified; + sp_object_class->write = sp_defs_write; } -void SPDefs::init(SPDefs */*defs*/) +static void +sp_defs_init(SPDefs * /*defs*/) { - } -void SPDefs::release(SPObject *object) +static void +sp_defs_release(SPObject *object) { - if (((SPObjectClass *) (SPDefsClass::static_parent_class))->release) { - ((SPObjectClass *) (SPDefsClass::static_parent_class))->release(object); + if (((SPObjectClass *) (sp_defs_parent_class))->release) { + ((SPObjectClass *) (sp_defs_parent_class))->release(object); } } -void SPDefs::update(SPObject *object, SPCtx *ctx, guint flags) +static void +sp_defs_update(SPObject *object, SPCtx *ctx, guint flags) { if (flags & SP_OBJECT_MODIFIED_FLAG) { flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; @@ -87,7 +77,8 @@ void SPDefs::update(SPObject *object, SPCtx *ctx, guint flags) } } -void SPDefs::modified(SPObject *object, guint flags) +static void +sp_defs_modified(SPObject *object, guint flags) { if (flags & SP_OBJECT_MODIFIED_FLAG) { flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; @@ -113,7 +104,8 @@ void SPDefs::modified(SPObject *object, guint flags) } } -Inkscape::XML::Node * SPDefs::write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) +static Inkscape::XML::Node* +sp_defs_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) { if (flags & SP_OBJECT_WRITE_BUILD) { @@ -141,8 +133,8 @@ Inkscape::XML::Node * SPDefs::write(SPObject *object, Inkscape::XML::Document *x } } - if (((SPObjectClass *) (SPDefsClass::static_parent_class))->write) { - (* ((SPObjectClass *) (SPDefsClass::static_parent_class))->write)(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_defs_parent_class))->write) { + (* ((SPObjectClass *) (sp_defs_parent_class))->write)(object, xml_doc, repr, flags); } return repr; diff --git a/src/sp-defs.h b/src/sp-defs.h index 83003f4ad..e1d343979 100644 --- a/src/sp-defs.h +++ b/src/sp-defs.h @@ -15,23 +15,16 @@ #include "sp-object.h" -#define SP_TYPE_DEFS (SPDefs::sp_defs_get_type()) +#define SP_TYPE_DEFS (sp_defs_get_type()) #define SP_DEFS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_DEFS, SPDefs)) #define SP_DEFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_DEFS, SPDefsClass)) #define SP_IS_DEFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_DEFS)) #define SP_IS_DEFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SP_TYPE_DEFS)) +GType sp_defs_get_type(void) G_GNUC_CONST; + class SPDefs : public SPObject { -public: - static GType sp_defs_get_type(void); - private: - static void init(SPDefs *defs); - static void release(SPObject *object); - static void update(SPObject *object, SPCtx *ctx, guint flags); - static void modified(SPObject *object, guint flags); - static Inkscape::XML::Node *write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); - friend class SPDefsClass; }; @@ -40,9 +33,6 @@ public: SPObjectClass parent_class; private: - static void sp_defs_class_init(SPDefsClass *dc); - static SPObjectClass *static_parent_class; - friend class SPDefs; }; diff --git a/src/sp-desc.cpp b/src/sp-desc.cpp index bbc47ecbb..9b27c4d17 100644 --- a/src/sp-desc.cpp +++ b/src/sp-desc.cpp @@ -16,36 +16,13 @@ #include "sp-desc.h" #include "xml/repr.h" -static void sp_desc_class_init(SPDescClass *klass); -static void sp_desc_init(SPDesc *rect); static Inkscape::XML::Node *sp_desc_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); -static SPObjectClass *desc_parent_class; - -GType sp_desc_get_type (void) -{ - static GType desc_type = 0; - - if (!desc_type) { - GTypeInfo desc_info = { - sizeof (SPDescClass), - NULL, NULL, - (GClassInitFunc) sp_desc_class_init, - NULL, NULL, - sizeof (SPDesc), - 16, - (GInstanceInitFunc) sp_desc_init, - NULL, /* value_table */ - }; - desc_type = g_type_register_static (SP_TYPE_OBJECT, "SPDesc", &desc_info, (GTypeFlags)0); - } - return desc_type; -} +G_DEFINE_TYPE(SPDesc, sp_desc, SP_TYPE_OBJECT); static void sp_desc_class_init(SPDescClass *klass) { SPObjectClass *sp_object_class = (SPObjectClass *)(klass); - desc_parent_class = (SPObjectClass *)(g_type_class_ref(SP_TYPE_OBJECT)); sp_object_class->write = sp_desc_write; } @@ -63,8 +40,8 @@ static Inkscape::XML::Node *sp_desc_write(SPObject *object, Inkscape::XML::Docum repr = object->getRepr()->duplicate(doc); } - if ((static_cast<SPObjectClass *>(desc_parent_class))->write) { - (static_cast<SPObjectClass *>(desc_parent_class))->write(object, doc, repr, flags); + if ((static_cast<SPObjectClass *>(sp_desc_parent_class))->write) { + (static_cast<SPObjectClass *>(sp_desc_parent_class))->write(object, doc, repr, flags); } return repr; diff --git a/src/sp-flowdiv.cpp b/src/sp-flowdiv.cpp index 7a0c5e0b8..c588335d8 100644 --- a/src/sp-flowdiv.cpp +++ b/src/sp-flowdiv.cpp @@ -14,8 +14,6 @@ #include "sp-string.h" #include "document.h" -static void sp_flowdiv_class_init (SPFlowdivClass *klass); -static void sp_flowdiv_init (SPFlowdiv *group); static void sp_flowdiv_release (SPObject *object); static Inkscape::XML::Node *sp_flowdiv_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_flowdiv_update (SPObject *object, SPCtx *ctx, unsigned int flags); @@ -23,8 +21,6 @@ static void sp_flowdiv_modified (SPObject *object, guint flags); static void sp_flowdiv_build (SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr); static void sp_flowdiv_set (SPObject *object, unsigned int key, const gchar *value); -static void sp_flowtspan_class_init (SPFlowtspanClass *klass); -static void sp_flowtspan_init (SPFlowtspan *group); static void sp_flowtspan_release (SPObject *object); static Inkscape::XML::Node *sp_flowtspan_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_flowtspan_update (SPObject *object, SPCtx *ctx, unsigned int flags); @@ -32,8 +28,6 @@ static void sp_flowtspan_modified (SPObject *object, guint flags); static void sp_flowtspan_build (SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr); static void sp_flowtspan_set (SPObject *object, unsigned int key, const gchar *value); -static void sp_flowpara_class_init (SPFlowparaClass *klass); -static void sp_flowpara_init (SPFlowpara *group); static void sp_flowpara_release (SPObject *object); static Inkscape::XML::Node *sp_flowpara_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_flowpara_update (SPObject *object, SPCtx *ctx, unsigned int flags); @@ -41,51 +35,20 @@ static void sp_flowpara_modified (SPObject *object, guint flags); static void sp_flowpara_build (SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr); static void sp_flowpara_set (SPObject *object, unsigned int key, const gchar *value); -static void sp_flowline_class_init (SPFlowlineClass *klass); static void sp_flowline_release (SPObject *object); -static void sp_flowline_init (SPFlowline *group); static Inkscape::XML::Node *sp_flowline_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_flowline_modified (SPObject *object, guint flags); -static void sp_flowregionbreak_class_init (SPFlowregionbreakClass *klass); static void sp_flowregionbreak_release (SPObject *object); -static void sp_flowregionbreak_init (SPFlowregionbreak *group); static Inkscape::XML::Node *sp_flowregionbreak_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_flowregionbreak_modified (SPObject *object, guint flags); -static SPItemClass * flowdiv_parent_class; -static SPItemClass * flowtspan_parent_class; -static SPItemClass * flowpara_parent_class; -static SPObjectClass * flowline_parent_class; -static SPObjectClass * flowregionbreak_parent_class; - -GType sp_flowdiv_get_type(void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowdivClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowdiv_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowdiv), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowdiv_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_ITEM, "SPFlowdiv", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowdiv, sp_flowdiv, SP_TYPE_ITEM); static void sp_flowdiv_class_init(SPFlowdivClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - flowdiv_parent_class = reinterpret_cast<SPItemClass *>(g_type_class_ref(SP_TYPE_ITEM)); - sp_object_class->build = sp_flowdiv_build; sp_object_class->set = sp_flowdiv_set; sp_object_class->release = sp_flowdiv_release; @@ -100,8 +63,8 @@ static void sp_flowdiv_init(SPFlowdiv */*group*/) static void sp_flowdiv_release(SPObject *object) { - if (reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->release) { - reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->release(object); } } @@ -110,8 +73,8 @@ static void sp_flowdiv_update(SPObject *object, SPCtx *ctx, unsigned int flags) SPItemCtx *ictx = reinterpret_cast<SPItemCtx *>(ctx); SPItemCtx cctx = *ictx; - if (reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->update) { - reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->update(object, ctx, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->update) { + reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->update(object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -144,8 +107,8 @@ static void sp_flowdiv_update(SPObject *object, SPCtx *ctx, unsigned int flags) static void sp_flowdiv_modified(SPObject *object, guint flags) { - if (reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->modified) { - reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->modified(object, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->modified) { + reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->modified(object, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -173,15 +136,15 @@ static void sp_flowdiv_build(SPObject *object, SPDocument *doc, Inkscape::XML::N { object->_requireSVGVersion(Inkscape::Version(1, 2)); - if (reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->build) { - reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->build(object, doc, repr); + if (reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->build) { + reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->build(object, doc, repr); } } static void sp_flowdiv_set(SPObject *object, unsigned int key, const gchar *value) { - if (reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->set) { - reinterpret_cast<SPObjectClass *>(flowdiv_parent_class)->set(object, key, value); + if (reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->set) { + reinterpret_cast<SPObjectClass *>(sp_flowdiv_parent_class)->set(object, key, value); } } @@ -222,8 +185,8 @@ static Inkscape::XML::Node *sp_flowdiv_write(SPObject *object, Inkscape::XML::Do } } - if (((SPObjectClass *) (flowdiv_parent_class))->write) { - ((SPObjectClass *) (flowdiv_parent_class))->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_flowdiv_parent_class))->write) { + ((SPObjectClass *) (sp_flowdiv_parent_class))->write(object, xml_doc, repr, flags); } return repr; @@ -233,35 +196,12 @@ static Inkscape::XML::Node *sp_flowdiv_write(SPObject *object, Inkscape::XML::Do /* * */ - -GType -sp_flowtspan_get_type (void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowtspanClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowtspan_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowtspan), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowtspan_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_ITEM, "SPFlowtspan", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowtspan, sp_flowtspan, SP_TYPE_ITEM); static void sp_flowtspan_class_init(SPFlowtspanClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - flowtspan_parent_class = reinterpret_cast<SPItemClass *>(g_type_class_ref(SP_TYPE_ITEM)); - sp_object_class->build = sp_flowtspan_build; sp_object_class->set = sp_flowtspan_set; sp_object_class->release = sp_flowtspan_release; @@ -276,8 +216,8 @@ static void sp_flowtspan_init(SPFlowtspan */*group*/) static void sp_flowtspan_release(SPObject *object) { - if (reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->release) { - reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->release(object); } } @@ -286,8 +226,8 @@ static void sp_flowtspan_update(SPObject *object, SPCtx *ctx, unsigned int flags SPItemCtx *ictx = reinterpret_cast<SPItemCtx *>(ctx); SPItemCtx cctx = *ictx; - if (reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->update) { - reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->update(object, ctx, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->update) { + reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->update(object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -320,8 +260,8 @@ static void sp_flowtspan_update(SPObject *object, SPCtx *ctx, unsigned int flags static void sp_flowtspan_modified(SPObject *object, guint flags) { - if (reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->modified) { - reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->modified(object, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->modified) { + reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->modified(object, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -347,15 +287,15 @@ static void sp_flowtspan_modified(SPObject *object, guint flags) static void sp_flowtspan_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr) { - if (reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->build) { - reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->build(object, doc, repr); + if (reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->build) { + reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->build(object, doc, repr); } } static void sp_flowtspan_set(SPObject *object, unsigned int key, const gchar *value) { - if (reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->set) { - reinterpret_cast<SPObjectClass *>(flowtspan_parent_class)->set(object, key, value); + if (reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->set) { + reinterpret_cast<SPObjectClass *>(sp_flowtspan_parent_class)->set(object, key, value); } } @@ -396,8 +336,8 @@ static Inkscape::XML::Node *sp_flowtspan_write(SPObject *object, Inkscape::XML:: } } - if (((SPObjectClass *) (flowtspan_parent_class))->write) { - ((SPObjectClass *) (flowtspan_parent_class))->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_flowtspan_parent_class))->write) { + ((SPObjectClass *) (sp_flowtspan_parent_class))->write(object, xml_doc, repr, flags); } return repr; @@ -408,35 +348,12 @@ static Inkscape::XML::Node *sp_flowtspan_write(SPObject *object, Inkscape::XML:: /* * */ - -GType -sp_flowpara_get_type (void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowparaClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowpara_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowpara), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowpara_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_ITEM, "SPFlowpara", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowpara, sp_flowpara, SP_TYPE_ITEM); static void sp_flowpara_class_init(SPFlowparaClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - flowpara_parent_class = reinterpret_cast<SPItemClass *>(g_type_class_ref(SP_TYPE_ITEM)); - sp_object_class->build = sp_flowpara_build; sp_object_class->set = sp_flowpara_set; sp_object_class->release = sp_flowpara_release; @@ -451,8 +368,8 @@ static void sp_flowpara_init (SPFlowpara */*group*/) static void sp_flowpara_release(SPObject *object) { - if (reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->release) { - reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->release(object); } } @@ -461,8 +378,8 @@ static void sp_flowpara_update(SPObject *object, SPCtx *ctx, unsigned int flags) SPItemCtx *ictx = reinterpret_cast<SPItemCtx *>(ctx); SPItemCtx cctx = *ictx; - if (reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->update) { - reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->update(object, ctx, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->update) { + reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->update(object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -495,8 +412,8 @@ static void sp_flowpara_update(SPObject *object, SPCtx *ctx, unsigned int flags) static void sp_flowpara_modified(SPObject *object, guint flags) { - if (reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->modified) { - reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->modified(object, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->modified) { + reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->modified(object, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -522,15 +439,15 @@ static void sp_flowpara_modified(SPObject *object, guint flags) static void sp_flowpara_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr) { - if (reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->build) { - reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->build(object, doc, repr); + if (reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->build) { + reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->build(object, doc, repr); } } static void sp_flowpara_set(SPObject *object, unsigned int key, const gchar *value) { - if (reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->set) { - reinterpret_cast<SPObjectClass *>(flowpara_parent_class)->set(object, key, value); + if (reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->set) { + reinterpret_cast<SPObjectClass *>(sp_flowpara_parent_class)->set(object, key, value); } } @@ -569,8 +486,8 @@ static Inkscape::XML::Node *sp_flowpara_write(SPObject *object, Inkscape::XML::D } } - if (((SPObjectClass *) (flowpara_parent_class))->write) { - ((SPObjectClass *) (flowpara_parent_class))->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_flowpara_parent_class))->write) { + ((SPObjectClass *) (sp_flowpara_parent_class))->write(object, xml_doc, repr, flags); } return repr; @@ -579,34 +496,12 @@ static Inkscape::XML::Node *sp_flowpara_write(SPObject *object, Inkscape::XML::D /* * */ - -GType sp_flowline_get_type(void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowlineClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowline_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowline), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowline_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_OBJECT, "SPFlowline", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowline, sp_flowline, SP_TYPE_OBJECT); static void sp_flowline_class_init(SPFlowlineClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - flowline_parent_class = reinterpret_cast<SPObjectClass *>(g_type_class_ref(SP_TYPE_OBJECT)); - sp_object_class->release = sp_flowline_release; sp_object_class->write = sp_flowline_write; sp_object_class->modified = sp_flowline_modified; @@ -618,15 +513,15 @@ static void sp_flowline_init(SPFlowline */*group*/) static void sp_flowline_release(SPObject *object) { - if (reinterpret_cast<SPObjectClass *>(flowline_parent_class)->release) { - reinterpret_cast<SPObjectClass *>(flowline_parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->release(object); } } static void sp_flowline_modified(SPObject *object, guint flags) { - if (reinterpret_cast<SPObjectClass *>(flowline_parent_class)->modified) { - reinterpret_cast<SPObjectClass *>(flowline_parent_class)->modified(object, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->modified) { + reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->modified(object, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -644,8 +539,8 @@ static Inkscape::XML::Node *sp_flowline_write(SPObject *object, Inkscape::XML::D } else { } - if (reinterpret_cast<SPObjectClass *>(flowline_parent_class)->write) { - reinterpret_cast<SPObjectClass *>(flowline_parent_class)->write(object, xml_doc, repr, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->write) { + reinterpret_cast<SPObjectClass *>(sp_flowline_parent_class)->write(object, xml_doc, repr, flags); } return repr; @@ -654,34 +549,12 @@ static Inkscape::XML::Node *sp_flowline_write(SPObject *object, Inkscape::XML::D /* * */ - -GType sp_flowregionbreak_get_type(void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowregionbreakClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowregionbreak_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowregionbreak), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowregionbreak_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_OBJECT, "SPFlowregionbreak", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowregionbreak, sp_flowregionbreak, SP_TYPE_OBJECT); static void sp_flowregionbreak_class_init(SPFlowregionbreakClass *klass) { SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - flowregionbreak_parent_class = reinterpret_cast<SPObjectClass *>(g_type_class_ref(SP_TYPE_OBJECT)); - sp_object_class->release = sp_flowregionbreak_release; sp_object_class->write = sp_flowregionbreak_write; sp_object_class->modified = sp_flowregionbreak_modified; @@ -693,15 +566,15 @@ static void sp_flowregionbreak_init(SPFlowregionbreak */*group*/) static void sp_flowregionbreak_release(SPObject *object) { - if (reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->release) { - reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->release(object); + if (reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->release) { + reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->release(object); } } static void sp_flowregionbreak_modified(SPObject *object, guint flags) { - if (reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->modified) { - reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->modified(object, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->modified) { + reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->modified(object, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -719,8 +592,8 @@ static Inkscape::XML::Node *sp_flowregionbreak_write(SPObject *object, Inkscape: } else { } - if (reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->write) { - reinterpret_cast<SPObjectClass *>(flowregionbreak_parent_class)->write(object, xml_doc, repr, flags); + if (reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->write) { + reinterpret_cast<SPObjectClass *>(sp_flowregionbreak_parent_class)->write(object, xml_doc, repr, flags); } return repr; diff --git a/src/sp-flowregion.cpp b/src/sp-flowregion.cpp index 649193c33..a8de68f9b 100644 --- a/src/sp-flowregion.cpp +++ b/src/sp-flowregion.cpp @@ -24,8 +24,6 @@ #include "livarot/Path.h" #include "livarot/Shape.h" -static void sp_flowregion_class_init (SPFlowregionClass *klass); -static void sp_flowregion_init (SPFlowregion *group); static void sp_flowregion_dispose (GObject *object); static void sp_flowregion_child_added (SPObject * object, Inkscape::XML::Node * child, Inkscape::XML::Node * ref); @@ -36,10 +34,8 @@ static Inkscape::XML::Node *sp_flowregion_write (SPObject *object, Inkscape::XML static gchar * sp_flowregion_description (SPItem * item); -static SPItemClass * flowregion_parent_class; +G_DEFINE_TYPE(SPFlowregion, sp_flowregion, SP_TYPE_ITEM); -static void sp_flowregionexclude_class_init (SPFlowregionExcludeClass *klass); -static void sp_flowregionexclude_init (SPFlowregionExclude *group); static void sp_flowregionexclude_dispose (GObject *object); static void sp_flowregionexclude_child_added (SPObject * object, Inkscape::XML::Node * child, Inkscape::XML::Node * ref); @@ -50,33 +46,9 @@ static Inkscape::XML::Node *sp_flowregionexclude_write (SPObject *object, Inksca static gchar * sp_flowregionexclude_description (SPItem * item); -static SPItemClass * flowregionexclude_parent_class; - static void GetDest(SPObject* child,Shape **computed); -GType -sp_flowregion_get_type (void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowregionClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowregion_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowregion), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowregion_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_ITEM, "SPFlowregion", &group_info, (GTypeFlags)0); - } - return group_type; -} - static void sp_flowregion_class_init (SPFlowregionClass *klass) { @@ -88,8 +60,6 @@ sp_flowregion_class_init (SPFlowregionClass *klass) sp_object_class = (SPObjectClass *) klass; item_class = (SPItemClass *) klass; - flowregion_parent_class = (SPItemClass *)g_type_class_ref (SP_TYPE_ITEM); - object_class->dispose = sp_flowregion_dispose; sp_object_class->child_added = sp_flowregion_child_added; @@ -120,8 +90,8 @@ static void sp_flowregion_child_added(SPObject *object, Inkscape::XML::Node *chi { SP_ITEM(object); - if (((SPObjectClass *) (flowregion_parent_class))->child_added) { - (* ((SPObjectClass *) (flowregion_parent_class))->child_added) (object, child, ref); + if (((SPObjectClass *) (sp_flowregion_parent_class))->child_added) { + (* ((SPObjectClass *) (sp_flowregion_parent_class))->child_added) (object, child, ref); } object->requestModified(SP_OBJECT_MODIFIED_FLAG); @@ -132,8 +102,8 @@ static void sp_flowregion_child_added(SPObject *object, Inkscape::XML::Node *chi static void sp_flowregion_remove_child (SPObject * object, Inkscape::XML::Node * child) { - if (((SPObjectClass *) (flowregion_parent_class))->remove_child) - (* ((SPObjectClass *) (flowregion_parent_class))->remove_child) (object, child); + if (((SPObjectClass *) (sp_flowregion_parent_class))->remove_child) + (* ((SPObjectClass *) (sp_flowregion_parent_class))->remove_child) (object, child); object->requestModified(SP_OBJECT_MODIFIED_FLAG); } @@ -146,8 +116,8 @@ static void sp_flowregion_update(SPObject *object, SPCtx *ctx, unsigned int flag SPItemCtx *ictx = reinterpret_cast<SPItemCtx *>(ctx); SPItemCtx cctx = *ictx; - if (((SPObjectClass *) (flowregion_parent_class))->update) { - ((SPObjectClass *) (flowregion_parent_class))->update (object, ctx, flags); + if (((SPObjectClass *) (sp_flowregion_parent_class))->update) { + ((SPObjectClass *) (sp_flowregion_parent_class))->update (object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -250,8 +220,8 @@ static Inkscape::XML::Node *sp_flowregion_write(SPObject *object, Inkscape::XML: } } - if (((SPObjectClass *) (flowregion_parent_class))->write) { - ((SPObjectClass *) (flowregion_parent_class))->write (object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_flowregion_parent_class))->write) { + ((SPObjectClass *) (sp_flowregion_parent_class))->write (object, xml_doc, repr, flags); } return repr; @@ -268,27 +238,7 @@ static gchar *sp_flowregion_description(SPItem */*item*/) * */ -GType -sp_flowregionexclude_get_type (void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPFlowregionExcludeClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_flowregionexclude_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPFlowregionExclude), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_flowregionexclude_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_ITEM, "SPFlowregionExclude", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPFlowregionExclude, sp_flowregionexclude, SP_TYPE_ITEM); static void sp_flowregionexclude_class_init (SPFlowregionExcludeClass *klass) @@ -301,8 +251,6 @@ sp_flowregionexclude_class_init (SPFlowregionExcludeClass *klass) sp_object_class = (SPObjectClass *) klass; item_class = (SPItemClass *) klass; - flowregionexclude_parent_class = (SPItemClass *)g_type_class_ref (SP_TYPE_ITEM); - object_class->dispose = sp_flowregionexclude_dispose; sp_object_class->child_added = sp_flowregionexclude_child_added; @@ -334,8 +282,8 @@ static void sp_flowregionexclude_child_added(SPObject *object, Inkscape::XML::No { SP_ITEM(object); - if (((SPObjectClass *) (flowregionexclude_parent_class))->child_added) { - (* ((SPObjectClass *) (flowregionexclude_parent_class))->child_added) (object, child, ref); + if (((SPObjectClass *) (sp_flowregionexclude_parent_class))->child_added) { + (* ((SPObjectClass *) (sp_flowregionexclude_parent_class))->child_added) (object, child, ref); } object->requestModified(SP_OBJECT_MODIFIED_FLAG); @@ -346,8 +294,8 @@ static void sp_flowregionexclude_child_added(SPObject *object, Inkscape::XML::No static void sp_flowregionexclude_remove_child (SPObject * object, Inkscape::XML::Node * child) { - if (((SPObjectClass *) (flowregionexclude_parent_class))->remove_child) - (* ((SPObjectClass *) (flowregionexclude_parent_class))->remove_child) (object, child); + if (((SPObjectClass *) (sp_flowregionexclude_parent_class))->remove_child) + (* ((SPObjectClass *) (sp_flowregionexclude_parent_class))->remove_child) (object, child); object->requestModified(SP_OBJECT_MODIFIED_FLAG); } @@ -360,8 +308,8 @@ static void sp_flowregionexclude_update(SPObject *object, SPCtx *ctx, unsigned i SPItemCtx *ictx = reinterpret_cast<SPItemCtx *>(ctx); SPItemCtx cctx = *ictx; - if (((SPObjectClass *) (flowregionexclude_parent_class))->update) { - ((SPObjectClass *) (flowregionexclude_parent_class))->update (object, ctx, flags); + if (((SPObjectClass *) (sp_flowregionexclude_parent_class))->update) { + ((SPObjectClass *) (sp_flowregionexclude_parent_class))->update (object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -458,8 +406,8 @@ static Inkscape::XML::Node *sp_flowregionexclude_write(SPObject *object, Inkscap } } - if (((SPObjectClass *) (flowregionexclude_parent_class))->write) { - ((SPObjectClass *) (flowregionexclude_parent_class))->write (object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_flowregionexclude_parent_class))->write) { + ((SPObjectClass *) (sp_flowregionexclude_parent_class))->write (object, xml_doc, repr, flags); } return repr; diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp index de2c79ec6..4df20b439 100644 --- a/src/sp-item-group.cpp +++ b/src/sp-item-group.cpp @@ -53,8 +53,6 @@ using Inkscape::DocumentUndo; -static void sp_group_class_init (SPGroupClass *klass); -static void sp_group_init (SPGroup *group); static void sp_group_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_group_release(SPObject *object); static void sp_group_dispose(GObject *object); @@ -77,29 +75,7 @@ static void sp_group_snappoints (SPItem const *item, std::vector<Inkscape::SnapC static void sp_group_update_patheffect(SPLPEItem *lpeitem, bool write); static void sp_group_perform_patheffect(SPGroup *group, SPGroup *topgroup, bool write); -static SPLPEItemClass * parent_class; - -GType -sp_group_get_type (void) -{ - static GType group_type = 0; - if (!group_type) { - GTypeInfo group_info = { - sizeof (SPGroupClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_group_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPGroup), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_group_init, - NULL, /* value_table */ - }; - group_type = g_type_register_static (SP_TYPE_LPE_ITEM, "SPGroup", &group_info, (GTypeFlags)0); - } - return group_type; -} +G_DEFINE_TYPE(SPGroup, sp_group, SP_TYPE_LPE_ITEM); static void sp_group_class_init (SPGroupClass *klass) @@ -114,8 +90,6 @@ sp_group_class_init (SPGroupClass *klass) item_class = (SPItemClass *) klass; lpe_item_class = (SPLPEItemClass *) klass; - parent_class = (SPLPEItemClass *)g_type_class_ref (SP_TYPE_LPE_ITEM); - object_class->dispose = sp_group_dispose; sp_object_class->child_added = sp_group_child_added; @@ -150,8 +124,8 @@ static void sp_group_build(SPObject *object, SPDocument *document, Inkscape::XML { object->readAttr( "inkscape:groupmode" ); - if (((SPObjectClass *)parent_class)->build) { - ((SPObjectClass *)parent_class)->build(object, document, repr); + if (((SPObjectClass *)sp_group_parent_class)->build) { + ((SPObjectClass *)sp_group_parent_class)->build(object, document, repr); } } @@ -159,8 +133,8 @@ static void sp_group_release(SPObject *object) { if ( SP_GROUP(object)->_layer_mode == SPGroup::LAYER ) { object->document->removeResource("layer", object); } - if (((SPObjectClass *)parent_class)->release) { - ((SPObjectClass *)parent_class)->release(object); + if (((SPObjectClass *)sp_group_parent_class)->release) { + ((SPObjectClass *)sp_group_parent_class)->release(object); } } @@ -175,8 +149,8 @@ static void sp_group_child_added(SPObject *object, Inkscape::XML::Node *child, I { SPGroup *group = SP_GROUP(object); - if (((SPObjectClass *) (parent_class))->child_added) { - (* ((SPObjectClass *) (parent_class))->child_added) (object, child, ref); + if (((SPObjectClass *) (sp_group_parent_class))->child_added) { + (* ((SPObjectClass *) (sp_group_parent_class))->child_added) (object, child, ref); } group->group->onChildAdded(child); @@ -187,8 +161,8 @@ static void sp_group_child_added(SPObject *object, Inkscape::XML::Node *child, I static void sp_group_remove_child (SPObject * object, Inkscape::XML::Node * child) { - if (((SPObjectClass *) (parent_class))->remove_child) - (* ((SPObjectClass *) (parent_class))->remove_child) (object, child); + if (((SPObjectClass *) (sp_group_parent_class))->remove_child) + (* ((SPObjectClass *) (sp_group_parent_class))->remove_child) (object, child); SP_GROUP(object)->group->onChildRemoved(child); } @@ -196,8 +170,8 @@ sp_group_remove_child (SPObject * object, Inkscape::XML::Node * child) static void sp_group_order_changed (SPObject *object, Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) { - if (((SPObjectClass *) (parent_class))->order_changed) - (* ((SPObjectClass *) (parent_class))->order_changed) (object, child, old_ref, new_ref); + if (((SPObjectClass *) (sp_group_parent_class))->order_changed) + (* ((SPObjectClass *) (sp_group_parent_class))->order_changed) (object, child, old_ref, new_ref); SP_GROUP(object)->group->onOrderChanged(child, old_ref, new_ref); } @@ -205,8 +179,8 @@ sp_group_order_changed (SPObject *object, Inkscape::XML::Node *child, Inkscape:: static void sp_group_update (SPObject *object, SPCtx *ctx, unsigned int flags) { - if (((SPObjectClass *) (parent_class))->update) - ((SPObjectClass *) (parent_class))->update (object, ctx, flags); + if (((SPObjectClass *) (sp_group_parent_class))->update) + ((SPObjectClass *) (sp_group_parent_class))->update (object, ctx, flags); SP_GROUP(object)->group->onUpdate(ctx, flags); } @@ -214,8 +188,8 @@ sp_group_update (SPObject *object, SPCtx *ctx, unsigned int flags) static void sp_group_modified (SPObject *object, guint flags) { - if (((SPObjectClass *) (parent_class))->modified) - ((SPObjectClass *) (parent_class))->modified (object, flags); + if (((SPObjectClass *) (sp_group_parent_class))->modified) + ((SPObjectClass *) (sp_group_parent_class))->modified (object, flags); SP_GROUP(object)->group->onModified(flags); } @@ -269,8 +243,8 @@ static Inkscape::XML::Node * sp_group_write(SPObject *object, Inkscape::XML::Doc repr->setAttribute("inkscape:groupmode", value); } - if (((SPObjectClass *) (parent_class))->write) { - ((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_group_parent_class))->write) { + ((SPObjectClass *) (sp_group_parent_class))->write (object, xml_doc, repr, flags); } return repr; @@ -307,8 +281,8 @@ static void sp_group_set(SPObject *object, unsigned key, char const *value) { } break; default: { - if (((SPObjectClass *) (parent_class))->set) { - (* ((SPObjectClass *) (parent_class))->set)(object, key, value); + if (((SPObjectClass *) (sp_group_parent_class))->set) { + (* ((SPObjectClass *) (sp_group_parent_class))->set)(object, key, value); } } } @@ -787,8 +761,8 @@ void CGroup::hide (unsigned int key) { l = g_slist_remove (l, o); } - if (((SPItemClass *) parent_class)->hide) - ((SPItemClass *) parent_class)->hide (_group, key); + if (((SPItemClass *) sp_group_parent_class)->hide) + ((SPItemClass *) sp_group_parent_class)->hide (_group, key); } void CGroup::onOrderChanged (Inkscape::XML::Node *child, Inkscape::XML::Node *, Inkscape::XML::Node *) diff --git a/src/sp-root.cpp b/src/sp-root.cpp index 393c70895..e9ae6dff4 100644 --- a/src/sp-root.cpp +++ b/src/sp-root.cpp @@ -31,11 +31,6 @@ #include "svg/svg.h" #include "xml/repr.h" -class SPDesktop; - -static void sp_root_class_init(SPRootClass *klass); -static void sp_root_init(SPRoot *root); - static void sp_root_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_root_release(SPObject *object); static void sp_root_set(SPObject *object, unsigned int key, gchar const *value); @@ -48,29 +43,7 @@ static Inkscape::XML::Node *sp_root_write(SPObject *object, Inkscape::XML::Docum static Inkscape::DrawingItem *sp_root_show(SPItem *item, Inkscape::Drawing &drawing, unsigned int key, unsigned int flags); static void sp_root_print(SPItem *item, SPPrintContext *ctx); -static SPGroupClass *parent_class; - -/** - * Returns the type info of sp_root, including its class sizes and initialization routines. - */ -GType sp_root_get_type(void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPRootClass), - NULL, NULL, - (GClassInitFunc) sp_root_class_init, - NULL, NULL, - sizeof(SPRoot), - 16, - (GInstanceInitFunc) sp_root_init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_GROUP, "SPRoot", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPRoot, sp_root, SP_TYPE_GROUP); /** * Initializes an SPRootClass object by setting its class and parent class objects, and registering @@ -81,8 +54,6 @@ static void sp_root_class_init(SPRootClass *klass) SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); SPItemClass *sp_item_class = reinterpret_cast<SPItemClass *>(klass); - parent_class = reinterpret_cast<SPGroupClass *>(g_type_class_ref(SP_TYPE_GROUP)); - sp_object_class->build = sp_root_build; sp_object_class->release = sp_root_release; sp_object_class->set = sp_root_set; @@ -147,8 +118,8 @@ static void sp_root_build(SPObject *object, SPDocument *document, Inkscape::XML: object->readAttr( "preserveAspectRatio" ); object->readAttr( "onload" ); - if (((SPObjectClass *) parent_class)->build) - (* ((SPObjectClass *) parent_class)->build) (object, document, repr); + if (((SPObjectClass *) sp_root_parent_class)->build) + (* ((SPObjectClass *) sp_root_parent_class)->build) (object, document, repr); // Search for first <defs> node for (SPObject *o = group->firstChild() ; o ; o = o->getNext() ) { @@ -171,8 +142,8 @@ static void sp_root_release(SPObject *object) SPRoot *root = (SPRoot *) object; root->defs = NULL; - if (((SPObjectClass *) parent_class)->release) - ((SPObjectClass *) parent_class)->release(object); + if (((SPObjectClass *) sp_root_parent_class)->release) + ((SPObjectClass *) sp_root_parent_class)->release(object); } /** @@ -315,8 +286,8 @@ static void sp_root_set(SPObject *object, unsigned int key, gchar const *value) break; default: /* Pass the set event to the parent */ - if (((SPObjectClass *) parent_class)->set) { - ((SPObjectClass *) parent_class)->set(object, key, value); + if (((SPObjectClass *) sp_root_parent_class)->set) { + ((SPObjectClass *) sp_root_parent_class)->set(object, key, value); } break; } @@ -331,8 +302,8 @@ static void sp_root_child_added(SPObject *object, Inkscape::XML::Node *child, In SPRoot *root = (SPRoot *) object; SPGroup *group = (SPGroup *) object; - if (((SPObjectClass *) (parent_class))->child_added) { - (* ((SPObjectClass *) (parent_class))->child_added)(object, child, ref); + if (((SPObjectClass *) (sp_root_parent_class))->child_added) { + (* ((SPObjectClass *) (sp_root_parent_class))->child_added)(object, child, ref); } SPObject *co = object->document->getObjectByRepr(child); @@ -371,8 +342,8 @@ static void sp_root_remove_child(SPObject *object, Inkscape::XML::Node *child) } } - if (((SPObjectClass *) (parent_class))->remove_child) { - (* ((SPObjectClass *) (parent_class))->remove_child)(object, child); + if (((SPObjectClass *) (sp_root_parent_class))->remove_child) { + (* ((SPObjectClass *) (sp_root_parent_class))->remove_child)(object, child); } } @@ -508,8 +479,8 @@ static void sp_root_update(SPObject *object, SPCtx *ctx, guint flags) rctx.i2vp = Geom::identity(); /* And invoke parent method */ - if (((SPObjectClass *) (parent_class))->update) - ((SPObjectClass *) (parent_class))->update(object, (SPCtx *) &rctx, flags); + if (((SPObjectClass *) (sp_root_parent_class))->update) + ((SPObjectClass *) (sp_root_parent_class))->update(object, (SPCtx *) &rctx, flags); /* As last step set additional transform of drawing group */ for (SPItemView *v = root->display; v != NULL; v = v->next) { @@ -527,8 +498,8 @@ static void sp_root_modified(SPObject *object, guint flags) { SPRoot *root = SP_ROOT(object); - if (((SPObjectClass *) (parent_class))->modified) - (* ((SPObjectClass *) (parent_class))->modified)(object, flags); + if (((SPObjectClass *) (sp_root_parent_class))->modified) + (* ((SPObjectClass *) (sp_root_parent_class))->modified)(object, flags); /* fixme: (Lauris) */ if (!object->parent && (flags & SP_OBJECT_VIEWPORT_MODIFIED_FLAG)) { @@ -576,8 +547,8 @@ sp_root_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML: repr->setAttribute("viewBox", os.str().c_str()); } - if (((SPObjectClass *) (parent_class))->write) - ((SPObjectClass *) (parent_class))->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_root_parent_class))->write) + ((SPObjectClass *) (sp_root_parent_class))->write(object, xml_doc, repr, flags); return repr; } @@ -591,8 +562,8 @@ sp_root_show(SPItem *item, Inkscape::Drawing &drawing, unsigned int key, unsigne SPRoot *root = SP_ROOT(item); Inkscape::DrawingItem *ai; - if (((SPItemClass *) (parent_class))->show) { - ai = ((SPItemClass *) (parent_class))->show(item, drawing, key, flags); + if (((SPItemClass *) (sp_root_parent_class))->show) { + ai = ((SPItemClass *) (sp_root_parent_class))->show(item, drawing, key, flags); if (ai) { Inkscape::DrawingGroup *g = dynamic_cast<Inkscape::DrawingGroup *>(ai); g->setChildTransform(root->c2p); @@ -613,8 +584,8 @@ static void sp_root_print(SPItem *item, SPPrintContext *ctx) sp_print_bind(ctx, root->c2p, 1.0); - if (((SPItemClass *) (parent_class))->print) { - ((SPItemClass *) (parent_class))->print(item, ctx); + if (((SPItemClass *) (sp_root_parent_class))->print) { + ((SPItemClass *) (sp_root_parent_class))->print(item, ctx); } sp_print_release(ctx); diff --git a/src/sp-skeleton.cpp b/src/sp-skeleton.cpp index 8910613f3..b0f5bc91f 100644 --- a/src/sp-skeleton.cpp +++ b/src/sp-skeleton.cpp @@ -39,47 +39,19 @@ #endif /* Skeleton base class */ - -static void sp_skeleton_class_init(SPSkeletonClass *klass); -static void sp_skeleton_init(SPSkeleton *skeleton); - static void sp_skeleton_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_skeleton_release(SPObject *object); static void sp_skeleton_set(SPObject *object, unsigned int key, gchar const *value); static void sp_skeleton_update(SPObject *object, SPCtx *ctx, guint flags); static Inkscape::XML::Node *sp_skeleton_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); -static SPObjectClass *skeleton_parent_class; - -GType -sp_skeleton_get_type() -{ - static GType skeleton_type = 0; - - if (!skeleton_type) { - GTypeInfo skeleton_info = { - sizeof(SPSkeletonClass), - NULL, NULL, - (GClassInitFunc) sp_skeleton_class_init, - NULL, NULL, - sizeof(SPSkeleton), - 16, - (GInstanceInitFunc) sp_skeleton_init, - NULL, /* value_table */ - }; - skeleton_type = g_type_register_static(SP_TYPE_OBJECT, "SPSkeleton", &skeleton_info, (GTypeFlags)0); - } - return skeleton_type; -} +G_DEFINE_TYPE(SPSkeleton, sp_skeleton, SP_TYPE_OBJECT); static void sp_skeleton_class_init(SPSkeletonClass *klass) { - //GObjectClass *gobject_class = (GObjectClass *)klass; SPObjectClass *sp_object_class = (SPObjectClass *)klass; - skeleton_parent_class = (SPObjectClass*)g_type_class_peek_parent(klass); - sp_object_class->build = sp_skeleton_build; sp_object_class->release = sp_skeleton_release; sp_object_class->write = sp_skeleton_write; @@ -102,8 +74,8 @@ static void sp_skeleton_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) { debug("0x%p",object); - if (((SPObjectClass *) skeleton_parent_class)->build) { - ((SPObjectClass *) skeleton_parent_class)->build(object, document, repr); + if (((SPObjectClass *) sp_skeleton_parent_class)->build) { + ((SPObjectClass *) sp_skeleton_parent_class)->build(object, document, repr); } /* @@ -134,8 +106,8 @@ sp_skeleton_release(SPObject *object) /* deal with our children and our selves here */ - if (((SPObjectClass *) skeleton_parent_class)->release) - ((SPObjectClass *) skeleton_parent_class)->release(object); + if (((SPObjectClass *) sp_skeleton_parent_class)->release) + ((SPObjectClass *) sp_skeleton_parent_class)->release(object); } /** @@ -149,8 +121,8 @@ sp_skeleton_set(SPObject *object, unsigned int key, gchar const *value) //SPSkeleton *skeleton = SP_SKELETON(object); /* See if any parents need this value. */ - if (((SPObjectClass *) skeleton_parent_class)->set) { - ((SPObjectClass *) skeleton_parent_class)->set(object, key, value); + if (((SPObjectClass *) sp_skeleton_parent_class)->set) { + ((SPObjectClass *) sp_skeleton_parent_class)->set(object, key, value); } } @@ -170,8 +142,8 @@ sp_skeleton_update(SPObject *object, SPCtx *ctx, guint flags) } - if (((SPObjectClass *) skeleton_parent_class)->update) { - ((SPObjectClass *) skeleton_parent_class)->update(object, ctx, flags); + if (((SPObjectClass *) sp_skeleton_parent_class)->update) { + ((SPObjectClass *) sp_skeleton_parent_class)->update(object, ctx, flags); } } @@ -194,8 +166,8 @@ sp_skeleton_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML: } } - if (((SPObjectClass *) skeleton_parent_class)->write) { - ((SPObjectClass *) skeleton_parent_class)->write(object, doc, repr, flags); + if (((SPObjectClass *) sp_skeleton_parent_class)->write) { + ((SPObjectClass *) sp_skeleton_parent_class)->write(object, doc, repr, flags); } return repr; diff --git a/src/sp-spiral.cpp b/src/sp-spiral.cpp index fd2672388..43e552d68 100644 --- a/src/sp-spiral.cpp +++ b/src/sp-spiral.cpp @@ -28,9 +28,6 @@ #include "sp-spiral.h" -static void sp_spiral_class_init (SPSpiralClass *klass); -static void sp_spiral_init (SPSpiral *spiral); - static void sp_spiral_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr); static Inkscape::XML::Node *sp_spiral_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_spiral_set (SPObject *object, unsigned int key, const gchar *value); @@ -44,33 +41,7 @@ static void sp_spiral_update_patheffect (SPLPEItem *lpeitem, bool write); static Geom::Point sp_spiral_get_tangent (SPSpiral const *spiral, gdouble t); -static SPShapeClass *parent_class; - -/** - * Register SPSpiral class and return its type number. - */ -GType -sp_spiral_get_type (void) -{ - static GType spiral_type = 0; - - if (!spiral_type) { - GTypeInfo spiral_info = { - sizeof (SPSpiralClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_spiral_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (SPSpiral), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_spiral_init, - NULL, /* value_table */ - }; - spiral_type = g_type_register_static (SP_TYPE_SHAPE, "SPSpiral", &spiral_info, (GTypeFlags)0); - } - return spiral_type; -} +G_DEFINE_TYPE(SPSpiral, sp_spiral, SP_TYPE_SHAPE); /** * SPSpiral vtable initialization. @@ -82,8 +53,6 @@ static void sp_spiral_class_init(SPSpiralClass *klass) SPLPEItemClass *lpe_item_class = reinterpret_cast<SPLPEItemClass *>(klass); SPShapeClass *shape_class = reinterpret_cast<SPShapeClass *>(klass); - parent_class = reinterpret_cast<SPShapeClass *>(g_type_class_ref(SP_TYPE_SHAPE)); - sp_object_class->build = sp_spiral_build; sp_object_class->write = sp_spiral_write; sp_object_class->set = sp_spiral_set; @@ -117,8 +86,8 @@ sp_spiral_init (SPSpiral * spiral) */ static void sp_spiral_build(SPObject * object, SPDocument * document, Inkscape::XML::Node * repr) { - if (reinterpret_cast<SPObjectClass *>(parent_class)->build) { - reinterpret_cast<SPObjectClass *>(parent_class)->build(object, document, repr); + if (reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->build) { + reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->build(object, document, repr); } object->readAttr( "sodipodi:cx" ); @@ -168,8 +137,8 @@ sp_spiral_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::X repr->setAttribute("d", d); g_free (d); - if (reinterpret_cast<SPObjectClass *>(parent_class)->write) { - reinterpret_cast<SPObjectClass *>(parent_class)->write(object, xml_doc, repr, flags | SP_SHAPE_WRITE_PATH); + if (reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->write) { + reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->write(object, xml_doc, repr, flags | SP_SHAPE_WRITE_PATH); } return repr; @@ -260,8 +229,8 @@ static void sp_spiral_set(SPObject *object, unsigned int key, const gchar *value object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); break; default: - if (reinterpret_cast<SPObjectClass *>(parent_class)->set) { - reinterpret_cast<SPObjectClass *>(parent_class)->set(object, key, value); + if (reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->set) { + reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->set(object, key, value); } break; } @@ -276,8 +245,8 @@ static void sp_spiral_update(SPObject *object, SPCtx *ctx, guint flags) reinterpret_cast<SPShape *>(object)->setShape(); } - if (reinterpret_cast<SPObjectClass *>(parent_class)->update) { - reinterpret_cast<SPObjectClass *>(parent_class)->update(object, ctx, flags); + if (reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->update) { + reinterpret_cast<SPObjectClass *>(sp_spiral_parent_class)->update(object, ctx, flags); } } @@ -510,8 +479,8 @@ static void sp_spiral_snappoints(SPItem const *item, std::vector<Inkscape::SnapC Inkscape::SnapPreferences local_snapprefs = *snapprefs; local_snapprefs.setTargetSnappable(Inkscape::SNAPTARGET_OBJECT_MIDPOINT, false); - if ((reinterpret_cast<SPItemClass *>(parent_class))->snappoints) { - (reinterpret_cast<SPItemClass *>(parent_class))->snappoints (item, p, &local_snapprefs); + if ((reinterpret_cast<SPItemClass *>(sp_spiral_parent_class))->snappoints) { + (reinterpret_cast<SPItemClass *>(sp_spiral_parent_class))->snappoints (item, p, &local_snapprefs); } if (snapprefs->isTargetSnappable(Inkscape::SNAPTARGET_OBJECT_MIDPOINT)) { diff --git a/src/sp-star.cpp b/src/sp-star.cpp index 08de1732b..af2420340 100644 --- a/src/sp-star.cpp +++ b/src/sp-star.cpp @@ -32,9 +32,6 @@ #include "sp-star.h" -static void sp_star_class_init (SPStarClass *klass); -static void sp_star_init (SPStar *star); - static void sp_star_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr); static Inkscape::XML::Node *sp_star_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags); static void sp_star_set (SPObject *object, unsigned int key, const gchar *value); @@ -46,37 +43,14 @@ static void sp_star_snappoints(SPItem const *item, std::vector<Inkscape::SnapCan static void sp_star_set_shape (SPShape *shape); static void sp_star_update_patheffect (SPLPEItem *lpeitem, bool write); -static SPShapeClass *parent_class; - -GType -sp_star_get_type (void) -{ - static GType type = 0; - - if (!type) { - GTypeInfo info = { - sizeof (SPStarClass), - NULL, NULL, - (GClassInitFunc) sp_star_class_init, - NULL, NULL, - sizeof (SPStar), - 16, - (GInstanceInitFunc) sp_star_init, - NULL, /* value_table */ - }; - type = g_type_register_static (SP_TYPE_SHAPE, "SPStar", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPStar, sp_star, SP_TYPE_SHAPE); static void sp_star_class_init(SPStarClass *klass) { - SPObjectClass *sp_object_class = reinterpret_cast<SPObjectClass *>(klass); - SPItemClass *item_class = reinterpret_cast<SPItemClass *>(klass); - SPLPEItemClass *lpe_item_class = reinterpret_cast<SPLPEItemClass *>(klass); - SPShapeClass *shape_class = reinterpret_cast<SPShapeClass *>(klass); - - parent_class = reinterpret_cast<SPShapeClass *>(g_type_class_ref(SP_TYPE_SHAPE)); + SPObjectClass *sp_object_class = SP_OBJECT_CLASS(klass); + SPItemClass *item_class = SP_ITEM_CLASS(klass); + SPLPEItemClass *lpe_item_class = SP_LPE_ITEM_CLASS(klass); + SPShapeClass *shape_class = SP_SHAPE_CLASS(klass); sp_object_class->build = sp_star_build; sp_object_class->write = sp_star_write; @@ -107,8 +81,8 @@ sp_star_init (SPStar * star) static void sp_star_build (SPObject * object, SPDocument * document, Inkscape::XML::Node * repr) { - if (((SPObjectClass *) parent_class)->build) - ((SPObjectClass *) parent_class)->build (object, document, repr); + if (((SPObjectClass *) sp_star_parent_class)->build) + ((SPObjectClass *) sp_star_parent_class)->build (object, document, repr); object->readAttr( "sodipodi:cx" ); object->readAttr( "sodipodi:cy" ); @@ -150,8 +124,8 @@ sp_star_write (SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML repr->setAttribute("d", d); g_free (d); - if (((SPObjectClass *) (parent_class))->write) - ((SPObjectClass *) (parent_class))->write (object, xml_doc, repr, flags); + if (((SPObjectClass *) (sp_star_parent_class))->write) + ((SPObjectClass *) (sp_star_parent_class))->write (object, xml_doc, repr, flags); return repr; } @@ -250,8 +224,8 @@ sp_star_set (SPObject *object, unsigned int key, const gchar *value) object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); break; default: - if (((SPObjectClass *) parent_class)->set) - ((SPObjectClass *) parent_class)->set (object, key, value); + if (((SPObjectClass *) sp_star_parent_class)->set) + ((SPObjectClass *) sp_star_parent_class)->set (object, key, value); break; } } @@ -265,8 +239,8 @@ sp_star_update (SPObject *object, SPCtx *ctx, guint flags) ((SPShape *) object)->setShape (); } - if (((SPObjectClass *) parent_class)->update) - ((SPObjectClass *) parent_class)->update (object, ctx, flags); + if (((SPObjectClass *) sp_star_parent_class)->update) + ((SPObjectClass *) sp_star_parent_class)->update (object, ctx, flags); } static void @@ -544,8 +518,8 @@ static void sp_star_snappoints(SPItem const *item, std::vector<Inkscape::SnapCan Inkscape::SnapPreferences local_snapprefs = *snapprefs; local_snapprefs.setTargetSnappable(Inkscape::SNAPTARGET_OBJECT_MIDPOINT, false); - if (((SPItemClass *) parent_class)->snappoints) { - ((SPItemClass *) parent_class)->snappoints (item, p, &local_snapprefs); + if (((SPItemClass *) sp_star_parent_class)->snappoints) { + ((SPItemClass *) sp_star_parent_class)->snappoints (item, p, &local_snapprefs); } if (snapprefs->isTargetSnappable(Inkscape::SNAPTARGET_OBJECT_MIDPOINT)) { diff --git a/src/sp-string.cpp b/src/sp-string.cpp index 3512aa45a..2fe84ac6a 100644 --- a/src/sp-string.cpp +++ b/src/sp-string.cpp @@ -37,37 +37,12 @@ # SPSTRING #####################################################*/ -static void sp_string_class_init(SPStringClass *classname); -static void sp_string_init(SPString *string); - static void sp_string_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); static void sp_string_release(SPObject *object); static void sp_string_read_content(SPObject *object); static void sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags); -static SPObjectClass *string_parent_class; - -GType -sp_string_get_type() -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof(SPStringClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) sp_string_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof(SPString), - 16, /* n_preallocs */ - (GInstanceInitFunc) sp_string_init, - NULL, /* value_table */ - }; - type = g_type_register_static(SP_TYPE_OBJECT, "SPString", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPString, sp_string, SP_TYPE_OBJECT); static void sp_string_class_init(SPStringClass *classname) @@ -76,8 +51,6 @@ sp_string_class_init(SPStringClass *classname) sp_object_class = (SPObjectClass *) classname; - string_parent_class = (SPObjectClass*)g_type_class_ref(SP_TYPE_OBJECT); - sp_object_class->build = sp_string_build; sp_object_class->release = sp_string_release; sp_object_class->read_content = sp_string_read_content; @@ -95,8 +68,8 @@ sp_string_build(SPObject *object, SPDocument *doc, Inkscape::XML::Node *repr) { sp_string_read_content(object); - if (((SPObjectClass *) string_parent_class)->build) - ((SPObjectClass *) string_parent_class)->build(object, doc, repr); + if (((SPObjectClass *) sp_string_parent_class)->build) + ((SPObjectClass *) sp_string_parent_class)->build(object, doc, repr); } static void @@ -106,8 +79,8 @@ sp_string_release(SPObject *object) string->string.~ustring(); - if (((SPObjectClass *) string_parent_class)->release) - ((SPObjectClass *) string_parent_class)->release(object); + if (((SPObjectClass *) sp_string_parent_class)->release) + ((SPObjectClass *) sp_string_parent_class)->release(object); } static void @@ -156,8 +129,8 @@ sp_string_read_content(SPObject *object) static void sp_string_update(SPObject *object, SPCtx *ctx, unsigned flags) { - if (((SPObjectClass *) string_parent_class)->update) - ((SPObjectClass *) string_parent_class)->update(object, ctx, flags); + if (((SPObjectClass *) sp_string_parent_class)->update) + ((SPObjectClass *) sp_string_parent_class)->update(object, ctx, flags); if (flags & (SP_OBJECT_STYLE_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG)) { /* Parent style or we ourselves changed, so recalculate */ diff --git a/src/sp-tref.cpp b/src/sp-tref.cpp index 938b7c7cc..deee590af 100644 --- a/src/sp-tref.cpp +++ b/src/sp-tref.cpp @@ -52,8 +52,6 @@ static void build_string_from_root(Inkscape::XML::Node *root, Glib::ustring *ret /* TRef base class */ -static void sp_tref_class_init(SPTRefClass *tref_class); -static void sp_tref_init(SPTRef *tref); static void sp_tref_finalize(GObject *obj); static void sp_tref_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr); @@ -69,28 +67,7 @@ static gchar *sp_tref_description(SPItem *item); static void sp_tref_href_changed(SPObject *old_ref, SPObject *ref, SPTRef *tref); static void sp_tref_delete_self(SPObject *deleted, SPTRef *self); -static SPObjectClass *tref_parent_class; - -GType -sp_tref_get_type() -{ - static GType tref_type = 0; - - if (!tref_type) { - GTypeInfo tref_info = { - sizeof(SPTRefClass), - NULL, NULL, - (GClassInitFunc) sp_tref_class_init, - NULL, NULL, - sizeof(SPTRef), - 16, - (GInstanceInitFunc) sp_tref_init, - NULL, /* value_table */ - }; - tref_type = g_type_register_static(SP_TYPE_ITEM, "SPTRef", &tref_info, (GTypeFlags)0); - } - return tref_type; -} +G_DEFINE_TYPE(SPTRef, sp_tref, SP_TYPE_ITEM); static void sp_tref_class_init(SPTRefClass *tref_class) @@ -98,8 +75,6 @@ sp_tref_class_init(SPTRefClass *tref_class) GObjectClass *gobject_class = (GObjectClass *) tref_class; SPObjectClass *sp_object_class = (SPObjectClass *)tref_class; - tref_parent_class = (SPObjectClass*)g_type_class_peek_parent(tref_class); - sp_object_class->build = sp_tref_build; sp_object_class->release = sp_tref_release; sp_object_class->write = sp_tref_write; @@ -148,8 +123,8 @@ sp_tref_finalize(GObject *obj) static void sp_tref_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr) { - if (((SPObjectClass *) tref_parent_class)->build) { - ((SPObjectClass *) tref_parent_class)->build(object, document, repr); + if (((SPObjectClass *) sp_tref_parent_class)->build) { + ((SPObjectClass *) sp_tref_parent_class)->build(object, document, repr); } object->readAttr( "xlink:href" ); @@ -178,8 +153,8 @@ sp_tref_release(SPObject *object) tref->uriOriginalRef->detach(); - if (((SPObjectClass *) tref_parent_class)->release) - ((SPObjectClass *) tref_parent_class)->release(object); + if (((SPObjectClass *) sp_tref_parent_class)->release) + ((SPObjectClass *) sp_tref_parent_class)->release(object); } /** @@ -225,8 +200,8 @@ sp_tref_set(SPObject *object, unsigned int key, gchar const *value) } } else { // default - if (((SPObjectClass *) tref_parent_class)->set) { - ((SPObjectClass *) tref_parent_class)->set(object, key, value); + if (((SPObjectClass *) sp_tref_parent_class)->set) { + ((SPObjectClass *) sp_tref_parent_class)->set(object, key, value); } } @@ -243,8 +218,8 @@ sp_tref_update(SPObject *object, SPCtx *ctx, guint flags) SPTRef *tref = SP_TREF(object); - if (((SPObjectClass *) tref_parent_class)->update) { - ((SPObjectClass *) tref_parent_class)->update(object, ctx, flags); + if (((SPObjectClass *) sp_tref_parent_class)->update) { + ((SPObjectClass *) sp_tref_parent_class)->update(object, ctx, flags); } if (flags & SP_OBJECT_MODIFIED_FLAG) { @@ -307,8 +282,8 @@ sp_tref_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML: g_free(uri_string); } - if (((SPObjectClass *) tref_parent_class)->write) { - ((SPObjectClass *) tref_parent_class)->write(object, xml_doc, repr, flags); + if (((SPObjectClass *) sp_tref_parent_class)->write) { + ((SPObjectClass *) sp_tref_parent_class)->write(object, xml_doc, repr, flags); } return repr; diff --git a/src/star-context.cpp b/src/star-context.cpp index ae12e8c35..e2d6961f0 100644 --- a/src/star-context.cpp +++ b/src/star-context.cpp @@ -50,8 +50,6 @@ using Inkscape::DocumentUndo; -static void sp_star_context_class_init (SPStarContextClass * klass); -static void sp_star_context_init (SPStarContext * star_context); static void sp_star_context_dispose (GObject *object); static void sp_star_context_setup (SPEventContext *ec); @@ -63,27 +61,7 @@ static void sp_star_drag (SPStarContext * sc, Geom::Point p, guint state); static void sp_star_finish (SPStarContext * sc); static void sp_star_cancel(SPStarContext * sc); -static SPEventContextClass * parent_class; - -GType -sp_star_context_get_type (void) -{ - static GType type = 0; - if (!type) { - GTypeInfo info = { - sizeof (SPStarContextClass), - NULL, NULL, - (GClassInitFunc) sp_star_context_class_init, - NULL, NULL, - sizeof (SPStarContext), - 4, - (GInstanceInitFunc) sp_star_context_init, - NULL, /* value_table */ - }; - type = g_type_register_static (SP_TYPE_EVENT_CONTEXT, "SPStarContext", &info, (GTypeFlags)0); - } - return type; -} +G_DEFINE_TYPE(SPStarContext, sp_star_context, SP_TYPE_EVENT_CONTEXT); static void sp_star_context_class_init (SPStarContextClass * klass) @@ -91,8 +69,6 @@ sp_star_context_class_init (SPStarContextClass * klass) GObjectClass *object_class = G_OBJECT_CLASS(klass); SPEventContextClass *event_context_class = SP_EVENT_CONTEXT_CLASS(klass); - parent_class = SP_EVENT_CONTEXT_CLASS(g_type_class_peek_parent (klass)); - object_class->dispose = sp_star_context_dispose; event_context_class->setup = sp_star_context_setup; @@ -134,8 +110,8 @@ static void sp_star_context_finish(SPEventContext *ec) sp_star_finish(sc); sc->sel_changed_connection.disconnect(); - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->finish) { - (SP_EVENT_CONTEXT_CLASS(parent_class))->finish(ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->finish) { + (SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->finish(ec); } } @@ -161,7 +137,7 @@ sp_star_context_dispose (GObject *object) delete sc->_message_context; } - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (sp_star_context_parent_class)->dispose (object); } /** @@ -187,8 +163,8 @@ sp_star_context_setup (SPEventContext *ec) { SPStarContext *sc = SP_STAR_CONTEXT (ec); - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->setup) - (SP_EVENT_CONTEXT_CLASS(parent_class))->setup (ec); + if ((SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->setup) + (SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->setup (ec); sp_event_context_read (ec, "magnitude"); sp_event_context_read (ec, "proportion"); @@ -413,8 +389,8 @@ static gint sp_star_context_root_handler(SPEventContext *event_context, GdkEvent } if (!ret) { - if ((SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler) - ret = (SP_EVENT_CONTEXT_CLASS(parent_class))->root_handler (event_context, event); + if ((SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->root_handler) + ret = (SP_EVENT_CONTEXT_CLASS(sp_star_context_parent_class))->root_handler (event_context, event); } return ret; |
