diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-04-01 23:41:30 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-04-01 23:41:30 +0000 |
| commit | 69f3b6f1abb2bb422935d43262e1e99aab359954 (patch) | |
| tree | e1e2d2b0504d22e81b04501155995f5694a4cd7b /src/marker.cpp | |
| parent | Added experimental constructor to SPRect. Memory leaks because of non-virtual... (diff) | |
| download | inkscape-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.cpp | 31 |
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 |
