Signals and slots prepared to update content, received from UDP packet
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user