-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathpolygons.cpp
48 lines (37 loc) · 896 Bytes
/
polygons.cpp
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
#include <QtGui>
#include "polygons.h"
#include "utils.h"
Polygons::Polygons()
{}
void Polygons::setZoom(double zoom)
{
m_scaledPolygons.clear();
m_scaledPolygons.reserve(m_polygons.size());
foreach(QPolygon polygon, m_polygons)
{
for(int i = 0;i < polygon.size();i++)
{
polygon.setPoint(i, polygon.point(i) * zoom);
}
m_scaledPolygons.append(polygon);
}
}
void Polygons::draw(QPainter *painter)
{
if(!painter)
return;
painter->setPen(Utils::polygonPaintingPen());
foreach(const QPolygon &polygon, m_scaledPolygons)
{
painter->drawPolygon(polygon);
}
}
Polygons Polygons::fromPlates(const PlateFileList &plateFileList)
{
Polygons polygons;
foreach(const PlateFile &plateFile, plateFileList)
{
polygons.append(plateFile.plateCorners());
}
return polygons;
}