diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-08-31 21:48:29 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-03 22:48:05 +0800 |
commit | cf1a0aea8080c06d70bba5984743c2948d4215c3 (patch) | |
tree | 5c4df7ca235418b13ed416f6e04d726fd3d17d57 /src/platform/gui/xcb/UiApplication.cpp | |
parent | 454dd39992b221d7394da4c99616d9eedeaee25a (diff) | |
download | cru-cf1a0aea8080c06d70bba5984743c2948d4215c3.tar.gz cru-cf1a0aea8080c06d70bba5984743c2948d4215c3.tar.bz2 cru-cf1a0aea8080c06d70bba5984743c2948d4215c3.zip |
Bootstrap xcb.
Diffstat (limited to 'src/platform/gui/xcb/UiApplication.cpp')
-rw-r--r-- | src/platform/gui/xcb/UiApplication.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp new file mode 100644 index 00000000..baa36abe --- /dev/null +++ b/src/platform/gui/xcb/UiApplication.cpp @@ -0,0 +1,20 @@ +#include <cru/platform/gui/xcb/UiApplication.h> +#include <xcb/xcb.h> + +namespace cru::platform::gui::xcb { +XcbUiApplication::XcbUiApplication() { + int screen_num; + xcb_connection_t *connection = xcb_connect(NULL, &screen_num); + this->CheckXcbConnectionError(); + const xcb_setup_t *setup = xcb_get_setup(connection); + xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup); + xcb_screen_t *screen = iter.data; +} + +XcbUiApplication::~XcbUiApplication() { xcb_disconnect(this->xcb_); } + +void XcbUiApplication::CheckXcbConnectionError() { +if (xcb_connection_has_error(this->xcb_)) { + throw XcbException(); +}} +} // namespace cru::platform::gui::xcb |