David's final changes: more profiler features, fixes.
[ipdf/code.git] / src / quadtree.h
index 1c1c025..9a7b8f9 100644 (file)
@@ -13,6 +13,7 @@ namespace IPDF
 
        typedef int QuadTreeIndex;
        static const QuadTreeIndex QUADTREE_EMPTY = -1;
+       class Document;
 
        enum QuadTreeNodeChildren
        {
@@ -41,6 +42,9 @@ namespace IPDF
                unsigned object_end;
                // Linked list of "extra" nodes
                QuadTreeIndex next_overlay;
+               // First object which has not yet been propagated to extant children/parent.
+               unsigned object_dirty;
+               bool render_dirty;
        };
 
        struct QuadTree
@@ -49,7 +53,8 @@ namespace IPDF
                QuadTreeIndex root_id;
                std::vector<QuadTreeNode> nodes;
 
-               QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir) const;
+               QuadTreeIndex GetNeighbour(QuadTreeIndex start, int xdir, int ydir, Document *doc) const;
+               void GetCanonicalCoords(QuadTreeIndex& start, Real& x, Real& y, Document *doc);
 
        };
 

UCC git Repository :: git.ucc.asn.au