diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-22 14:58:02 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-23 01:06:52 +0800 |
commit | c6bde0b556a329a8f1679b09049eee03dce14971 (patch) | |
tree | 5e8f106aa4f8857f9935c326d415315ed7fb7030 /src | |
parent | ce07249c9b99959fdac7973257526e7dd700d5d9 (diff) | |
download | cru-c6bde0b556a329a8f1679b09049eee03dce14971.tar.gz cru-c6bde0b556a329a8f1679b09049eee03dce14971.tar.bz2 cru-c6bde0b556a329a8f1679b09049eee03dce14971.zip |
Impl GetAllWindow CreateWindow GetGraphicsFactory GetApplicationMenu of XcbUiApplication.
Diffstat (limited to 'src')
-rw-r--r-- | src/platform/gui/xcb/UiApplication.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
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 <poll.h> #include <xcb/xcb.h> +#include <algorithm> namespace cru::platform::gui::xcb { XcbUiApplication::XcbUiApplication( @@ -122,6 +124,21 @@ void XcbUiApplication::HandleXEvents() { } } +std::vector<INativeWindow *> XcbUiApplication::GetAllWindow() { + std::vector<INativeWindow *> 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); } |