Files
2026-04-17 20:09:41 +03:00

30 lines
783 B
C++

#pragma once
// Native UI runtime - Xcb surface abstraction
// Part of the AC6 Recompilation native presenter/window layer
#include <native/ui/surface.h>
#include <xcb/xcb.h>
namespace rex {
namespace ui {
class XcbWindowSurface final : public Surface {
public:
explicit XcbWindowSurface(xcb_connection_t* connection, xcb_window_t window)
: connection_(connection), window_(window) {}
TypeIndex GetType() const override { return kTypeIndex_XcbWindow; }
xcb_connection_t* connection() const { return connection_; }
xcb_window_t window() const { return window_; }
protected:
bool GetSizeImpl(uint32_t& width_out, uint32_t& height_out) const override;
private:
xcb_connection_t* connection_;
xcb_window_t window_;
};
} // namespace ui
} // namespace rex