aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/gui/xcb/Window.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-09 02:21:04 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-09 02:21:04 +0800
commit2f1ea611385b5bf8985a5b0571eb71976b9a8e52 (patch)
treeaf428a29eb9881b37ea407f0bb0ad662dee88231 /include/cru/platform/gui/xcb/Window.h
parentf66b3de048daca9869e097926ed3fecb76647c7a (diff)
downloadcru-2f1ea611385b5bf8985a5b0571eb71976b9a8e52.tar.gz
cru-2f1ea611385b5bf8985a5b0571eb71976b9a8e52.tar.bz2
cru-2f1ea611385b5bf8985a5b0571eb71976b9a8e52.zip
Init xcb window.
Diffstat (limited to 'include/cru/platform/gui/xcb/Window.h')
-rw-r--r--include/cru/platform/gui/xcb/Window.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h
index 8d5c629e..2d5651e7 100644
--- a/include/cru/platform/gui/xcb/Window.h
+++ b/include/cru/platform/gui/xcb/Window.h
@@ -3,9 +3,16 @@
#include "../Window.h"
#include "Base.h"
+#include <xcb/xcb.h>
+
namespace cru::platform::gui::xcb {
+class XcbUiApplication;
+
class XcbWindow : public XcbResource, public virtual INativeWindow {
public:
+ explicit XcbWindow(XcbUiApplication* application);
+ ~XcbWindow() override;
+
virtual void Close() = 0;
virtual INativeWindow* GetParent() = 0;
@@ -68,5 +75,9 @@ class XcbWindow : public XcbResource, public virtual INativeWindow {
virtual IEvent<NativeKeyEventArgs>* KeyUpEvent() = 0;
virtual IInputMethodContext* GetInputMethodContext() = 0;
+
+ private:
+ XcbUiApplication* application_;
+ xcb_window_t xcb_window_;
};
} // namespace cru::platform::gui::xcb