IRWidget.h 801 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2018 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <QDialog>
  5. #include "Common/CommonTypes.h"
  6. class IRWidget : public QWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit IRWidget(QWidget* parent);
  11. static constexpr u16 IR_MIN_X = 0;
  12. static constexpr u16 IR_MIN_Y = 0;
  13. static constexpr u16 IR_MAX_X = 1023;
  14. static constexpr u16 IR_MAX_Y = 767;
  15. signals:
  16. void ChangedX(u16 x);
  17. void ChangedY(u16 y);
  18. public slots:
  19. void SetX(u16 x);
  20. void SetY(u16 y);
  21. protected:
  22. void paintEvent(QPaintEvent* event) override;
  23. void mousePressEvent(QMouseEvent* event) override;
  24. void mouseMoveEvent(QMouseEvent* event) override;
  25. void handleMouseEvent(QMouseEvent* event);
  26. private:
  27. u16 m_x = 0;
  28. u16 m_y = 0;
  29. bool m_ignore_movement = false;
  30. };