summaryrefslogtreecommitdiffstats
path: root/src/selection.h
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2008-03-19 10:37:50 +0000
committercilix42 <cilix42@users.sourceforge.net>2008-03-19 10:37:50 +0000
commitada45404a3eae549b4fe3d1fcd7ebab7704c086e (patch)
tree2e5cd6e9371f34c67254238da082a33494d3f010 /src/selection.h
parentupdate lpe commands (diff)
downloadinkscape-ada45404a3eae549b4fe3d1fcd7ebab7704c086e.tar.gz
inkscape-ada45404a3eae549b4fe3d1fcd7ebab7704c086e.zip
Make grouped 3D boxes work correctly when transformed (fixes: LP 188991)
(bzr r5122)
Diffstat (limited to '')
-rw-r--r--src/selection.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/selection.h b/src/selection.h
index 58204160b..3d45c171d 100644
--- a/src/selection.h
+++ b/src/selection.h
@@ -18,6 +18,7 @@
#include <vector>
#include <map>
+#include <list>
#include <sigc++/sigc++.h>
#include "libnr/nr-rect.h"
@@ -31,6 +32,8 @@
#include "sp-item.h"
class SPItem;
+class SPBox3D;
+class Persp3D;
namespace Inkscape {
namespace XML {
@@ -225,6 +228,12 @@ public:
/// method for that
GSList const *reprList();
+ /* list of all perspectives which have a 3D box in the current selection
+ (these may also be nested in groups) */
+ std::list<Persp3D *> const perspList();
+
+ std::list<SPBox3D *> const box3DList();
+
/** @brief Returns the number of layers in which there are selected objects */
guint numberOfLayers();
@@ -336,6 +345,14 @@ private:
mutable GSList *_reprs;
mutable GSList *_items;
+ void add_box_perspective(SPBox3D *box);
+ void add_3D_boxes_recursively(SPObject *obj);
+ void remove_box_perspective(SPBox3D *box);
+ void remove_3D_boxes_recursively(SPObject *obj);
+
+ std::map<Persp3D *, unsigned int> _persps;
+ std::list<SPBox3D *> _3dboxes;
+
GC::soft_ptr<SPDesktop> _desktop;
SPObject* _selection_context;
guint _flags;