aboutsummaryrefslogtreecommitdiff
path: root/qtmips_gui/lcddisplayview.h
diff options
context:
space:
mode:
authorPavel Pisa <pisa@cmp.felk.cvut.cz>2019-06-28 00:53:34 +0200
committerPavel Pisa <pisa@cmp.felk.cvut.cz>2019-06-28 00:53:34 +0200
commitedabdffead6d33a4e6a0e5a84d9e15f25a6acf83 (patch)
tree4df2aebac195a75a5cc1364fc0593a29105c6daa /qtmips_gui/lcddisplayview.h
parent30b15c6d1a328df5d8b0f99a5cbb1f72f25c9cdf (diff)
downloadqtmips-edabdffead6d33a4e6a0e5a84d9e15f25a6acf83.tar.gz
qtmips-edabdffead6d33a4e6a0e5a84d9e15f25a6acf83.tar.bz2
qtmips-edabdffead6d33a4e6a0e5a84d9e15f25a6acf83.zip
Initial optimized version LCD display emulation.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_gui/lcddisplayview.h')
-rw-r--r--qtmips_gui/lcddisplayview.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/qtmips_gui/lcddisplayview.h b/qtmips_gui/lcddisplayview.h
new file mode 100644
index 0000000..010a106
--- /dev/null
+++ b/qtmips_gui/lcddisplayview.h
@@ -0,0 +1,31 @@
+#ifndef LCDDISPLAYVIEW_H
+#define LCDDISPLAYVIEW_H
+
+#include <QWidget>
+#include <QImage>
+
+#include "lcddisplay.h"
+
+class LcdDisplayView : public QWidget
+{
+ Q_OBJECT
+
+ using Super = QWidget;
+
+public:
+ explicit LcdDisplayView(QWidget *parent = 0);
+ ~LcdDisplayView();
+
+ void setup(machine::LcdDisplay *lcd_display);
+
+public slots:
+ void pixel_update(uint x, uint y, uint r, uint g, uint b);
+
+protected:
+ virtual void paintEvent(QPaintEvent *event) override;
+
+private:
+ QImage *fb_pixels;
+};
+
+#endif // LCDDISPLAYVIEW_H