Monitor.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "Monitor.h"
  2. #include "AppGLFW.h"
  3. namespace gameplay
  4. {
  5. Monitor::Monitor()
  6. {
  7. }
  8. Monitor::~Monitor()
  9. {
  10. }
  11. const char* Monitor::get_name() const
  12. {
  13. return glfwGetMonitorName(handle->glfwMonitor);
  14. }
  15. Monitor::VideoMode Monitor::get_video_mode() const
  16. {
  17. VideoMode videoMode;
  18. const GLFWvidmode* vidMode = glfwGetVideoMode(handle->glfwMonitor);
  19. videoMode.width = vidMode->width;
  20. videoMode.height = vidMode->height;
  21. videoMode.redBits = vidMode->redBits;
  22. videoMode.greenBits = vidMode->greenBits;
  23. videoMode.blueBits = vidMode->blueBits;
  24. videoMode.refreshRate = vidMode->refreshRate;
  25. return videoMode;
  26. }
  27. Int2 Monitor::get_physical_size() const
  28. {
  29. Int2 size;
  30. glfwGetMonitorPhysicalSize(handle->glfwMonitor, &size.x, &size.y);
  31. return size;
  32. }
  33. Int2 Monitor::get_pos() const
  34. {
  35. Int2 pos;
  36. glfwGetMonitorPos(handle->glfwMonitor, &pos.x, &pos.y);
  37. return pos;
  38. }
  39. Float2 Monitor::get_content_scale() const
  40. {
  41. Float2 scale;
  42. glfwGetMonitorContentScale(handle->glfwMonitor, &scale.x, &scale.y);
  43. return scale;
  44. }
  45. Monitor::WorkArea Monitor::get_work_area() const
  46. {
  47. WorkArea workArea;
  48. glfwGetMonitorWorkarea(handle->glfwMonitor, &workArea.pos.x, &workArea.pos.y, &workArea.size.x, &workArea.size.y);
  49. return workArea;
  50. }
  51. void Monitor::set_user_ptr(void* userPtr)
  52. {
  53. handle->userPtr = userPtr;
  54. }
  55. void* Monitor::get_user_ptr() const
  56. {
  57. return handle->userPtr;
  58. }
  59. }