20#elif defined(GPUCA_BUILD_EVENT_DISPLAY_X11)
23#ifdef GPUCA_BUILD_EVENT_DISPLAY_GLFW
26#ifdef GPUCA_BUILD_EVENT_DISPLAY_GLUT
29#ifdef GPUCA_BUILD_EVENT_DISPLAY_WAYLAND
33#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
51 int32_t
retVal = me->FrontendMain();
53 me->InitDisplay(
true);
55 return ((
void*)(size_t)
retVal);
85#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
95#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
99 if (!
mGUI->isRunning()) {
111#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
119#if !defined(GPUCA_STANDALONE) && defined(GPUCA_BUILD_EVENT_DISPLAY_GLFW)
120 if (strcmp(
type,
"glfw") == 0 || strcmp(
type,
"auto") == 0) {
125 if (strcmp(
type,
"windows") == 0 || strcmp(
type,
"auto") == 0) {
128#elif defined(GPUCA_BUILD_EVENT_DISPLAY_X11)
129 if (strcmp(
type,
"x11") == 0 || strcmp(
type,
"auto") == 0) {
133#if defined(GPUCA_STANDALONE) && defined(GPUCA_BUILD_EVENT_DISPLAY_GLFW)
134 if (strcmp(
type,
"glfw") == 0 || strcmp(
type,
"auto") == 0) {
138#ifdef GPUCA_BUILD_EVENT_DISPLAY_WAYLAND
139 if (strcmp(
type,
"wayland") == 0 || (strcmp(
type,
"auto") == 0 && getenv(
"XDG_SESSION_TYPE") && strcmp(getenv(
"XDG_SESSION_TYPE"),
"wayland") == 0)) {
143#ifdef GPUCA_BUILD_EVENT_DISPLAY_GLUT
144 if (strcmp(
type,
"glut") == 0 || strcmp(
type,
"auto") == 0) {
149 GPUError(
"Requested frontend not available");
std::unique_ptr< GPUDisplayGUIWrapper > mGUI
int32_t & drawTextFontSize()
~GPUDisplayFrontend() override
static void * FrontendThreadWrapper(void *)
void HandleKey(uint8_t key)
static GPUDisplayFrontend * getFrontend(const char *type)
void ResizeScene(int32_t width, int32_t height)
bool EnableSendKey() override
int32_t InitDisplay(bool initFailure=false)
GPUDisplayBackend * backend()
volatile int32_t mSendKey
void HandleKey(uint8_t key)
void HandleSendKey(int32_t key)
int32_t & drawTextFontSize()
int32_t InitDisplay(bool initFailure=false)
GPUDisplayBackend * backend() const
void ResizeScene(int32_t width, int32_t height, bool init=false)
GLint GLsizei GLsizei height
GLint GLint GLsizei GLint GLenum GLenum type