123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #ifndef MAC_OPENGL_WINDOW_H
- #define MAC_OPENGL_WINDOW_H
- #include "../CommonInterfaces/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
|