src/LED.cpp

Wed, 29 Jun 2022 22:19:39 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 29 Jun 2022 22:19:39 +0200
changeset 317
f78827503fb0
parent 314
04b93b656b60
permissions
-rw-r--r--

Added DetailFermenter screen

314
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 #include <math.h>
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 #include <QPainter>
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 #include <QGradient>
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 #include <QPaintDevice>
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 #include <QTimer>
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 #include "LED.h"
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 LED(QWidget* parent) :
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 QWidget(parent),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 diameter_(5),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 color_(QColor("red")),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 alignment_(Qt::AlignCenter),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 initialState_(true),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 state_(true),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 flashRate_(200),
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 flashing_(false)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 timer_ = new QTimer(this);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 connect(timer_, SIGNAL(timeout()), this, SLOT(toggleState()));
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 setDiameter(diameter_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 ~LED()
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 double LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 diameter() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 return diameter_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40 setDiameter(double diameter)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 diameter_ = diameter;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 pixX_ = round(double(height())/heightMM());
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 pixY_ = round(double(width())/widthMM());
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 diamX_ = diameter_*pixX_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 diamY_ = diameter_*pixY_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54 QColor LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55 color() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 return color_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61 setColor(const QColor& color)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63 color_ = color;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 Qt::Alignment LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 alignment() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70 return alignment_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
71 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
72
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
73 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
74 setAlignment(Qt::Alignment alignment)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
75 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
76 alignment_ = alignment;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
77
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
78 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
79 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
80
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
82 setFlashRate(int rate)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
83 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
84 flashRate_ = rate;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
85
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90 setFlashing(bool flashing)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
91 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 flashing_ = flashing;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
94 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
95 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
96
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
97 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
98 startFlashing()
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
99 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
100 setFlashing(true);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
101 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
102
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
103 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
104 stopFlashing()
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
105 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
106 setFlashing(false);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
107 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
108
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
109
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
110 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
111 setState(bool state)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
112 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
113 state_ = state;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
114 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
115 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
116
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
117 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
118 toggleState()
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
119 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
120 state_ = !state_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
121 update();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
122 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
123
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
124 int LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
125 heightForWidth(int width) const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
126 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
127 return width;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
128 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
129
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
130 QSize LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
131 sizeHint() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
132 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
133 return QSize(diamX_, diamY_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
134 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
135
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
136 QSize LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
137 minimumSizeHint() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
138 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
139 return QSize(diamX_, diamY_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
140 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
141
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
142 void LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
143 paintEvent(QPaintEvent *event)
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
144 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
145 Q_UNUSED(event);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
146
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
147 QPainter p(this);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
148
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
149 QRect geo = geometry();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
150 int width = geo.width();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
151 int height = geo.height();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
152
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
153 int x=0, y=0;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
154 if ( alignment_ & Qt::AlignLeft )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
155 x = 0;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
156 else if ( alignment_ & Qt::AlignRight )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
157 x = width-diamX_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
158 else if ( alignment_ & Qt::AlignHCenter )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
159 x = (width-diamX_)/2;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
160 else if ( alignment_ & Qt::AlignJustify )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
161 x = 0;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
162
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
163 if ( alignment_ & Qt::AlignTop )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
164 y = 0;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
165 else if ( alignment_ & Qt::AlignBottom )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
166 y = height-diamY_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
167 else if ( alignment_ & Qt::AlignVCenter )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
168 y = (height-diamY_)/2;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
169
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
170 QRadialGradient g(x+diamX_/2, y+diamY_/2, diamX_*0.4,
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
171 diamX_*0.4, diamY_*0.4);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
172
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
173 g.setColorAt(0, Qt::white);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 if ( state_ )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
175 g.setColorAt(1, color_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
176 else
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
177 g.setColorAt(1, Qt::black);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
178 QBrush brush(g);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
179
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
180 p.setPen(color_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
181 p.setRenderHint(QPainter::Antialiasing, true);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
182 p.setBrush(brush);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
183 p.drawEllipse(x, y, diamX_-1, diamY_-1);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
184
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
185 if ( flashRate_ > 0 && flashing_ )
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
186 timer_->start(flashRate_);
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
187 else
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
188 timer_->stop();
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
189 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
190
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
191 bool LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
192 state() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
193 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 return state_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
195 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
197 bool LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
198 isFlashing() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
199 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
200 return flashing_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
201 }
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
202
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
203 int LED::
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
204 flashRate() const
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
205 {
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
206 return flashRate_;
04b93b656b60 Added LED plugin.
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
207 }

mercurial