OneEyeMap.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef ONEEYEMAP_H
  2. #define ONEEYEMAP_H
  3. #include <QWidget>
  4. #include <memory>
  5. #include <QTimer>
  6. #include "spdlog/spdlog.h"
  7. #include "OscData.h"
  8. namespace Ui {
  9. class OneEyeMap;
  10. }
  11. class OneEyeMap : public QWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit OneEyeMap(QWidget *parent = nullptr);
  16. ~OneEyeMap();
  17. signals:
  18. void signal_update();
  19. private slots:
  20. void do_update();
  21. protected:
  22. void paintEvent(QPaintEvent *event) override;
  23. /* 缩放事件 */
  24. void resizeEvent(QResizeEvent *event) override;
  25. private:
  26. /* 绘制刻度值区域 */
  27. void drawScaleValue(QPainter &painter);
  28. /* 绘制刻度 */
  29. void drawScale(QPainter &painter);
  30. /* 绘制眼图区域 */
  31. void drawEyeMap(QPainter &painter);
  32. private:
  33. Ui::OneEyeMap *ui;
  34. std::shared_ptr<spdlog::logger> m_logger = nullptr;
  35. QTimer m_timer;
  36. QRect m_rectScaleValue; /* 刻度值区域 */
  37. QRect m_rectEyeMap; /* 眼图区域 */
  38. int m_leftMargin = 0; /* 眼图距离刻度区域的左边距 */
  39. int m_topMargin = 0; /* 眼图距离刻度区域的上边距 */
  40. int m_rightMargin = 0; /* 眼图距离刻度区域的右边距 */
  41. int m_bottomMargin = 0; /* 眼图距离刻度区域的下边距 */
  42. };
  43. #endif // ONEEYEMAP_H