1- #ifndef C_WINDOW_MANAGER_XCB
2- #define C_WINDOW_MANAGER_XCB
1+ #ifndef _NBL_UI_C__WINDOWMANAGER_XCB_INCLUDED_
2+ #define _NBL_UI_C__WINDOWMANAGER_XCB_INCLUDED_
33
44#ifdef _NBL_PLATFORM_LINUX_
55#include " nbl/core/decl/Types.h"
66
77#include " nbl/system/DefaultFuncPtrLoader.h"
88
99#include " nbl/ui/IWindow.h"
10- #include " nbl/ui/IWindowManager .h"
10+ #include " nbl/ui/IWindowManagerXCB .h"
1111
1212#include < functional>
1313#include < memory>
1414#include < string>
1515
16- #include < xcb/xcb.h>
17- #include < xcb/xcb_icccm.h>
18- #include < xcb/xproto.h>
19-
2016namespace nbl ::ui
2117{
2218
23- NBL_SYSTEM_DECLARE_DYNAMIC_FUNCTION_CALLER_CLASS (Xcb, system::DefaultFuncPtrLoader,
24- xcb_destroy_window,
25- xcb_generate_id,
26- xcb_create_window,
27- xcb_connect,
28- xcb_disconnect,
29- xcb_map_window,
30- xcb_get_setup,
31- xcb_setup_roots_iterator,
32- xcb_flush,
33- xcb_intern_atom,
34- xcb_intern_atom_reply,
35- xcb_unmap_window,
36- xcb_get_property,
37- xcb_get_property_reply,
38- xcb_get_property_value_length,
39- xcb_change_property,
40- xcb_configure_window_checked,
41- xcb_get_property_value,
42- xcb_wait_for_event,
43- xcb_send_event,
44- xcb_request_check,
45- xcb_delete_property,
46- xcb_change_window_attributes,
47- xcb_warp_pointer,
48- xcb_query_pointer,
49- xcb_query_pointer_reply,
50- xcb_get_selection_owner_reply,
51- xcb_get_selection_owner
52- );
53-
54- NBL_SYSTEM_DECLARE_DYNAMIC_FUNCTION_CALLER_CLASS (XcbIcccm, system::DefaultFuncPtrLoader,
55- xcb_icccm_set_wm_hints,
56- xcb_icccm_size_hints_set_size,
57- xcb_icccm_size_hints_set_min_size,
58- xcb_icccm_size_hints_set_max_size,
59- xcb_icccm_set_wm_normal_hints
60- );
61-
62- class CWindowManagerXCB : public IWindowManager
19+ class CWindowManagerXCB final : public IWindowManagerXCB
6320{
6421public:
65-
66- virtual bool setWindowSize_impl (IWindow* window, uint32_t width, uint32_t height) override ;
67- virtual bool setWindowPosition_impl (IWindow* window, int32_t x, int32_t y) override ;
68- virtual bool setWindowRotation_impl (IWindow* window, bool landscape) override ;
69- virtual bool setWindowVisible_impl (IWindow* window, bool visible) override ;
70- virtual bool setWindowMaximized_impl (IWindow* window, bool maximized) override ;
22+
23+ bool setWindowSize_impl (IWindow* window, uint32_t width, uint32_t height) override ;
24+ bool setWindowPosition_impl (IWindow* window, int32_t x, int32_t y) override ;
25+ bool setWindowRotation_impl (IWindow* window, bool landscape) override ;
26+ bool setWindowVisible_impl (IWindow* window, bool visible) override ;
27+ bool setWindowMaximized_impl (IWindow* window, bool maximized) override ;
7128
7229 inline SDisplayInfo getPrimaryDisplayInfo () const override final {
7330 return SDisplayInfo ();
@@ -76,9 +33,9 @@ class CWindowManagerXCB : public IWindowManager
7633 CWindowManagerXCB ();
7734 ~CWindowManagerXCB () override = default ;
7835
79- virtual core::smart_refctd_ptr<IWindow> createWindow (IWindow::SCreationParams&& creationParams) override ;
36+ core::smart_refctd_ptr<IWindow> createWindow (IWindow::SCreationParams&& creationParams) override ;
8037
81- virtual void destroyWindow (IWindow* wnd) override final {}
38+ void destroyWindow (IWindow* wnd) override final {}
8239
8340 const Xcb& getXcbFunctionTable () const { return m_xcb; }
8441 const XcbIcccm& getXcbIcccmFunctionTable () const { return m_xcbIcccm; }
0 commit comments