Widget wich displays light.
[yandex-traffic] / light.cpp
1 #include <QtGui>
2 #include "light.hpp"
3 #include "traffic.hpp"
4
5
6 // --------------------------------------------------
7 // TrafficLight
8 // --------------------------------------------------
9 TrafficLight::TrafficLight (QWidget *parent)
10     : QWidget (parent)
11 {
12     _color = ExtendedTrafficInfo::Green;
13 }
14
15
16 void TrafficLight::paintEvent (QPaintEvent *)
17 {
18     QPainter painter (this);
19     QColor color;
20     int side = qMin (width (), height ());
21
22     switch (_color) {
23         case ExtendedTrafficInfo::Green:
24             color = Qt::green;
25             break;
26         case ExtendedTrafficInfo::Yellow:
27             color = Qt::yellow;
28             break;
29         case ExtendedTrafficInfo::Red:
30             color = Qt::red;
31             break;
32     }
33
34     painter.setRenderHint(QPainter::Antialiasing);
35     painter.setPen (color);
36     painter.setBrush (color);
37     painter.drawEllipse ((width ()-side)/2, (height ()-side)/2, side, side);
38 }
39