Kaynağa Gözat

LibHTML: Add the currently visible viewport rect to RenderingContext

This will allow rendering code to skip various things sometimes. :^)
Andreas Kling 5 yıl önce
ebeveyn
işleme
b4c0ea89d5

+ 1 - 0
Libraries/LibHTML/HtmlView.cpp

@@ -118,6 +118,7 @@ void HtmlView::paint_event(GPaintEvent& event)
 
     RenderingContext context { painter };
     context.set_should_show_line_box_borders(m_should_show_line_box_borders);
+    context.set_viewport_rect(visible_content_rect());
     layout_root()->render(context);
 }
 

+ 6 - 0
Libraries/LibHTML/RenderingContext.h

@@ -1,5 +1,7 @@
 #pragma once
 
+#include <LibDraw/Rect.h>
+
 class GPainter;
 
 class RenderingContext {
@@ -14,7 +16,11 @@ public:
     bool should_show_line_box_borders() const { return m_should_show_line_box_borders; }
     void set_should_show_line_box_borders(bool value) { m_should_show_line_box_borders = value; }
 
+    Rect viewport_rect() const { return m_viewport_rect; }
+    void set_viewport_rect(const Rect& rect) { m_viewport_rect = rect; }
+
 private:
     GPainter& m_painter;
+    Rect m_viewport_rect;
     bool m_should_show_line_box_borders { false };
 };