bullet3/examples/OpenGLWindow/MacOpenGLWindow.h
Erwin Coumans e487bc360b add support for setuptools setup.py pybullet for 'pip install pybullet'
rewrite MacOpenGLWindow.mm into .m version, so that setup.py can handle it.
See also test at https://pypi.python.org/pypi/pybullet/0.1.0
2017-04-02 23:00:06 -07:00

80 lines
1.7 KiB
C++

#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;
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);
void setMouseMoveCallback(b3MouseMoveCallback mouseCallback);
void setResizeCallback(b3ResizeCallback resizeCallback);
void setKeyboardCallback( b3KeyboardCallback keyboardCallback);
virtual b3MouseMoveCallback getMouseMoveCallback();
virtual b3MouseButtonCallback getMouseButtonCallback();
virtual b3ResizeCallback getResizeCallback();
virtual b3WheelCallback getWheelCallback();
b3KeyboardCallback getKeyboardCallback();
void setWheelCallback (b3WheelCallback wheelCallback);
float getRetinaScale() const;
virtual void setAllowRetina(bool 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