Waffle.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef WAFFLE_H
  2. #define WAFFLE_H
  3. #pragma once
  4. #include "CInterface.h"
  5. #include <QWidget>
  6. #include <vector>
  7. #include <QMenu>
  8. #include "WaffleGraphicsView.h"
  9. #include "DieItem.h"
  10. class Waffle : public QWidget
  11. {
  12. public:
  13. Waffle(int flag, QWidget *parent = nullptr);
  14. void paintEvent(QPaintEvent *event) override;
  15. QColor getColorByStatus(PICK_DIE_STATUS status);
  16. void initFrom(QWidget *parent);
  17. void paintInitFrom(QWidget *parent);
  18. QPixmap getGlobalPixmap() const;
  19. QGraphicsScene* scene;
  20. WaffleGraphicsView *view;
  21. protected:
  22. private:
  23. void drawWaffle(QPainter &painter, int startX, int startY, int rows, int cols, int gridSize, int gap);
  24. // 华夫台的参数
  25. int gridSize; // 每个格子的大小
  26. int gap; // 格子之间的间隙
  27. int rows = 3; // 华夫台的行数
  28. int cols = 3; // 华夫台的列数
  29. // 华夫盒的参数
  30. int boxRows = 3; // 华夫盒的行数
  31. int boxCols = 4; // 华夫盒的列数
  32. int boxGap; // 华夫台之间的间隙
  33. QVector<WAFFLE_MATRIX_POINT_STRUCT> waffleData;
  34. int centerX, centerY;
  35. QPixmap globalPixmap;
  36. };
  37. #endif // WAFFLE_H