mirror of
https://github.com/sal063/AC6_recomp
synced 2026-08-30 17:49:29 -04:00
30 lines
783 B
C++
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
|