X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fview.h;h=5e30ef7f97aa8e7ba12ec64f24fff7b1fcf50183;hp=ff91f46517eec61f686e55b6fe76377c54553b01;hb=8793e48b5e8f28f59d9db8325ce05ec7c0431d40;hpb=d3e941df79b54b698a5b8a1d4763346c4d6eb3d7 diff --git a/src/view.h b/src/view.h index ff91f46..5e30ef7 100644 --- a/src/view.h +++ b/src/view.h @@ -53,6 +53,8 @@ namespace IPDF void PrepareRender(); // call when m_render_dirty is true void UpdateObjBoundsVBO(); // call when m_buffer_dirty is true + void RenderRange(int width, int height, unsigned first_obj, unsigned last_obj); + bool m_use_gpu_transform; bool m_use_gpu_rendering; bool m_bounds_dirty; // the view bounds has changed (occurs when changing view) @@ -73,6 +75,13 @@ namespace IPDF // Trust me it will be easier to generalise things this way. Even though there are pointers. std::vector m_object_renderers; uint8_t * m_cpu_rendering_pixels; // pixels to be used for CPU rendering + +#ifndef QUADTREE_DISABLED + QuadTreeIndex m_current_quadtree_node; // The highest node we will traverse. + int m_quadtree_max_depth; // The maximum quadtree depth. + void RenderQuadtreeNode(int width, int height, QuadTreeIndex node, int remaining_depth); + +#endif }; }