| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #ifndef B3G_WINDOW_INTERFACE_H
- #define B3G_WINDOW_INTERFACE_H
- #include "CommonCallbacks.h"
- struct b3gWindowConstructionInfo
- {
- int m_width;
- int m_height;
- bool m_fullscreen;
- int m_colorBitsPerPixel;
- void* m_windowHandle;
- const char* m_title;
- int m_openglVersion;
- int m_renderDevice;
- b3gWindowConstructionInfo(int width = 1024, int height = 768)
- : m_width(width),
- m_height(height),
- m_fullscreen(false),
- m_colorBitsPerPixel(32),
- m_windowHandle(0),
- m_title("title"),
- m_openglVersion(3),
- m_renderDevice(-1)
- {
- }
- };
- class CommonWindowInterface
- {
- public:
- virtual ~CommonWindowInterface()
- {
- }
- 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) = 0;
- virtual void closeWindow() = 0;
- virtual void runMainLoop() = 0;
- virtual float getTimeInSeconds() = 0;
- virtual bool requestedExit() const = 0;
- virtual void setRequestExit() = 0;
- virtual void startRendering() = 0;
- virtual void endRendering() = 0;
- virtual bool isModifierKeyPressed(int key) = 0;
- virtual void setMouseMoveCallback(b3MouseMoveCallback mouseCallback) = 0;
- virtual b3MouseMoveCallback getMouseMoveCallback() = 0;
- virtual void setMouseButtonCallback(b3MouseButtonCallback mouseCallback) = 0;
- virtual b3MouseButtonCallback getMouseButtonCallback() = 0;
- virtual void setResizeCallback(b3ResizeCallback resizeCallback) = 0;
- virtual b3ResizeCallback getResizeCallback() = 0;
- virtual void setWheelCallback(b3WheelCallback wheelCallback) = 0;
- virtual b3WheelCallback getWheelCallback() = 0;
- virtual void setKeyboardCallback(b3KeyboardCallback keyboardCallback) = 0;
- virtual b3KeyboardCallback getKeyboardCallback() = 0;
- virtual void setRenderCallback(b3RenderCallback renderCallback) = 0;
- virtual void setWindowTitle(const char* title) = 0;
- virtual float getRetinaScale() const = 0;
- virtual void setAllowRetina(bool allow) = 0;
- virtual int getWidth() const = 0;
- virtual int getHeight() const = 0;
- virtual int fileOpenDialog(char* fileName, int maxFileNameLength) = 0;
- };
- #endif //B3G_WINDOW_INTERFACE_H
|