diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2012-12-16 05:41:25 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2012-12-16 05:41:25 +0000 |
| commit | 7ec903c9898f872dbd9426ed7a62e1969fdb7be7 (patch) | |
| tree | a306139e829118a83516af02279c9eafd3440eaa /src/sp-item.cpp | |
| parent | Hershey Text: whitespace; py: docstring, modeline; inx: fix attribute value (diff) | |
| parent | Translations.Spanish translation update by Lucas Vieites. (diff) | |
| download | inkscape-7ec903c9898f872dbd9426ed7a62e1969fdb7be7.tar.gz inkscape-7ec903c9898f872dbd9426ed7a62e1969fdb7be7.zip | |
merge from trunk (r11955)
(bzr r11687.1.3)
Diffstat (limited to 'src/sp-item.cpp')
| -rw-r--r-- | src/sp-item.cpp | 78 |
1 files changed, 37 insertions, 41 deletions
diff --git a/src/sp-item.cpp b/src/sp-item.cpp index b1eb5a24a..363aa8c17 100644 --- a/src/sp-item.cpp +++ b/src/sp-item.cpp @@ -103,12 +103,10 @@ SPItem::getType(void) /** * SPItem vtable initialization. */ -void -SPItemClass::sp_item_class_init(SPItemClass *klass) +void SPItemClass::sp_item_class_init(SPItemClass *klass) { - SPObjectClass *sp_object_class = (SPObjectClass *) klass; - - static_parent_class = (SPObjectClass *)g_type_class_ref(SP_TYPE_OBJECT); + SPObjectClass *sp_object_class = SP_OBJECT_CLASS(klass); + static_parent_class = SP_OBJECT_CLASS(g_type_class_ref(SP_TYPE_OBJECT)); sp_object_class->build = SPItem::sp_item_build; sp_object_class->release = SPItem::sp_item_release; @@ -427,14 +425,14 @@ void SPItem::sp_item_build(SPObject *object, SPDocument *document, Inkscape::XML object->readAttr( "inkscape:connector-avoid" ); object->readAttr( "inkscape:connection-points" ); - if (((SPObjectClass *) (SPItemClass::static_parent_class))->build) { - (* ((SPObjectClass *) (SPItemClass::static_parent_class))->build)(object, document, repr); + if ((SP_OBJECT_CLASS(SPItemClass::static_parent_class))->build) { + (* (SP_OBJECT_CLASS(SPItemClass::static_parent_class))->build)(object, document, repr); } } void SPItem::sp_item_release(SPObject *object) { - SPItem *item = (SPItem *) object; + SPItem *item = SP_ITEM(object); // Note: do this here before the clip_ref is deleted, since calling // ensureUpToDate() for triggered routing may reference @@ -447,8 +445,8 @@ void SPItem::sp_item_release(SPObject *object) delete item->clip_ref; delete item->mask_ref; - if (((SPObjectClass *) (SPItemClass::static_parent_class))->release) { - ((SPObjectClass *) SPItemClass::static_parent_class)->release(object); + if ((SP_OBJECT_CLASS(SPItemClass::static_parent_class))->release) { + (SP_OBJECT_CLASS(SPItemClass::static_parent_class))->release(object); } while (item->display) { @@ -460,7 +458,7 @@ void SPItem::sp_item_release(SPObject *object) void SPItem::sp_item_set(SPObject *object, unsigned key, gchar const *value) { - SPItem *item = (SPItem *) object; + SPItem *item = SP_ITEM(object); switch (key) { case SP_ATTR_TRANSFORM: { @@ -544,8 +542,8 @@ void SPItem::sp_item_set(SPObject *object, unsigned 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 *) (SPItemClass::static_parent_class))->set) { - (* ((SPObjectClass *) (SPItemClass::static_parent_class))->set)(object, key, value); + if ((SP_OBJECT_CLASS(SPItemClass::static_parent_class))->set) { + (* (SP_OBJECT_CLASS(SPItemClass::static_parent_class))->set)(object, key, value); } } break; @@ -605,8 +603,8 @@ void SPItem::sp_item_update(SPObject *object, SPCtx *ctx, guint flags) { SPItem *item = SP_ITEM(object); - if (((SPObjectClass *) (SPItemClass::static_parent_class))->update) { - (* ((SPObjectClass *) (SPItemClass::static_parent_class))->update)(object, ctx, flags); + if ((SP_OBJECT_CLASS(SPItemClass::static_parent_class))->update) { + (* (SP_OBJECT_CLASS(SPItemClass::static_parent_class))->update)(object, ctx, flags); } // any of the modifications defined in sp-object.h might change bbox, @@ -721,8 +719,8 @@ Inkscape::XML::Node *SPItem::sp_item_write(SPObject *const object, Inkscape::XML } } - if (((SPObjectClass *) (SPItemClass::static_parent_class))->write) { - ((SPObjectClass *) (SPItemClass::static_parent_class))->write(object, xml_doc, repr, flags); + if ((SP_OBJECT_CLASS(SPItemClass::static_parent_class))->write) { + (SP_OBJECT_CLASS(SPItemClass::static_parent_class))->write(object, xml_doc, repr, flags); } return repr; @@ -737,8 +735,8 @@ Geom::OptRect SPItem::geometricBounds(Geom::Affine const &transform) const { Geom::OptRect bbox; // call the subclass method - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox) { - bbox = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox(this, transform, SPItem::GEOMETRIC_BBOX); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox) { + bbox = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox(this, transform, SPItem::GEOMETRIC_BBOX); } return bbox; } @@ -757,8 +755,8 @@ Geom::OptRect SPItem::visualBounds(Geom::Affine const &transform) const if ( style && style->filter.href && style->getFilter() && SP_IS_FILTER(style->getFilter())) { // call the subclass method - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox) { - bbox = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox(this, Geom::identity(), SPItem::VISUAL_BBOX); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox) { + bbox = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox(this, Geom::identity(), SPItem::VISUAL_BBOX); } SPFilter *filter = SP_FILTER(style->getFilter()); @@ -803,8 +801,8 @@ Geom::OptRect SPItem::visualBounds(Geom::Affine const &transform) const *bbox *= transform; } else { // call the subclass method - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox) { - bbox = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->bbox(this, transform, SPItem::VISUAL_BBOX); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox) { + bbox = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->bbox(this, transform, SPItem::VISUAL_BBOX); } } if (clip_ref->getObject()) { @@ -915,7 +913,7 @@ void SPItem::sp_item_private_snappoints(SPItem const * /*item*/, std::vector<Ink void SPItem::getSnappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs) const { // Get the snappoints of the item - SPItemClass const &item_class = *(SPItemClass const *) G_OBJECT_GET_CLASS(this); + SPItemClass const &item_class = *SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)); if (item_class.snappoints) { item_class.snappoints(this, p, snapprefs); } @@ -982,8 +980,8 @@ gchar *SPItem::sp_item_private_description(SPItem */*item*/) */ gchar *SPItem::description() { - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->description) { - gchar *s = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->description(this); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->description) { + gchar *s = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->description(this); if (s && clip_ref->getObject()) { gchar *snew = g_strdup_printf (_("%s; <i>clipped</i>"), s); g_free (s); @@ -1019,7 +1017,7 @@ gchar *SPItem::description() int SPItem::ifilt() { int retval=0; - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->description) { + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->description) { if ( style && style->filter.href && style->filter.href->getObject() ) { retval=1; } } return retval; @@ -1043,8 +1041,8 @@ unsigned SPItem::display_key_new(unsigned numkeys) Inkscape::DrawingItem *SPItem::invoke_show(Inkscape::Drawing &drawing, unsigned key, unsigned flags) { Inkscape::DrawingItem *ai = NULL; - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->show) { - ai = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->show(this, drawing, key, flags); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->show) { + ai = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->show(this, drawing, key, flags); } if (ai != NULL) { @@ -1096,8 +1094,8 @@ Inkscape::DrawingItem *SPItem::invoke_show(Inkscape::Drawing &drawing, unsigned void SPItem::invoke_hide(unsigned key) { - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->hide) { - ((SPItemClass *) G_OBJECT_GET_CLASS(this))->hide(this, key); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->hide) { + (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->hide(this, key); } SPItemView *ref = NULL; @@ -1204,7 +1202,7 @@ void SPItem::adjust_stroke( gdouble ex ) /** * Find out the inverse of previous transform of an item (from its repr) */ -Geom::Affine sp_item_transform_repr (SPItem *item) +static Geom::Affine sp_item_transform_repr (SPItem *item) { Geom::Affine t_old(Geom::identity()); gchar const *t_attr = item->getRepr()->attribute("transform"); @@ -1253,7 +1251,7 @@ void SPItem::freeze_stroke_width_recursive(bool freeze) /** * Recursively adjust rx and ry of rects. */ -void +static void sp_item_adjust_rects_recursive(SPItem *item, Geom::Affine advertized_transform) { if (SP_IS_RECT (item)) { @@ -1388,13 +1386,13 @@ void SPItem::doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &tra gint preserve = prefs->getBool("/options/preservetransform/value", 0); Geom::Affine transform_attr (transform); if ( // run the object's set_transform (i.e. embed transform) only if: - ((SPItemClass *) G_OBJECT_GET_CLASS(this))->set_transform && // it does have a set_transform method + (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->set_transform && // it does have a set_transform method !preserve && // user did not chose to preserve all transforms !clip_ref->getObject() && // the object does not have a clippath !mask_ref->getObject() && // the object does not have a mask !(!transform.isTranslation() && style && style->getFilter()) // the object does not have a filter, or the transform is translation (which is supposed to not affect filters) ) { - transform_attr = ((SPItemClass *) G_OBJECT_GET_CLASS(this))->set_transform(this, transform); + transform_attr = (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->set_transform(this, transform); if (freeze_stroke_width) { freeze_stroke_width_recursive(false); } @@ -1427,8 +1425,8 @@ void SPItem::doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &tra gint SPItem::emitEvent(SPEvent &event) { - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->event) { - return ((SPItemClass *) G_OBJECT_GET_CLASS(this))->event(this, &event); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->event) { + return (SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->event(this, &event); } return FALSE; @@ -1451,8 +1449,8 @@ void SPItem::set_item_transform(Geom::Affine const &transform_matrix) void SPItem::convert_item_to_guides() { // Use derived method if present ... - if (((SPItemClass *) G_OBJECT_GET_CLASS(this))->convert_to_guides) { - (*((SPItemClass *) G_OBJECT_GET_CLASS(this))->convert_to_guides)(this); + if ((SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->convert_to_guides) { + (*(SP_ITEM_CLASS(G_OBJECT_GET_CLASS(this)))->convert_to_guides)(this); } else { // .. otherwise simply place the guides around the item's bounding box @@ -1516,8 +1514,6 @@ Geom::Affine SPItem::i2dt_affine() const ret = i2doc_affine() * Geom::Scale(1, -1) * Geom::Translate(0, document->getHeight()); - - g_return_val_if_fail(desktop != NULL, ret); } return ret; } |
