DisplayManagerDummy.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "QsLog.h"
  2. #include "DisplayManagerDummy.h"
  3. ///////////////////////////////////////////////////////////////////////////////////////////////////
  4. void DisplayManagerDummy::addMode(float rate)
  5. {
  6. if (!m_displays.size())
  7. return;
  8. DMVideoModePtr mode = DMVideoModePtr(new DMVideoMode());
  9. mode->m_id = m_displays[0]->m_videoModes.size();
  10. mode->m_interlaced = false;
  11. mode->m_refreshRate = rate;
  12. mode->m_width = 1280;
  13. mode->m_height = 720;
  14. mode->m_bitsPerPixel = 0;
  15. m_displays[0]->m_videoModes[mode->m_id] = mode;
  16. }
  17. ///////////////////////////////////////////////////////////////////////////////////////////////////
  18. bool DisplayManagerDummy::initialize()
  19. {
  20. m_displays.clear();
  21. DMDisplayPtr display = DMDisplayPtr(new DMDisplay());
  22. display->m_id = m_displays.size();
  23. display->m_name = "Dummy display";
  24. m_displays[display->m_id] = display;
  25. addMode(60);
  26. return DisplayManager::initialize();
  27. }
  28. ///////////////////////////////////////////////////////////////////////////////////////////////////
  29. bool DisplayManagerDummy::setDisplayMode(int display, int mode)
  30. {
  31. if (!isValidDisplayMode(display, mode))
  32. return false;
  33. DMDisplayPtr displayptr = m_displays[display];
  34. DMVideoModePtr videomode = displayptr->m_videoModes[mode];
  35. QLOG_INFO() << "Switching to" << videomode->m_width << "x" << videomode->m_height << "@" << videomode->m_refreshRate;
  36. m_currentMode = videomode->m_id;
  37. return true;
  38. }
  39. ///////////////////////////////////////////////////////////////////////////////////////////////////
  40. int DisplayManagerDummy::getCurrentDisplayMode(int display)
  41. {
  42. if (!isValidDisplay(display))
  43. return -1;
  44. return m_currentMode;
  45. };
  46. ///////////////////////////////////////////////////////////////////////////////////////////////////
  47. int DisplayManagerDummy::getMainDisplay()
  48. {
  49. return 0;
  50. }
  51. ///////////////////////////////////////////////////////////////////////////////////////////////////
  52. int DisplayManagerDummy::getDisplayFromPoint(int x, int y)
  53. {
  54. if (m_displays.size())
  55. {
  56. if (x >= 0 && y >= 0 && x < 1280 && y < 720)
  57. return 0;
  58. }
  59. return -1;
  60. }