From 0d7c3ee0a778bfc2f5e5cbc1701ee6cd12e62012 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Fri, 24 Oct 2014 21:50:14 -0700 Subject: Cleaned casts from sp-shape by fixing member type. (bzr r13638) --- src/sp-shape.cpp | 130 +++++++++++++++++++++++++-------------------------- src/sp-shape.h | 3 +- src/ui/clipboard.cpp | 1 + 3 files changed, 67 insertions(+), 67 deletions(-) (limited to 'src') diff --git a/src/sp-shape.cpp b/src/sp-shape.cpp index d76bd9780..60e62c761 100644 --- a/src/sp-shape.cpp +++ b/src/sp-shape.cpp @@ -95,12 +95,12 @@ void SPShape::release() { if (this->_marker[i]) { for (SPItemView *v = this->display; v != NULL; v = v->next) { - sp_marker_hide ((SPMarker *) this->_marker[i], v->arenaitem->key() + i); + sp_marker_hide(_marker[i], v->arenaitem->key() + i); } this->_release_connect[i].disconnect(); this->_modified_connect[i].disconnect(); - this->_marker[i] = sp_object_hunref (this->_marker[i], this); + _marker[i] = static_cast(sp_object_hunref(_marker[i], this)); } } @@ -170,10 +170,10 @@ void SPShape::update(SPCtx* ctx, guint flags) { } for (int i = 0 ; i < SP_MARKER_LOC_QTY ; i++) { - if (this->_marker[i]) { - sp_marker_show_dimension ((SPMarker *) this->_marker[i], - v->arenaitem->key() + i, - this->numberOfMarkers (i)); + if (_marker[i]) { + sp_marker_show_dimension(_marker[i], + v->arenaitem->key() + i, + numberOfMarkers(i)); } } } @@ -290,12 +290,12 @@ sp_shape_update_marker_view(SPShape *shape, Inkscape::DrawingItem *ai) if ( shape->_marker[i] ) { Geom::Affine m_auto = m; // Reverse start marker if necessary. - if (SP_MARKER(shape->_marker[i])->orient_mode == MARKER_ORIENT_AUTO_START_REVERSE) { + if (shape->_marker[i]->orient_mode == MARKER_ORIENT_AUTO_START_REVERSE) { m_auto = Geom::Rotate::from_degrees( 180.0 ) * m; } - sp_marker_show_instance ((SPMarker* ) shape->_marker[i], ai, - ai->key() + i, counter[i], m_auto, - shape->style->stroke_width.computed); + sp_marker_show_instance(shape->_marker[i], ai, + ai->key() + i, counter[i], m_auto, + shape->style->stroke_width.computed); counter[i]++; } } @@ -311,9 +311,9 @@ sp_shape_update_marker_view(SPShape *shape, Inkscape::DrawingItem *ai) Geom::Affine const m (sp_shape_marker_get_transform_at_start(path_it->front())); for (int i = 0; i < 3; i += 2) { // SP_MARKER_LOC and SP_MARKER_LOC_MID if ( shape->_marker[i] ) { - sp_marker_show_instance ((SPMarker* ) shape->_marker[i], ai, - ai->key() + i, counter[i], m, - shape->style->stroke_width.computed); + sp_marker_show_instance(shape->_marker[i], ai, + ai->key() + i, counter[i], m, + shape->style->stroke_width.computed); counter[i]++; } } @@ -331,9 +331,9 @@ sp_shape_update_marker_view(SPShape *shape, Inkscape::DrawingItem *ai) Geom::Affine const m (sp_shape_marker_get_transform(*curve_it1, *curve_it2)); for (int i = 0; i < 3; i += 2) { // SP_MARKER_LOC and SP_MARKER_LOC_MID if (shape->_marker[i]) { - sp_marker_show_instance ((SPMarker* ) shape->_marker[i], ai, - ai->key() + i, counter[i], m, - shape->style->stroke_width.computed); + sp_marker_show_instance(shape->_marker[i], ai, + ai->key() + i, counter[i], m, + shape->style->stroke_width.computed); counter[i]++; } } @@ -348,9 +348,9 @@ sp_shape_update_marker_view(SPShape *shape, Inkscape::DrawingItem *ai) Geom::Affine const m = sp_shape_marker_get_transform_at_end(lastcurve); for (int i = 0; i < 3; i += 2) { // SP_MARKER_LOC and SP_MARKER_LOC_MID if (shape->_marker[i]) { - sp_marker_show_instance ((SPMarker* ) shape->_marker[i], ai, - ai->key() + i, counter[i], m, - shape->style->stroke_width.computed); + sp_marker_show_instance(shape->_marker[i], ai, + ai->key() + i, counter[i], m, + shape->style->stroke_width.computed); counter[i]++; } } @@ -372,9 +372,9 @@ sp_shape_update_marker_view(SPShape *shape, Inkscape::DrawingItem *ai) for (int i = 0; i < 4; i += 3) { // SP_MARKER_LOC and SP_MARKER_LOC_END if (shape->_marker[i]) { - sp_marker_show_instance ((SPMarker* ) shape->_marker[i], ai, - ai->key() + i, counter[i], m, - shape->style->stroke_width.computed); + sp_marker_show_instance(shape->_marker[i], ai, + ai->key() + i, counter[i], m, + shape->style->stroke_width.computed); counter[i]++; } } @@ -424,26 +424,25 @@ Geom::OptRect SPShape::bbox(Geom::Affine const &transform, SPItem::BBoxType bbox // START marker for (unsigned i = 0; i < 2; i++) { // SP_MARKER_LOC and SP_MARKER_LOC_START if ( this->_marker[i] ) { - SPMarker* marker = SP_MARKER (this->_marker[i]); - SPItem* marker_item = sp_item_first_item_child( marker ); + SPItem* marker_item = sp_item_first_item_child( _marker[i] ); if (marker_item) { Geom::Affine tr(sp_shape_marker_get_transform_at_start(pathv.begin()->front())); - if (marker->orient_mode == MARKER_ORIENT_AUTO_START_REVERSE) { + if (_marker[i]->orient_mode == MARKER_ORIENT_AUTO_START_REVERSE) { // Reverse start marker if necessary tr = Geom::Rotate::from_degrees( 180.0 ) * tr; - } else if (marker->orient_mode == MARKER_ORIENT_ANGLE) { + } else if (_marker[i]->orient_mode == MARKER_ORIENT_ANGLE) { Geom::Point transl = tr.translation(); - tr = Geom::Rotate::from_degrees(marker->orient) * Geom::Translate(transl); + tr = Geom::Rotate::from_degrees(_marker[i]->orient) * Geom::Translate(transl); } - if (marker->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) { + if (_marker[i]->markerUnits == SP_MARKER_UNITS_STROKEWIDTH) { tr = Geom::Scale(this->style->stroke_width.computed) * tr; } // total marker transform - tr = marker_item->transform * marker->c2p * tr * transform; + tr = marker_item->transform * _marker[i]->c2p * tr * transform; // get bbox of the marker with that transform bbox |= marker_item->visualBounds(tr); @@ -457,7 +456,7 @@ Geom::OptRect SPShape::bbox(Geom::Affine const &transform, SPItem::BBoxType bbox continue; } - SPMarker* marker = SP_MARKER (this->_marker[i]); + SPMarker* marker = _marker[i]; SPItem* marker_item = sp_item_first_item_child( marker ); if ( !marker_item ) { @@ -495,7 +494,7 @@ Geom::OptRect SPShape::bbox(Geom::Affine const &transform, SPItem::BBoxType bbox * Loop to end_default (so including closing segment), because when a path is closed, * there should be a midpoint marker between last segment and closing straight line segment */ - SPMarker* marker = SP_MARKER (this->_marker[i]); + SPMarker* marker = _marker[i]; SPItem* marker_item = sp_item_first_item_child( marker ); if (marker_item) { @@ -541,8 +540,8 @@ Geom::OptRect SPShape::bbox(Geom::Affine const &transform, SPItem::BBoxType bbox // END marker for (unsigned i = 0; i < 4; i += 3) { // SP_MARKER_LOC and SP_MARKER_LOC_END - if ( this->_marker[i] ) { - SPMarker* marker = SP_MARKER (this->_marker[i]); + if ( _marker[i] ) { + SPMarker* marker = _marker[i]; SPItem* marker_item = sp_item_first_item_child( marker ); if (marker_item) { @@ -739,10 +738,10 @@ Inkscape::DrawingItem* SPShape::show(Inkscape::Drawing &drawing, unsigned int /* } for (int i = 0; i < SP_MARKER_LOC_QTY; i++) { - if (this->_marker[i]) { - sp_marker_show_dimension ((SPMarker *) this->_marker[i], - s->key() + i, - this->numberOfMarkers (i)); + if (_marker[i]) { + sp_marker_show_dimension(_marker[i], + s->key() + i, + numberOfMarkers(i)); } } @@ -757,17 +756,17 @@ Inkscape::DrawingItem* SPShape::show(Inkscape::Drawing &drawing, unsigned int /* * Sets style, path, and paintbox. Updates marker views, including dimensions. */ void SPShape::hide(unsigned int key) { - for (int i=0; i_marker[i]) { - for (SPItemView* v = this->display; v != NULL; v = v->next) { - if (key == v->key) { - sp_marker_hide ((SPMarker *) this->_marker[i], v->arenaitem->key() + i); - } - } - } - } + for (int i = 0; i < SP_MARKER_LOC_QTY; ++i) { + if (_marker[i]) { + for (SPItemView* v = display; v != NULL; v = v->next) { + if (key == v->key) { + sp_marker_hide(_marker[i], v->arenaitem->key() + i); + } + } + } + } - //SPLPEItem::onHide(key); + //SPLPEItem::onHide(key); } /** @@ -782,7 +781,7 @@ int SPShape::hasMarkers() const // Ignore markers for objects which are inside markers themselves. for (SPObject *parent = this->parent; parent != NULL; parent = parent->parent) { - if(SP_IS_MARKER(parent)) { + if (dynamic_cast(parent)) { return 0; } } @@ -860,22 +859,20 @@ int SPShape::numberOfMarkers(int type) const { static void sp_shape_marker_release (SPObject *marker, SPShape *shape) { - SPItem *item; - int i; + SPItem *item = dynamic_cast(shape); + g_return_if_fail(item != NULL); - item = (SPItem *) shape; - - for (i = 0; i < SP_MARKER_LOC_QTY; i++) { + for (int i = 0; i < SP_MARKER_LOC_QTY; i++) { if (marker == shape->_marker[i]) { SPItemView *v; /* Hide marker */ for (v = item->display; v != NULL; v = v->next) { - sp_marker_hide ((SPMarker *) (shape->_marker[i]), v->arenaitem->key() + i); + sp_marker_hide(shape->_marker[i], v->arenaitem->key() + i); } /* Detach marker */ shape->_release_connect[i].disconnect(); shape->_modified_connect[i].disconnect(); - shape->_marker[i] = sp_object_hunref (shape->_marker[i], item); + shape->_marker[i] = static_cast(sp_object_hunref(shape->_marker[i], item)); } } } @@ -900,15 +897,16 @@ sp_shape_marker_modified (SPObject */*marker*/, guint /*flags*/, SPItem */*item* void sp_shape_set_marker (SPObject *object, unsigned int key, const gchar *value) { - SPItem *item = (SPItem *) object; - SPShape *shape = (SPShape *) object; + SPShape *shape = dynamic_cast(object); + g_return_if_fail(shape != NULL); if (key > SP_MARKER_LOC_END) { return; } SPObject *mrk = sp_css_uri_reference_resolve(object->document, value); - if (mrk != shape->_marker[key]) { + SPMarker *marker = dynamic_cast(mrk); + if (marker != shape->_marker[key]) { if (shape->_marker[key]) { SPItemView *v; @@ -917,18 +915,18 @@ sp_shape_set_marker (SPObject *object, unsigned int key, const gchar *value) shape->_modified_connect[key].disconnect(); /* Hide marker */ - for (v = item->display; v != NULL; v = v->next) { - sp_marker_hide ((SPMarker *) (shape->_marker[key]), - v->arenaitem->key() + key); + for (v = shape->display; v != NULL; v = v->next) { + sp_marker_hide(shape->_marker[key], + v->arenaitem->key() + key); } /* Unref marker */ - shape->_marker[key] = sp_object_hunref (shape->_marker[key], object); + shape->_marker[key] = static_cast(sp_object_hunref(shape->_marker[key], object)); } - if (SP_IS_MARKER (mrk)) { - shape->_marker[key] = sp_object_href (mrk, object); - shape->_release_connect[key] = mrk->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_shape_marker_release), shape)); - shape->_modified_connect[key] = mrk->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_shape_marker_modified), shape)); + if (marker) { + shape->_marker[key] = static_cast(sp_object_href(marker, object)); + shape->_release_connect[key] = marker->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_shape_marker_release), shape)); + shape->_modified_connect[key] = marker->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_shape_marker_modified), shape)); } } } diff --git a/src/sp-shape.h b/src/sp-shape.h index f260c1ee6..ffdd68948 100644 --- a/src/sp-shape.h +++ b/src/sp-shape.h @@ -28,6 +28,7 @@ #define SP_SHAPE_WRITE_PATH (1 << 2) class SPDesktop; +class SPMarker; namespace Inkscape { class DrawingItem; } /** @@ -51,7 +52,7 @@ public: // temporarily public, until SPPath is properly classed, etc. SPCurve *_curve; public: - SPObject *_marker[SP_MARKER_LOC_QTY]; + SPMarker *_marker[SP_MARKER_LOC_QTY]; sigc::connection _release_connect [SP_MARKER_LOC_QTY]; sigc::connection _modified_connect [SP_MARKER_LOC_QTY]; diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp index 031a92924..4b4b14c22 100644 --- a/src/ui/clipboard.cpp +++ b/src/ui/clipboard.cpp @@ -54,6 +54,7 @@ #include <2geom/transforms.h> #include "box3d.h" #include "gradient-drag.h" +#include "marker.h" #include "sp-item.h" #include "sp-item-transform.h" // for sp_item_scale_rel, used in _pasteSize #include "sp-path.h" -- cgit v1.2.3