Signals and slots prepared to update content, received from UDP packet

This commit is contained in:
Ollo
2023-08-15 14:38:39 +02:00
parent 3a71ee786e
commit 536779910e
4 changed files with 55 additions and 11 deletions

View File

@@ -14,8 +14,12 @@ MainWindow::MainWindow(QWidget *parent)
this->server = new UdpLedServer ();
this->mOffscreenPanel = new QImage(DEFAULT_WIDTH + LED_DISTANCE, DEFAULT_HEIGHT + LED_DISTANCE, QImage::Format_RGB32);
this->renderPanel();
this->drawImage(this->mOffscreenPanel);
for(int x=0; x < (PANEL_WIDTH * MAXIMUM_PANELSIZE); x++) {
for(int y=0; y < PANEL_HEIGHT; y++) {
setLED(x, y);
}
}
updatePanel();
}
MainWindow::~MainWindow()
@@ -34,17 +38,21 @@ void MainWindow::drawImage(QImage *target) {
this->ui->ledPanel->addWidget(graphicsView);
}
void MainWindow::renderPanel(void) {
this->mOffscreenPanel->fill(COLOR_BACKGROUND);
void MainWindow::setLED(uint8_t x, uint8_t y) {
/* draw inital screen */
QPainter painter(this->mOffscreenPanel);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(COLOR_FOREGROUND, 1));
painter.setBrush(COLOR_FOREGROUND);
for(int x=0; x < (PANEL_WIDTH * MAXIMUM_PANELSIZE); x++) {
for(int y=0; y < PANEL_HEIGHT; y++) {
painter.drawEllipse(LED_DIAMETER/2 + (x* LED_DISTANCE), LED_DIAMETER/2 + (y * LED_DISTANCE), LED_DIAMETER, LED_DIAMETER);
}
}
painter.drawEllipse(LED_DIAMETER/2 + (x* LED_DISTANCE), LED_DIAMETER/2 + (y * LED_DISTANCE), LED_DIAMETER, LED_DIAMETER);
}
void MainWindow::updatePanel(void) {
this->drawImage(this->mOffscreenPanel);
this->renderPanel();
}
void MainWindow::renderPanel(void) {
this->mOffscreenPanel->fill(COLOR_BACKGROUND);
}