WaylandMouseInput.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "WaylandMouseInput.h"
  2. #include "WallpaperEngine/Render/Drivers/WaylandOpenGLDriver.h"
  3. #include <glm/common.hpp>
  4. using namespace WallpaperEngine::Input::Drivers;
  5. WaylandMouseInput::WaylandMouseInput (const WallpaperEngine::Render::Drivers::WaylandOpenGLDriver& driver) :
  6. m_waylandDriver (driver) { }
  7. void WaylandMouseInput::update () { }
  8. glm::dvec2 WaylandMouseInput::position () const {
  9. if (!this->m_waylandDriver.getApp ().getContext ().settings.mouse.enabled) {
  10. return { 0, 0 };
  11. }
  12. if (m_waylandDriver.viewportInFocus && m_waylandDriver.viewportInFocus->rendering) {
  13. return m_waylandDriver.viewportInFocus->mousePos;
  14. }
  15. return { 0, 0 };
  16. }
  17. WallpaperEngine::Input::MouseClickStatus WaylandMouseInput::leftClick () const {
  18. if (m_waylandDriver.viewportInFocus && m_waylandDriver.viewportInFocus->rendering) {
  19. return m_waylandDriver.viewportInFocus->leftClick;
  20. }
  21. return MouseClickStatus::Released;
  22. }
  23. WallpaperEngine::Input::MouseClickStatus WaylandMouseInput::rightClick () const {
  24. if (m_waylandDriver.viewportInFocus && m_waylandDriver.viewportInFocus->rendering) {
  25. return m_waylandDriver.viewportInFocus->rightClick;
  26. }
  27. return MouseClickStatus::Released;
  28. }