summaryrefslogtreecommitdiffstats
path: root/src/sp-rect.cpp
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-01-17 00:59:37 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2013-01-17 00:59:37 +0000
commitcd0794c0d76a46a0ae47b6c450167015ee41bc35 (patch)
tree2f0c97f37dadbda4122e622e6aa249294a978336 /src/sp-rect.cpp
parentextensions. dxf output. set flag if LWPOLYLINE is closed (Bug 1098283) (diff)
downloadinkscape-cd0794c0d76a46a0ae47b6c450167015ee41bc35.tar.gz
inkscape-cd0794c0d76a46a0ae47b6c450167015ee41bc35.zip
Cleanup more GObject type definitions
(bzr r12034)
Diffstat (limited to 'src/sp-rect.cpp')
-rw-r--r--src/sp-rect.cpp46
1 files changed, 9 insertions, 37 deletions
diff --git a/src/sp-rect.cpp b/src/sp-rect.cpp
index f33d234ee..e7e1432c2 100644
--- a/src/sp-rect.cpp
+++ b/src/sp-rect.cpp
@@ -31,9 +31,6 @@
#define noRECT_VERBOSE
-static void sp_rect_class_init(SPRectClass *klass);
-static void sp_rect_init(SPRect *rect);
-
static void sp_rect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
static void sp_rect_set(SPObject *object, unsigned key, gchar const *value);
static void sp_rect_update(SPObject *object, SPCtx *ctx, guint flags);
@@ -46,30 +43,7 @@ static void sp_rect_convert_to_guides(SPItem *item);
static void sp_rect_set_shape(SPShape *shape);
static void sp_rect_snappoints(SPItem const *item, std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs);
-static SPShapeClass *parent_class;
-
-GType
-sp_rect_get_type(void)
-{
- static GType type = 0;
-
- if (!type) {
- GTypeInfo info = {
- sizeof(SPRectClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) sp_rect_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(SPRect),
- 16, /* n_preallocs */
- (GInstanceInitFunc) sp_rect_init,
- NULL, /* value_table */
- };
- type = g_type_register_static(SP_TYPE_SHAPE, "SPRect", &info, (GTypeFlags)0);
- }
- return type;
-}
+G_DEFINE_TYPE(SPRect, sp_rect, SP_TYPE_SHAPE);
static void
sp_rect_class_init(SPRectClass *klass)
@@ -78,8 +52,6 @@ sp_rect_class_init(SPRectClass *klass)
SPItemClass *item_class = (SPItemClass *) klass;
SPShapeClass *shape_class = (SPShapeClass *) klass;
- parent_class = (SPShapeClass *)g_type_class_ref(SP_TYPE_SHAPE);
-
sp_object_class->build = sp_rect_build;
sp_object_class->write = sp_rect_write;
sp_object_class->set = sp_rect_set;
@@ -108,8 +80,8 @@ sp_rect_init(SPRect */*rect*/)
static void
sp_rect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
{
- if (((SPObjectClass *) parent_class)->build)
- ((SPObjectClass *) parent_class)->build(object, document, repr);
+ if ((SP_OBJECT_CLASS(sp_rect_parent_class))->build)
+ (SP_OBJECT_CLASS(sp_rect_parent_class))->build(object, document, repr);
object->readAttr( "x" );
object->readAttr( "y" );
@@ -160,8 +132,8 @@ sp_rect_set(SPObject *object, unsigned key, gchar const *value)
object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) parent_class)->set)
- ((SPObjectClass *) parent_class)->set(object, key, value);
+ if ((SP_OBJECT_CLASS(sp_rect_parent_class))->set)
+ (SP_OBJECT_CLASS(sp_rect_parent_class))->set(object, key, value);
break;
}
}
@@ -187,8 +159,8 @@ sp_rect_update(SPObject *object, SPCtx *ctx, guint flags)
flags &= ~SP_OBJECT_USER_MODIFIED_FLAG_B; // since we change the description, it's not a "just translation" anymore
}
- if (((SPObjectClass *) parent_class)->update)
- ((SPObjectClass *) parent_class)->update(object, ctx, flags);
+ if ((SP_OBJECT_CLASS(sp_rect_parent_class))->update)
+ (SP_OBJECT_CLASS(sp_rect_parent_class))->update(object, ctx, flags);
}
static Inkscape::XML::Node *
@@ -209,8 +181,8 @@ sp_rect_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML:
sp_rect_set_shape ((SPShape *) rect); // evaluate SPCurve
- if (((SPObjectClass *) parent_class)->write)
- ((SPObjectClass *) parent_class)->write(object, xml_doc, repr, flags);
+ if ((SP_OBJECT_CLASS(sp_rect_parent_class))->write)
+ (SP_OBJECT_CLASS(sp_rect_parent_class))->write(object, xml_doc, repr, flags);
return repr;
}