#ifndef MAC_OPENGL_WINDOW_OBJC_H #define MAC_OPENGL_WINDOW_OBJC_H struct MacOpenGLWindowInternalData; #include "../CommonInterfaces/CommonCallbacks.h" struct MacWindowConstructionInfo { int m_width; int m_height; int m_fullscreen; int m_colorBitsPerPixel; void* m_windowHandle; const char* m_title; int m_openglVersion; int m_allowRetina; }; enum { MY_MAC_ALTKEY = 1, MY_MAC_SHIFTKEY = 2, MY_MAC_CONTROL_KEY = 4 }; #ifdef __cplusplus extern "C" { #endif struct MacOpenGLWindowInternalData* Mac_createData(); void Mac_destroyData(struct MacOpenGLWindowInternalData* data); int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData, struct MacWindowConstructionInfo* ci); void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle); int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData); void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData); int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData); void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData); float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData); void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow); int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData); int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData); int Mac_fileOpenDialog(char* filename, int maxNameLength); void Mac_setKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback); b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData); int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key); void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback); b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData); void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr); void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback); b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData); void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback); b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData); void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback); b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData); //void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback); #ifdef __cplusplus } #endif #endif //MAC_OPENGL_WINDOW_OBJC_H