aboutsummaryrefslogtreecommitdiff
path: root/src/platform/gui/xcb
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-23 22:54:09 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-23 22:54:09 +0800
commitd79c8842fac8ddea402e9dd411e55ea583f74f03 (patch)
treecbc611bb7908e4537ae949c64d6a00420af6ee0e /src/platform/gui/xcb
parent9c7d93cdb85ccc89f0804b4f280eac099c4476c6 (diff)
downloadcru-d79c8842fac8ddea402e9dd411e55ea583f74f03.tar.gz
cru-d79c8842fac8ddea402e9dd411e55ea583f74f03.tar.bz2
cru-d79c8842fac8ddea402e9dd411e55ea583f74f03.zip
Enable bootstrap of xcb.
Diffstat (limited to 'src/platform/gui/xcb')
-rw-r--r--src/platform/gui/xcb/UiApplication.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp
index b95e669a..9daac385 100644
--- a/src/platform/gui/xcb/UiApplication.cpp
+++ b/src/platform/gui/xcb/UiApplication.cpp
@@ -1,5 +1,6 @@
#include "cru/platform/gui/xcb/UiApplication.h"
+#include "cru/base/Base.h"
#include "cru/platform/graphics/cairo/CairoGraphicsFactory.h"
#include "cru/platform/gui/Window.h"
#include "cru/platform/gui/xcb/Cursor.h"
@@ -23,6 +24,7 @@ XcbUiApplication::XcbUiApplication(
int screen_num;
xcb_connection_t *connection = xcb_connect(NULL, &screen_num);
+ xcb_connection_ = connection;
this->CheckXcbConnectionError();
event_loop_.SetPoll(xcb_get_file_descriptor(connection), POLLIN,
@@ -44,6 +46,10 @@ XcbUiApplication::~XcbUiApplication() {
}
}
+graphics::cairo::CairoGraphicsFactory *XcbUiApplication::GetCairoFactory() {
+ return cairo_factory_;
+}
+
void XcbUiApplication::CheckXcbConnectionError() {
if (xcb_connection_has_error(this->xcb_connection_)) {
throw XcbException("xcb_connection_has_error returned non-zero.");
@@ -144,6 +150,8 @@ XcbUiApplication::GetGraphicsFactory() {
ICursorManager *XcbUiApplication::GetCursorManager() { return cursor_manager_; }
+IClipboard *XcbUiApplication::GetClipboard() { NotImplemented(); }
+
IMenu *XcbUiApplication::GetApplicationMenu() { return nullptr; }
void XcbUiApplication::RegisterWindow(XcbWindow *window) {