summaryrefslogtreecommitdiffstats
path: root/src/marker.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-01 23:41:30 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-01 23:41:30 +0000
commit69f3b6f1abb2bb422935d43262e1e99aab359954 (patch)
treee1e2d2b0504d22e81b04501155995f5694a4cd7b /src/marker.cpp
parentAdded experimental constructor to SPRect. Memory leaks because of non-virtual... (diff)
downloadinkscape-69f3b6f1abb2bb422935d43262e1e99aab359954.tar.gz
inkscape-69f3b6f1abb2bb422935d43262e1e99aab359954.zip
Added constructors to SP classes.
(bzr r11608.1.67)
Diffstat (limited to 'src/marker.cpp')
-rw-r--r--src/marker.cpp31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/marker.cpp b/src/marker.cpp
index adf89b0be..ef2aeaae5 100644
--- a/src/marker.cpp
+++ b/src/marker.cpp
@@ -42,7 +42,7 @@ static void sp_marker_print (SPItem *item, SPPrintContext *ctx);
static void sp_marker_view_remove (SPMarker *marker, SPMarkerView *view, unsigned int destroyitems);
-G_DEFINE_TYPE(SPMarker, sp_marker, SP_TYPE_GROUP);
+G_DEFINE_TYPE(SPMarker, sp_marker, G_TYPE_OBJECT);
/**
* Initializes a SPMarkerClass object. Establishes the function pointers to the class'
@@ -59,13 +59,9 @@ CMarker::CMarker(SPMarker* marker) : CGroup(marker) {
CMarker::~CMarker() {
}
-/**
- * Initializes an SPMarker object. This notes the marker's viewBox is
- * not set and initializes the marker's c2p identity matrix.
- */
-static void
-sp_marker_init (SPMarker *marker)
-{
+SPMarker::SPMarker() : SPGroup() {
+ SPMarker* marker = this;
+
marker->cmarker = new CMarker(marker);
marker->typeHierarchy.insert(typeid(SPMarker));
@@ -75,12 +71,31 @@ sp_marker_init (SPMarker *marker)
marker->citem = marker->cmarker;
marker->cobject = marker->cmarker;
+ marker->aspect_clip = 0;
+ marker->aspect_align = 0;
+ marker->aspect_set = 0;
+ marker->markerUnits = 0;
+ marker->orient_auto = 0;
+ marker->markerUnits_set = 0;
+ marker->orient_set = 0;
+ marker->orient = 0;
+
marker->viewBox = Geom::OptRect();
marker->c2p.setIdentity();
marker->views = NULL;
}
/**
+ * Initializes an SPMarker object. This notes the marker's viewBox is
+ * not set and initializes the marker's c2p identity matrix.
+ */
+static void
+sp_marker_init (SPMarker *marker)
+{
+ new (marker) SPMarker();
+}
+
+/**
* Virtual build callback for SPMarker.
*
* This is to be invoked immediately after creation of an SPMarker. This