Changeset View
Changeset View
Standalone View
Standalone View
plugins/platforms/drm/scene_qpainter_drm_backend.h
Show All 20 Lines | |||||
21 | #define KWIN_SCENE_QPAINTER_DRM_BACKEND_H | 21 | #define KWIN_SCENE_QPAINTER_DRM_BACKEND_H | ||
22 | #include "scene_qpainter.h" | 22 | #include "scene_qpainter.h" | ||
23 | #include <QObject> | 23 | #include <QObject> | ||
24 | 24 | | |||
25 | namespace KWin | 25 | namespace KWin | ||
26 | { | 26 | { | ||
27 | 27 | | |||
28 | class DrmBackend; | 28 | class DrmBackend; | ||
29 | class DrmBuffer; | 29 | class DrmDumbBuffer; | ||
30 | class DrmOutput; | 30 | class DrmOutput; | ||
31 | 31 | | |||
32 | class DrmQPainterBackend : public QObject, public QPainterBackend | 32 | class DrmQPainterBackend : public QObject, public QPainterBackend | ||
33 | { | 33 | { | ||
34 | Q_OBJECT | 34 | Q_OBJECT | ||
35 | public: | 35 | public: | ||
36 | DrmQPainterBackend(DrmBackend *backend); | 36 | DrmQPainterBackend(DrmBackend *backend); | ||
37 | virtual ~DrmQPainterBackend(); | 37 | virtual ~DrmQPainterBackend(); | ||
38 | 38 | | |||
39 | QImage *buffer() override; | 39 | QImage *buffer() override; | ||
40 | QImage *bufferForScreen(int screenId) override; | 40 | QImage *bufferForScreen(int screenId) override; | ||
41 | bool needsFullRepaint() const override; | 41 | bool needsFullRepaint() const override; | ||
42 | bool usesOverlayWindow() const override; | 42 | bool usesOverlayWindow() const override; | ||
43 | void prepareRenderingFrame() override; | 43 | void prepareRenderingFrame() override; | ||
44 | void present(int mask, const QRegion &damage) override; | 44 | void present(int mask, const QRegion &damage) override; | ||
45 | bool perScreenRendering() const override; | 45 | bool perScreenRendering() const override; | ||
46 | 46 | | |||
47 | private: | 47 | private: | ||
48 | void initOutput(DrmOutput *output); | 48 | void initOutput(DrmOutput *output); | ||
49 | struct Output { | 49 | struct Output { | ||
50 | DrmBuffer *buffer[2]; | 50 | DrmDumbBuffer *buffer[2]; | ||
51 | DrmOutput *output; | 51 | DrmOutput *output; | ||
52 | int index = 0; | 52 | int index = 0; | ||
53 | }; | 53 | }; | ||
54 | QVector<Output> m_outputs; | 54 | QVector<Output> m_outputs; | ||
55 | DrmBackend *m_backend; | 55 | DrmBackend *m_backend; | ||
56 | }; | 56 | }; | ||
57 | } | 57 | } | ||
58 | 58 | | |||
59 | #endif | 59 | #endif |