MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / LCDWidget

Class LCDWidget

gui/qt/lcdwidget.h:11–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9#include "../../core/lcd.h"
10
11class LCDWidget : public QWidget {
12 Q_OBJECT
13
14public:
15 enum UpscaleMethod {
16 NearestNeighbor,
17 Bilinear,
18 SharpBilinear
19 };
20
21 enum FullscreenArea {
22 StretchToFill,
23 PreserveAspectRatio,
24 IntegerUpscale
25 };
26
27 explicit LCDWidget(QWidget *p = Q_NULLPTR);
28 QImage getImage();
29 void setMain();
30 bool draw();
31 void setFrameskip(int value);
32 void setResponseMode(bool state);
33 void setUpscaleMethod(int method);
34 void setFullscreenArea(int area);
35 void disableBlend();
36
37signals:
38 void updateLcd(double emuFps);
39
40public slots:
41 double refresh();
42
43protected:
44 virtual void paintEvent(QPaintEvent*) Q_DECL_OVERRIDE;
45 virtual void dropEvent(QDropEvent*) Q_DECL_OVERRIDE;
46 virtual void dragEnterEvent(QDragEnterEvent*) Q_DECL_OVERRIDE;
47 virtual void dragLeaveEvent(QDragLeaveEvent*) Q_DECL_OVERRIDE;
48 virtual void dragMoveEvent(QDragMoveEvent*) Q_DECL_OVERRIDE;
49 virtual void mousePressEvent(QMouseEvent*) Q_DECL_OVERRIDE;
50 virtual void mouseMoveEvent(QMouseEvent*) Q_DECL_OVERRIDE;
51
52signals:
53 void sendROM(const QString& romPath);
54
55private:
56 enum {
57 LcdLeft = 0,
58 LcdRight
59 };
60
61 static constexpr size_t PerfArraySize = 30;
62
63 unsigned int m_side;
64 bool m_transferDrag = false;
65 bool m_screenshotDrag = false;
66 QRect m_left, m_right;
67 QImage m_interlaceAlpha;
68 QImage *m_currFrame;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected