-
Notifications
You must be signed in to change notification settings - Fork 2
/
roomplandrawer.h
53 lines (42 loc) · 1.3 KB
/
roomplandrawer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef ROOMPLANDRAWER_H
#define ROOMPLANDRAWER_H
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include "roomplan.h"
// Класс для отрисовки плана помещения на форме
// Класс привязан к QWidget на котором будет производится отрисовка
class RoomPlanDrawer : public QWidget
{
private:
// План, который рисуем
RoomPlan* roomPlan;
// Ширина клетки
const int CELL_WIDTH = 10;
enum objOnRoomPlan {
EMPTY = 0,
WALL = 1,
EXIT = 2,
FIRE = 3,
HUMAN = 4,
DEAD_HUMAN = -4,
SMOKE = 5,
EVACUATION_BUT = 6,
EXIT_POINTER = 7,
FIREEXTINGUISHER = 8
};
public:
// Конструктор
// parent - форма
explicit RoomPlanDrawer(QWidget* parent = nullptr);
// Конструктор
RoomPlanDrawer();
// Рисование
void draw();
// Событие отрисовки
void paintEvent(QPaintEvent* event);
// Установка плана помещения
// roomPlan - план помещения, который рисуем
void setRoomPlan(RoomPlan* roomPlan);
};
#endif // ROOMPLANDRAWER_H