- m_screen.DebugFontPrintF("Current View QuadTree Node: %d (objs: %d -> %d)\n", m_current_quadtree_node, m_document.GetQuadTree().nodes[m_current_quadtree_node].object_begin,
- m_document.GetQuadTree().nodes[m_current_quadtree_node].object_end);
+
+ m_screen.DebugFontPrintF("Current View QuadTree");
+ QuadTreeIndex overlay = m_current_quadtree_node;
+ while (overlay != -1)
+ {
+ m_screen.DebugFontPrintF(" Node: %d (objs: %d -> %d)", overlay, m_document.GetQuadTree().nodes[overlay].object_begin,
+ m_document.GetQuadTree().nodes[overlay].object_end);
+ overlay = m_document.GetQuadTree().nodes[overlay].next_overlay;
+ }
+ m_screen.DebugFontPrintF("\n");
+ m_screen.DebugFontPrintF("Left: %d, Right: %d, Up: %d, Down: %d\n",
+ m_document.GetQuadTree().GetNeighbour(m_current_quadtree_node, -1, 0, 0),
+ m_document.GetQuadTree().GetNeighbour(m_current_quadtree_node, 1, 0, 0),
+ m_document.GetQuadTree().GetNeighbour(m_current_quadtree_node, 0, -1, 0),
+ m_document.GetQuadTree().GetNeighbour(m_current_quadtree_node, 0, 1, 0));
+
+
+ Rect view_top_bounds = m_bounds;
+ QuadTreeIndex tmp = m_current_quadtree_node;
+ while (tmp != -1)
+ {
+ view_top_bounds = TransformFromQuadChild(view_top_bounds, m_document.GetQuadTree().nodes[tmp].child_type);
+ tmp = m_document.GetQuadTree().nodes[tmp].parent;
+ }
+ m_screen.DebugFontPrintF("Equivalent View Bounds: %s\n", view_top_bounds.Str().c_str());