diff options
| author | Maximilian Albert <maximilian.albert@gmail.com> | 2008-01-15 22:09:09 +0000 |
|---|---|---|
| committer | cilix42 <cilix42@users.sourceforge.net> | 2008-01-15 22:09:09 +0000 |
| commit | 566872ee9828e208e987e84bf7b72c79f6958662 (patch) | |
| tree | 8351960957ffa8a0b25bf5e4b92367525765eab5 /src/box3d.cpp | |
| parent | hopefully fix compile error on linux (diff) | |
| download | inkscape-566872ee9828e208e987e84bf7b72c79f6958662.tar.gz inkscape-566872ee9828e208e987e84bf7b72c79f6958662.zip | |
Slightly more 'object-oriented' way to invoke item-specific conversion-to-guides methods
(bzr r4499)
Diffstat (limited to 'src/box3d.cpp')
| -rw-r--r-- | src/box3d.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/box3d.cpp b/src/box3d.cpp index f28dc8f26..4aca24c42 100644 --- a/src/box3d.cpp +++ b/src/box3d.cpp @@ -50,6 +50,7 @@ static Inkscape::XML::Node *box3d_write(SPObject *object, Inkscape::XML::Node *r static gchar *box3d_description(SPItem *item); static NR::Matrix box3d_set_transform(SPItem *item, NR::Matrix const &xform); +static void box3d_convert_to_guides(SPItem *item); static void box3d_ref_changed(SPObject *old_ref, SPObject *ref, SPBox3D *box); static void box3d_ref_modified(SPObject *href, guint flags, SPBox3D *box); @@ -98,6 +99,7 @@ box3d_class_init(SPBox3DClass *klass) item_class->description = box3d_description; item_class->set_transform = box3d_set_transform; + item_class->convert_to_guides = box3d_convert_to_guides; } static void @@ -1491,22 +1493,22 @@ box3d_convert_to_group(SPBox3D *box) { return SP_GROUP(doc->getObjectByRepr(grepr)); } -static void +static inline void box3d_push_back_corner_pair(SPBox3D *box, std::list<std::pair<Geom::Point, Geom::Point> > &pts, int c1, int c2) { pts.push_back(std::make_pair(box3d_get_corner_screen(box, c1).to_2geom(), box3d_get_corner_screen(box, c2).to_2geom())); } void -box3d_convert_to_guides(SPBox3D *box, bool write_undo) { +box3d_convert_to_guides(SPItem *item) { + SPBox3D *box = SP_BOX3D(item); + if (prefs_get_int_attribute("tools.shapes.3dbox", "convertguides", 1) == 0) { sp_item_convert_to_guides(SP_ITEM(box)); return; } SPDocument *doc = SP_OBJECT_DOCUMENT(box); - //SPDesktop *desktop = inkscape_active_desktop(); - //Inkscape::XML::Document *xml_doc = sp_document_repr_doc(doc); std::list<std::pair<Geom::Point, Geom::Point> > pts; @@ -1531,10 +1533,6 @@ box3d_convert_to_guides(SPBox3D *box, bool write_undo) { sp_guide_pt_pairs_to_guides(doc, pts); SP_OBJECT(box)->deleteObject(true); - - if (write_undo) { - sp_document_done(doc, SP_VERB_CONTEXT_3DBOX, _("Convert to guides")); - } } /* |
