aboutsummaryrefslogtreecommitdiff
path: root/src/platform/gui/xcb/UiApplication.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-23 22:37:42 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-23 22:37:42 +0800
commit9c7d93cdb85ccc89f0804b4f280eac099c4476c6 (patch)
tree7ce2dd98c2c61e4da09a6bf750b5f8fd56f929fe /src/platform/gui/xcb/UiApplication.cpp
parent9737b7966c0b061ee80235d1c7c460efc0610894 (diff)
downloadcru-9c7d93cdb85ccc89f0804b4f280eac099c4476c6.tar.gz
cru-9c7d93cdb85ccc89f0804b4f280eac099c4476c6.tar.bz2
cru-9c7d93cdb85ccc89f0804b4f280eac099c4476c6.zip
Impl xcb cursor manager.
Diffstat (limited to 'src/platform/gui/xcb/UiApplication.cpp')
-rw-r--r--src/platform/gui/xcb/UiApplication.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp
index 74b20bd7..b95e669a 100644
--- a/src/platform/gui/xcb/UiApplication.cpp
+++ b/src/platform/gui/xcb/UiApplication.cpp
@@ -2,6 +2,7 @@
#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
#include "cru/platform/gui/Window.h"
+#include "cru/platform/gui/xcb/Cursor.h"
#include "cru/platform/gui/xcb/Window.h"
#include <poll.h>
@@ -30,9 +31,13 @@ XcbUiApplication::XcbUiApplication(
const xcb_setup_t *setup = xcb_get_setup(connection);
xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup);
this->screen_ = iter.data;
+
+ cursor_manager_ = new XcbCursorManager(this);
}
XcbUiApplication::~XcbUiApplication() {
+ delete cursor_manager_;
+
xcb_disconnect(this->xcb_connection_);
if (release_cairo_factory_) {
delete cairo_factory_;
@@ -137,6 +142,8 @@ XcbUiApplication::GetGraphicsFactory() {
return cairo_factory_;
}
+ICursorManager *XcbUiApplication::GetCursorManager() { return cursor_manager_; }
+
IMenu *XcbUiApplication::GetApplicationMenu() { return nullptr; }
void XcbUiApplication::RegisterWindow(XcbWindow *window) {