aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls/ControlHost.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui/controls/ControlHost.h')
-rw-r--r--include/cru/ui/controls/ControlHost.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/cru/ui/controls/ControlHost.h b/include/cru/ui/controls/ControlHost.h
index 5d0b7947..e6eb472d 100644
--- a/include/cru/ui/controls/ControlHost.h
+++ b/include/cru/ui/controls/ControlHost.h
@@ -23,6 +23,9 @@ class CRU_UI_API ControlHost : public Object {
void ScheduleRepaint();
void ScheduleRelayout();
+ Rect GetPaintInvalidArea();
+ void AddPaintInvalidArea(const Rect& area);
+
void Repaint();
void Relayout();
void RelayoutWithSize(const Size& available_size = Size::Infinite(),
@@ -56,7 +59,7 @@ class CRU_UI_API ControlHost : public Object {
std::unique_ptr<platform::gui::INativeWindow> CreateNativeWindow();
void OnNativeDestroy(std::nullptr_t);
- void OnNativePaint(std::nullptr_t);
+ void OnNativePaint1(const cru::platform::gui::NativePaintEventArgs& args);
void OnNativeResize(const Size& size);
void OnNativeFocus(cru::platform::gui::FocusChangeType focus);
void OnNativeMouseEnterLeave(cru::platform::gui::MouseEnterLeaveType enter);
@@ -190,6 +193,8 @@ class CRU_UI_API ControlHost : public Object {
bool layout_prefer_to_fill_window_;
+ Rect paint_invalid_area_;
+
platform::gui::TimerAutoCanceler relayout_schedule_canceler_;
};
} // namespace cru::ui::controls