MacOpenGLWindowObjC.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef MAC_OPENGL_WINDOW_OBJC_H
  2. #define MAC_OPENGL_WINDOW_OBJC_H
  3. struct MacOpenGLWindowInternalData;
  4. #include "../CommonInterfaces/CommonCallbacks.h"
  5. struct MacWindowConstructionInfo
  6. {
  7. int m_width;
  8. int m_height;
  9. int m_fullscreen;
  10. int m_colorBitsPerPixel;
  11. void* m_windowHandle;
  12. const char* m_title;
  13. int m_openglVersion;
  14. int m_allowRetina;
  15. };
  16. enum
  17. {
  18. MY_MAC_ALTKEY = 1,
  19. MY_MAC_SHIFTKEY = 2,
  20. MY_MAC_CONTROL_KEY = 4
  21. };
  22. #ifdef __cplusplus
  23. extern "C"
  24. {
  25. #endif
  26. struct MacOpenGLWindowInternalData* Mac_createData();
  27. void Mac_destroyData(struct MacOpenGLWindowInternalData* data);
  28. int Mac_createWindow(struct MacOpenGLWindowInternalData* m_internalData, struct MacWindowConstructionInfo* ci);
  29. void Mac_setWindowTitle(struct MacOpenGLWindowInternalData* data, const char* windowTitle);
  30. int Mac_updateWindow(struct MacOpenGLWindowInternalData* m_internalData);
  31. void Mac_swapBuffer(struct MacOpenGLWindowInternalData* m_internalData);
  32. int Mac_requestedExit(struct MacOpenGLWindowInternalData* m_internalData);
  33. void Mac_setRequestExit(struct MacOpenGLWindowInternalData* m_internalData);
  34. float Mac_getRetinaScale(struct MacOpenGLWindowInternalData* m_internalData);
  35. void Mac_setAllowRetina(struct MacOpenGLWindowInternalData* m_internalData, int allow);
  36. int Mac_getWidth(struct MacOpenGLWindowInternalData* m_internalData);
  37. int Mac_getHeight(struct MacOpenGLWindowInternalData* m_internalData);
  38. int Mac_fileOpenDialog(char* filename, int maxNameLength);
  39. void Mac_setKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData, b3KeyboardCallback keyboardCallback);
  40. b3KeyboardCallback Mac_getKeyboardCallback(struct MacOpenGLWindowInternalData* m_internalData);
  41. int Mac_isModifierKeyPressed(struct MacOpenGLWindowInternalData* m_internalData, int key);
  42. void Mac_setMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseButtonCallback mouseCallback);
  43. b3MouseButtonCallback Mac_getMouseButtonCallback(struct MacOpenGLWindowInternalData* m_internalData);
  44. void Mac_getMouseCoordinates(struct MacOpenGLWindowInternalData* m_internalData, int* xPtr, int* yPtr);
  45. void Mac_setMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData, b3MouseMoveCallback mouseCallback);
  46. b3MouseMoveCallback Mac_getMouseMoveCallback(struct MacOpenGLWindowInternalData* m_internalData);
  47. void Mac_setWheelCallback(struct MacOpenGLWindowInternalData* m_internalData, b3WheelCallback wheelCallback);
  48. b3WheelCallback Mac_getWheelCallback(struct MacOpenGLWindowInternalData* m_internalData);
  49. void Mac_setResizeCallback(struct MacOpenGLWindowInternalData* m_internalData, b3ResizeCallback resizeCallback);
  50. b3ResizeCallback Mac_getResizeCallback(struct MacOpenGLWindowInternalData* m_internalData);
  51. //void Mac_setRenderCallback(struct MacOpenGLWindowInternalData* m_internalData, b3RenderCallback renderCallback);
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif //MAC_OPENGL_WINDOW_OBJC_H