From 376d5bfe0f3b9658cbf2d4ca9b00c0600341ee85 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Tue, 25 Nov 2025 17:15:16 +0800 Subject: Clean code. Clean events of native window. --- include/cru/platform/gui/Window.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'include/cru/platform/gui/Window.h') diff --git a/include/cru/platform/gui/Window.h b/include/cru/platform/gui/Window.h index b8973c5a..e04db448 100644 --- a/include/cru/platform/gui/Window.h +++ b/include/cru/platform/gui/Window.h @@ -23,6 +23,10 @@ struct WindowStyleFlags { enum class WindowVisibilityType { Show, Hide, Minimize }; +struct NativePaintEventArgs { + Rect repaint_area; +}; + enum class FocusChangeType { Gain, Lose }; enum class MouseEnterLeaveType { Enter, Leave }; @@ -100,6 +104,7 @@ struct CRU_PLATFORM_GUI_API INativeWindow : virtual IPlatformResource { virtual IEvent* CreateEvent() = 0; virtual IEvent* DestroyEvent() = 0; virtual IEvent* PaintEvent() = 0; + virtual IEvent* Paint1Event(); virtual IEvent* VisibilityChangeEvent() = 0; virtual IEvent* ResizeEvent() = 0; @@ -116,3 +121,19 @@ struct CRU_PLATFORM_GUI_API INativeWindow : virtual IPlatformResource { virtual IInputMethodContext* GetInputMethodContext() = 0; }; } // namespace cru::platform::gui + +#define CRU_DEFINE_CRU_PLATFORM_GUI_I_NATIVE_WINDOW_OVERRIDE_EVENTS() \ + CRU_DEFINE_EVENT_OVERRIDE(Create, std::nullptr_t) \ + CRU_DEFINE_EVENT_OVERRIDE(Destroy, std::nullptr_t) \ + CRU_DEFINE_EVENT_OVERRIDE(Paint, std::nullptr_t) \ + CRU_DEFINE_EVENT_OVERRIDE(Paint1, const NativePaintEventArgs&) \ + CRU_DEFINE_EVENT_OVERRIDE(VisibilityChange, WindowVisibilityType) \ + CRU_DEFINE_EVENT_OVERRIDE(Resize, const Size&) \ + CRU_DEFINE_EVENT_OVERRIDE(Focus, FocusChangeType) \ + CRU_DEFINE_EVENT_OVERRIDE(MouseEnterLeave, MouseEnterLeaveType) \ + CRU_DEFINE_EVENT_OVERRIDE(MouseMove, const Point&) \ + CRU_DEFINE_EVENT_OVERRIDE(MouseDown, const NativeMouseButtonEventArgs&) \ + CRU_DEFINE_EVENT_OVERRIDE(MouseUp, const NativeMouseButtonEventArgs&) \ + CRU_DEFINE_EVENT_OVERRIDE(MouseWheel, const NativeMouseWheelEventArgs&) \ + CRU_DEFINE_EVENT_OVERRIDE(KeyDown, const NativeKeyEventArgs&) \ + CRU_DEFINE_EVENT_OVERRIDE(KeyUp, const NativeKeyEventArgs&) -- cgit v1.2.3