-
Notifications
You must be signed in to change notification settings - Fork 0
/
GridLayout.cpp
44 lines (32 loc) · 1.14 KB
/
GridLayout.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
#include "GridLayout.h"
/* ------------------------------------------------------------------------- */
GridLayout::GridLayout(Adafruit_ILI9341 * display) : Layout(display) {
this->gauges_wide = 3;
this->gauges_high = 2;
}
/* ------------------------------------------------------------------------- */
void GridLayout::draw() {
uint16_t x = 0;
uint16_t y = 0;
uint16_t width = this->display->width() / this->gauges_wide;
uint16_t height = this->display->height();
for(uint8_t i = 0; i < this->gauge_count; i++) {
if(i == this->gauges_wide) {
y += height / this->gauges_high;
x = 0;
}
if(this->gauges[i] != NULL) {
this->gauges[i]->draw(x, y, width, height / this->gauges_high);
x += width;
}
}
}
/* ------------------------------------------------------------------------- */
void GridLayout::set_gauges_high(uint16_t value) {
this->gauges_high = value;
}
/* ------------------------------------------------------------------------- */
void GridLayout::set_gauges_wide(uint16_t value) {
this->gauges_wide = value;
}
/* ------------------------------------------------------------------------- */