summaryrefslogtreecommitdiffstats
path: root/src/document.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/document.h')
-rw-r--r--src/document.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/document.h b/src/document.h
index b4a8a8e8e..825049cd5 100644
--- a/src/document.h
+++ b/src/document.h
@@ -28,6 +28,7 @@
#include <boost/ptr_container/ptr_list.hpp>
#include <vector>
#include <set>
+#include <deque>
namespace Avoid {
class Router;
@@ -263,7 +264,7 @@ public:
std::vector<SPItem*> getItemsInBox(unsigned int dkey, Geom::Rect const &box, bool into_groups = false) const;
std::vector<SPItem*> getItemsPartiallyInBox(unsigned int dkey, Geom::Rect const &box, bool into_groups = false) const;
SPItem *getItemAtPoint(unsigned int key, Geom::Point const &p, bool into_groups, SPItem *upto = NULL) const;
- std::vector<SPItem*> getItemsAtPoints(unsigned const key, std::vector<Geom::Point> points, bool all_layers = true, size_t limit = 0) const;
+ std::vector<SPItem*> getItemsAtPoints(unsigned const key, std::vector<Geom::Point> points, bool all_layers = true, size_t limit = 0) const ;
SPItem *getGroupAtPoint(unsigned int key, Geom::Point const &p) const;
void changeUriAndHrefs(char const *uri);
@@ -277,6 +278,9 @@ private:
void do_change_uri(char const *const filename, bool const rebase);
void setupViewport(SPItemCtx *ctx);
void importDefsNode(SPDocument *source, Inkscape::XML::Node *defs, Inkscape::XML::Node *target_defs);
+ void build_flat_item_list(unsigned int dkey, SPGroup *group, gboolean into_groups) const;
+ mutable std::deque<SPItem*> _node_cache;
+ mutable bool _node_cache_valid;
};
/*