#ifndef EGL_OPENGL_WINDOW_H #define EGL_OPENGL_WINDOW_H #ifdef BT_USE_EGL #define b3gDefaultOpenGLWindow EGLOpenGLWindow #include "../CommonInterfaces/CommonWindowInterface.h" class EGLOpenGLWindow : public CommonWindowInterface { struct EGLInternalData2* m_data; bool m_OpenGLInitialized; bool m_requestedExit; public: EGLOpenGLWindow(); virtual ~EGLOpenGLWindow(); virtual void createDefaultWindow(int width, int height, const char* title) { b3gWindowConstructionInfo ci(width,height); ci.m_title = title; createWindow(ci); } virtual void createWindow(const b3gWindowConstructionInfo& ci); virtual void closeWindow(); virtual void runMainLoop(); virtual float getTimeInSeconds(); virtual bool requestedExit() const; virtual void setRequestExit(); virtual void startRendering(); virtual void endRendering(); virtual bool isModifierKeyPressed(int key); virtual void setMouseMoveCallback(b3MouseMoveCallback mouseCallback); virtual b3MouseMoveCallback getMouseMoveCallback(); virtual void setMouseButtonCallback(b3MouseButtonCallback mouseCallback); virtual b3MouseButtonCallback getMouseButtonCallback(); virtual void setResizeCallback(b3ResizeCallback resizeCallback); virtual b3ResizeCallback getResizeCallback(); virtual void setWheelCallback(b3WheelCallback wheelCallback); virtual b3WheelCallback getWheelCallback(); virtual void setKeyboardCallback( b3KeyboardCallback keyboardCallback); virtual b3KeyboardCallback getKeyboardCallback(); virtual void setRenderCallback( b3RenderCallback renderCallback); virtual void setWindowTitle(const char* title); virtual float getRetinaScale() const; virtual void setAllowRetina(bool allow); virtual int getWidth() const; virtual int getHeight() const; virtual int fileOpenDialog(char* fileName, int maxFileNameLength); }; #endif //BT_USE_EGL #endif //EGL_OPENGL_WINDOW_H