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
36#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
54 int32_t
retVal = me->FrontendMain();
56 me->InitDisplay(
true);
58 return ((
void*)(size_t)
retVal);
88#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
98#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
102 if (!
mGUI->isRunning()) {
114#ifdef GPUCA_BUILD_EVENT_DISPLAY_QT
122#if !defined(GPUCA_STANDALONE) && defined(GPUCA_BUILD_EVENT_DISPLAY_GLFW)
123 if (strcmp(
type,
"glfw") == 0 || strcmp(
type,
"auto") == 0) {
128 if (strcmp(
type,
"windows") == 0 || strcmp(
type,
"auto") == 0) {
131#elif defined(GPUCA_BUILD_EVENT_DISPLAY_X11)
132 if (strcmp(
type,
"x11") == 0 || strcmp(
type,
"auto") == 0) {
136#if defined(GPUCA_STANDALONE) && defined(GPUCA_BUILD_EVENT_DISPLAY_GLFW)
137 if (strcmp(
type,
"glfw") == 0 || strcmp(
type,
"auto") == 0) {
141#ifdef GPUCA_BUILD_EVENT_DISPLAY_WAYLAND
142 if (strcmp(
type,
"wayland") == 0 || (strcmp(
type,
"auto") == 0 && getenv(
"XDG_SESSION_TYPE") && strcmp(getenv(
"XDG_SESSION_TYPE"),
"wayland") == 0)) {
146#ifdef GPUCA_BUILD_EVENT_DISPLAY_GLUT
147 if (strcmp(
type,
"glut") == 0 || strcmp(
type,
"auto") == 0) {
152 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