From 31844fa8a1710c8f573f3f30b46baf9093cee83b Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 14 Sep 2025 22:46:53 +0800 Subject: Implement visibility of xcb window. --- include/cru/platform/gui/xcb/Window.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include/cru/platform/gui/xcb/Window.h') diff --git a/include/cru/platform/gui/xcb/Window.h b/include/cru/platform/gui/xcb/Window.h index f118ed66..6d923666 100644 --- a/include/cru/platform/gui/xcb/Window.h +++ b/include/cru/platform/gui/xcb/Window.h @@ -29,8 +29,8 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { String GetTitle() override; void SetTitle(String title) override; - virtual WindowVisibilityType GetVisibility() = 0; - virtual void SetVisibility(WindowVisibilityType visibility) = 0; + WindowVisibilityType GetVisibility() override; + void SetVisibility(WindowVisibilityType visibility) override; virtual Size GetClientSize() = 0; virtual void SetClientSize(const Size& size) = 0; @@ -92,6 +92,11 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { void DoSetStyleFlags(xcb_window_t window); void DoSetTitle(xcb_window_t window); + void* XcbGetProperty(xcb_window_t window, xcb_atom_t property, + xcb_atom_t type, std::uint32_t offset, + std::uint32_t length, + std::uint32_t* out_length = nullptr); + private: XcbUiApplication* application_; std::optional xcb_window_; @@ -99,6 +104,7 @@ class XcbWindow : public XcbResource, public virtual INativeWindow { Size current_size_; WindowStyleFlag style_; std::string title_; + bool mapped_; XcbWindow* parent_; -- cgit v1.2.3