From c6bde0b556a329a8f1679b09049eee03dce14971 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Mon, 22 Sep 2025 14:58:02 +0800 Subject: Impl GetAllWindow CreateWindow GetGraphicsFactory GetApplicationMenu of XcbUiApplication. --- src/platform/gui/xcb/UiApplication.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src') diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp index 0a6ab07f..74b20bd7 100644 --- a/src/platform/gui/xcb/UiApplication.cpp +++ b/src/platform/gui/xcb/UiApplication.cpp @@ -1,10 +1,12 @@ #include "cru/platform/gui/xcb/UiApplication.h" #include "cru/platform/graphics/cairo/CairoGraphicsFactory.h" +#include "cru/platform/gui/Window.h" #include "cru/platform/gui/xcb/Window.h" #include #include +#include namespace cru::platform::gui::xcb { XcbUiApplication::XcbUiApplication( @@ -122,6 +124,21 @@ void XcbUiApplication::HandleXEvents() { } } +std::vector XcbUiApplication::GetAllWindow() { + std::vector windows(windows_.size()); + std::ranges::copy(windows_, windows.begin()); + return windows; +} + +INativeWindow *XcbUiApplication::CreateWindow() { return new XcbWindow(this); } + +cru::platform::graphics::IGraphicsFactory * +XcbUiApplication::GetGraphicsFactory() { + return cairo_factory_; +} + +IMenu *XcbUiApplication::GetApplicationMenu() { return nullptr; } + void XcbUiApplication::RegisterWindow(XcbWindow *window) { windows_.push_back(window); } -- cgit v1.2.3