X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fview.h;h=d99db6e7cfe1ca62f361a98230deb9099d1ef9cf;hp=fe93e6ce85ed37db2b9de4c1c9ba8d9d8f0a4c5a;hb=6472d20ee58d2ecc0aee8bc1a12a071b2afc8a27;hpb=d9c0c3792133f87cd224dc22be428be8ddc016d8 diff --git a/src/view.h b/src/view.h index fe93e6c..d99db6e 100644 --- a/src/view.h +++ b/src/view.h @@ -6,8 +6,9 @@ #include "framebuffer.h" #include "objectrenderer.h" -#define USE_GPU_TRANSFORM true +#define USE_GPU_TRANSFORM true #define USE_GPU_RENDERING true +#define USE_SHADING !(USE_GPU_RENDERING) && true namespace IPDF { @@ -41,6 +42,17 @@ namespace IPDF void SetGPURendering(bool state) {m_use_gpu_rendering = state; m_bounds_dirty = true; m_buffer_dirty = true;} + bool ShowingBezierBounds() const {return m_show_bezier_bounds;} // render bounds rectangles + void ShowBezierBounds(bool state) {m_show_bezier_bounds = state; m_bounds_dirty = true; m_buffer_dirty = true;} + bool ShowingBezierType() const {return m_show_bezier_type;} + void ShowBezierType(bool state) {m_show_bezier_type = state; m_bounds_dirty = true; m_buffer_dirty = true;} + bool ShowingFillPoints() const {return m_show_fill_points;} + void ShowFillPoints(bool state) {m_show_fill_points = state; m_bounds_dirty = true; m_buffer_dirty = true;} + bool ShowingFillBounds() const {return m_show_fill_bounds;} + void ShowFillBounds(bool state) {m_show_fill_bounds = true;} + + bool PerformingShading() const {return m_perform_shading;} + void PerformShading(bool state) {m_perform_shading = state; m_bounds_dirty = true; m_buffer_dirty = true;} void ForceBoundsDirty() {m_bounds_dirty = true;} void ForceBufferDirty() {m_buffer_dirty = true;} @@ -79,6 +91,17 @@ namespace IPDF std::vector m_object_renderers; uint8_t * m_cpu_rendering_pixels; // pixels to be used for CPU rendering + + // shading + bool m_perform_shading; + + // Debug rendering + bool m_show_bezier_bounds; + bool m_show_bezier_type; + bool m_show_fill_points; + bool m_show_fill_bounds; + + #ifndef QUADTREE_DISABLED QuadTreeIndex m_current_quadtree_node; // The highest node we will traverse. int m_quadtree_max_depth; // The maximum quadtree depth.