15#ifndef GPUDISPLAYFRONTENDWAYLAND_H
16#define GPUDISPLAYFRONTENDWAYLAND_H
20#include <wayland-client.h>
25struct zxdg_decoration_manager_v1;
26struct zxdg_toplevel_decoration_v1;
44 void OpenGLPrint(
const char* s,
float x,
float y,
float r,
float g,
float b,
float a,
bool fromBotton =
true)
override;
50 int32_t FrontendMain()
override;
51 int32_t GetKey(uint32_t
key, uint32_t
state);
53 void recreateBuffer(uint32_t
width, uint32_t
height);
56 volatile bool mDisplayRunning =
false;
58 wl_display* mWayland =
nullptr;
59 wl_registry* mRegistry =
nullptr;
61 wl_compositor* mCompositor =
nullptr;
62 wl_seat* mSeat =
nullptr;
63 wl_pointer* mPointer =
nullptr;
64 wl_keyboard* mKeyboard =
nullptr;
65 xdg_wm_base* mXdgBase =
nullptr;
66 wl_shm* mShm =
nullptr;
68 wl_surface* mSurface =
nullptr;
69 xdg_surface* mXdgSurface =
nullptr;
70 xdg_toplevel* mXdgToplevel =
nullptr;
72 wl_output* mOutput =
nullptr;
78 xkb_context* mXKBcontext =
nullptr;
79 xkb_keymap* mXKBkeymap =
nullptr;
80 xkb_state* mXKBstate =
nullptr;
82 zxdg_decoration_manager_v1* mDecManager =
nullptr;
85 int32_t mWidthRequested = 0;
86 int32_t mHeightRequested = 0;
void ToggleMaximized(bool set) override
~GPUDisplayFrontendWayland() override=default
void SwitchFullscreen(bool set) override
int32_t getVulkanSurface(void *instance, void *surface) override
int32_t StartDisplay() override
void getSize(int32_t &width, int32_t &height) override
void DisplayExit() override
void OpenGLPrint(const char *s, float x, float y, float r, float g, float b, float a, bool fromBotton=true) override
GPUDisplayFrontendWayland()
uint32_t getReqVulkanExtensions(const char **&p) override
void SetVSync(bool enable) override
GLint GLsizei GLsizei height
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a