15#ifndef GPUDISPLAYFRONTEND_H
16#define GPUDISPLAYFRONTEND_H
27class GPUReconstruction;
29class GPUDisplayBackend;
30class GPUDisplayGUIWrapper;
31struct GPUDisplayGUIChannel;
62 virtual void OpenGLPrint(
const char* s,
float x,
float y,
float r,
float g,
float b,
float a,
bool fromBotton =
true) = 0;
152 std::unique_ptr<GPUDisplayGUIWrapper>
mGUI;
167 bool HandleExternalGUIKeys();
const Acts::Surface * surface
std::unique_ptr< GPUDisplayGUIWrapper > mGUI
virtual void StopDisplayA()
void HandleExternalGUISignals()
int32_t & drawTextFontSize()
static constexpr int32_t KEY_F9
~GPUDisplayFrontend() override
const char * mFrontendName
virtual uint32_t getReqVulkanExtensions(const char **&p)
static constexpr int32_t KEY_F2
virtual float getRefreshRate()
std::mutex mExternalGUIKeyMutex
static void * FrontendThreadWrapper(void *)
bool HasExternalGUISignals() const
static constexpr int32_t KEY_ALT
void HandleKey(uint8_t key)
virtual void getSize(int32_t &width, int32_t &height)
static constexpr int32_t KEY_F12
std::unique_ptr< GPUDisplayGUIChannel > mGUIChannel
virtual int32_t FrontendMain()=0
static constexpr int32_t KEY_F7
static constexpr int32_t KEY_END
static constexpr int32_t KEY_PAGEDOWN
static constexpr int32_t KEY_RALT
volatile int32_t mDisplayControl
static constexpr int32_t KEY_F10
virtual void OpenGLPrint(const char *s, float x, float y, float r, float g, float b, float a, bool fromBotton=true)=0
static constexpr int32_t KEY_F4
static constexpr int32_t KEY_LEFT
virtual void ToggleMaximized(bool set)=0
std::mutex mExitStateMutex
static constexpr int32_t KEY_ENTER
static constexpr int32_t KEY_F6
int32_t getDisplayControl() const override
volatile int32_t mNeedUpdate
static GPUDisplayFrontend * getFrontend(const char *type)
static constexpr int32_t KEY_CTRL
static constexpr int32_t KEY_F1
void ResizeScene(int32_t width, int32_t height)
static constexpr const char * DISPLAY_WINDOW_NAME
frontendTypes frontendType() const
static constexpr int32_t INIT_WIDTH
void setDisplayControl(int32_t v) override
static constexpr int32_t GL_MIN_VERSION_MAJOR
virtual bool canSetVSync()
frontendTypes mFrontendType
static constexpr int32_t KEY_SHIFT
static constexpr int32_t KEY_F3
static constexpr int32_t KEY_INSERT
void StopDisplay() override
static constexpr int32_t KEY_F11
void setWindowState(bool fullScreen, bool maximized)
static constexpr int32_t KEY_SPACE
const char * frontendName() const override
static constexpr int32_t KEY_F5
void sendExternalGUIKey(int32_t v) override
static constexpr int32_t KEY_PAGEUP
static constexpr int32_t KEY_HOME
std::vector< int32_t > mExternalGUIKeys
virtual int32_t getVulkanSurface(void *instance, void *surface)
GPUDisplayBackend * mBackend
static constexpr int32_t GL_MIN_VERSION_MINOR
int32_t InitDisplay(bool initFailure=false)
bool vsyncEnabled() const
GPUDisplayBackend * backend()
virtual void SetVSync(bool enable)=0
static constexpr int32_t KEY_UP
static constexpr int32_t KEY_DOWN
static constexpr int32_t KEY_F8
void applyInitialWindowState()
static constexpr int32_t MIN_WIDTH
static constexpr int32_t INIT_HEIGHT
std::chrono::steady_clock::time_point mNextFrameTime
virtual float getDisplayScale() const
static constexpr int32_t KEY_RIGHT
volatile bool mDisplayRunning
static constexpr int32_t KEY_RCTRL
virtual void SwitchFullscreen(bool set)=0
static constexpr int32_t MIN_HEIGHT
static constexpr int32_t KEY_ESCAPE
GLint GLsizei GLsizei height
GLboolean GLboolean GLboolean b
GLint GLint GLsizei GLint GLenum GLenum type
GLboolean GLboolean GLboolean GLboolean a