|
|
- #ifndef MAC_OPENGL_WINDOW_H
- #define MAC_OPENGL_WINDOW_H
-
- #include "CommonWindowInterface.h"
-
- #define b3gDefaultOpenGLWindow MacOpenGLWindow
-
- class MacOpenGLWindow : public CommonWindowInterface
- {
- struct MacOpenGLWindowInternalData* m_internalData;
- float m_mouseX;
- float m_mouseY;
- int m_modifierFlags;
-
- b3MouseButtonCallback m_mouseButtonCallback;
- b3MouseMoveCallback m_mouseMoveCallback;
- b3WheelCallback m_wheelCallback;
- b3KeyboardCallback m_keyboardCallback;
- b3RenderCallback m_renderCallback;
-
- float m_retinaScaleFactor;
- bool m_allowRetina;
-
- public:
-
- MacOpenGLWindow();
- virtual ~MacOpenGLWindow();
-
- void init(int width, int height, const char* windowTitle);
-
- void closeWindow();
-
- void startRendering();
-
- void endRendering();//swap buffers
-
- virtual bool requestedExit() const;
-
- virtual void setRequestExit();
-
- void getMouseCoordinates(int& x, int& y);
-
- void runMainLoop();
-
- virtual bool isModifierKeyPressed(int key);
-
- void setMouseButtonCallback(b3MouseButtonCallback mouseCallback)
- {
- m_mouseButtonCallback = mouseCallback;
- }
-
- void setMouseMoveCallback(b3MouseMoveCallback mouseCallback)
- {
- m_mouseMoveCallback = mouseCallback;
- }
-
- void setResizeCallback(b3ResizeCallback resizeCallback);
-
-
- void setKeyboardCallback( b3KeyboardCallback keyboardCallback)
- {
- m_keyboardCallback = keyboardCallback;
- }
-
- virtual b3MouseMoveCallback getMouseMoveCallback()
- {
- return m_mouseMoveCallback;
- }
- virtual b3MouseButtonCallback getMouseButtonCallback()
- {
- return m_mouseButtonCallback;
- }
- virtual b3ResizeCallback getResizeCallback();
-
- virtual b3WheelCallback getWheelCallback()
- {
- return m_wheelCallback;
- }
-
- b3KeyboardCallback getKeyboardCallback()
- {
- return m_keyboardCallback;
- }
-
- void setWheelCallback (b3WheelCallback wheelCallback)
- {
- m_wheelCallback = wheelCallback;
- }
-
- float getRetinaScale() const
- {
- return m_retinaScaleFactor;
- }
- virtual void setAllowRetina(bool allow)
- {
- m_allowRetina = allow;
- }
-
- virtual void createWindow(const b3gWindowConstructionInfo& ci);
-
- virtual float getTimeInSeconds();
-
-
- virtual int getWidth() const;
- virtual int getHeight() const;
-
-
- virtual void setRenderCallback( b3RenderCallback renderCallback);
-
- virtual void setWindowTitle(const char* title);
-
- int fileOpenDialog(char* filename, int maxNameLength);
-
- };
-
-
- #endif
-
|