From 97ca464fc9e9da4e20e3320559a6f4ac3203fe84 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Thu, 27 Nov 2025 17:39:31 +0800 Subject: Clean code. Use event define macro of native window on linux. --- include/cru/platform/gui/sdl/UiApplication.h | 3 +++ include/cru/platform/gui/sdl/Window.h | 34 ++-------------------------- 2 files changed, 5 insertions(+), 32 deletions(-) (limited to 'include/cru/platform/gui/sdl') diff --git a/include/cru/platform/gui/sdl/UiApplication.h b/include/cru/platform/gui/sdl/UiApplication.h index c300568c..be5ae102 100644 --- a/include/cru/platform/gui/sdl/UiApplication.h +++ b/include/cru/platform/gui/sdl/UiApplication.h @@ -38,6 +38,8 @@ class SdlUiApplication : public SdlResource, public virtual IUiApplication { std::function action) override; void CancelTimer(long long id) override; + void DeleteLater(Object* object) override; + std::vector GetAllWindow() override; INativeWindow* CreateWindow() override; @@ -64,6 +66,7 @@ class SdlUiApplication : public SdlResource, public virtual IUiApplication { bool release_graphics_factory_; std::uint32_t empty_event_type_; + DeleteLaterPool delete_later_pool_; TimerRegistry> timers_; std::atomic_int quit_code_; std::vector> quit_handlers_; diff --git a/include/cru/platform/gui/sdl/Window.h b/include/cru/platform/gui/sdl/Window.h index 8ffadd02..78fbaa93 100644 --- a/include/cru/platform/gui/sdl/Window.h +++ b/include/cru/platform/gui/sdl/Window.h @@ -1,11 +1,9 @@ #pragma once -#include #include "../../GraphicsBase.h" #include "../Window.h" #include "Base.h" #include -#include #include namespace cru::platform::gui::sdl { @@ -59,21 +57,7 @@ class SdlWindow : public SdlResource, public virtual INativeWindow { std::unique_ptr BeginPaint() override; - IEvent* CreateEvent() override; - IEvent* DestroyEvent() override; - IEvent* PaintEvent() override; - - IEvent* VisibilityChangeEvent() override; - IEvent* ResizeEvent() override; - IEvent* FocusEvent() override; - - IEvent* MouseEnterLeaveEvent() override; - IEvent* MouseMoveEvent() override; - IEvent* MouseDownEvent() override; - IEvent* MouseUpEvent() override; - IEvent* MouseWheelEvent() override; - IEvent* KeyDownEvent() override; - IEvent* KeyUpEvent() override; + CRU_DEFINE_CRU_PLATFORM_GUI_I_NATIVE_WINDOW_OVERRIDE_EVENTS() IInputMethodContext* GetInputMethodContext() override; @@ -86,19 +70,5 @@ class SdlWindow : public SdlResource, public virtual INativeWindow { std::optional sdl_window_; SdlWindow* parent_; WindowStyleFlag style_; - - Event create_event_; - Event destroy_event_; - Event paint_event_; - Event visibility_change_event_; - Event resize_event_; - Event focus_event_; - Event mouse_enter_leave_event_; - Event mouse_move_event_; - Event mouse_down_event_; - Event mouse_up_event_; - Event mouse_wheel_event_; - Event key_down_event_; - Event key_up_event_; }; -} // namespace cru::platform::gui::xcb +} // namespace cru::platform::gui::sdl -- cgit v1.2.3