Changeset View
Changeset View
Standalone View
Standalone View
plugins/platforms/virtual/virtual_backend.h
Show All 26 Lines | |||||
27 | #include <QSize> | 27 | #include <QSize> | ||
28 | 28 | | |||
29 | class QTemporaryDir; | 29 | class QTemporaryDir; | ||
30 | 30 | | |||
31 | struct gbm_device; | 31 | struct gbm_device; | ||
32 | 32 | | |||
33 | namespace KWin | 33 | namespace KWin | ||
34 | { | 34 | { | ||
35 | namespace ColorCorrect { | ||||
36 | class Manager; | ||||
37 | struct GammaRamp; | ||||
38 | } | ||||
39 | | ||||
35 | 40 | | |||
36 | class KWIN_EXPORT VirtualBackend : public Platform | 41 | class KWIN_EXPORT VirtualBackend : public Platform | ||
37 | { | 42 | { | ||
38 | Q_OBJECT | 43 | Q_OBJECT | ||
39 | Q_INTERFACES(KWin::Platform) | 44 | Q_INTERFACES(KWin::Platform) | ||
40 | Q_PLUGIN_METADATA(IID "org.kde.kwin.Platform" FILE "virtual.json") | 45 | Q_PLUGIN_METADATA(IID "org.kde.kwin.Platform" FILE "virtual.json") | ||
41 | Q_PROPERTY(QSize size READ size NOTIFY sizeChanged) | 46 | Q_PROPERTY(QSize size READ size NOTIFY sizeChanged) | ||
42 | public: | 47 | public: | ||
Show All 17 Lines | |||||
60 | QString screenshotDirPath() const; | 65 | QString screenshotDirPath() const; | ||
61 | 66 | | |||
62 | Screens *createScreens(QObject *parent = nullptr) override; | 67 | Screens *createScreens(QObject *parent = nullptr) override; | ||
63 | QPainterBackend* createQPainterBackend() override; | 68 | QPainterBackend* createQPainterBackend() override; | ||
64 | OpenGLBackend *createOpenGLBackend() override; | 69 | OpenGLBackend *createOpenGLBackend() override; | ||
65 | 70 | | |||
66 | Q_INVOKABLE void setOutputCount(int count) { | 71 | Q_INVOKABLE void setOutputCount(int count) { | ||
67 | m_outputCount = count; | 72 | m_outputCount = count; | ||
73 | m_gammaSizes = QVector<int>(count, 200); | ||||
74 | m_gammaResults = QVector<bool>(count, true); | ||||
68 | } | 75 | } | ||
69 | 76 | | |||
70 | Q_INVOKABLE void setOutputScale(qreal scale) { | 77 | Q_INVOKABLE void setOutputScale(qreal scale) { | ||
71 | m_outputScale = scale; | 78 | m_outputScale = scale; | ||
72 | } | 79 | } | ||
73 | 80 | | |||
74 | int drmFd() const { | 81 | int drmFd() const { | ||
75 | return m_drmFd; | 82 | return m_drmFd; | ||
76 | } | 83 | } | ||
77 | void setDrmFd(int fd) { | 84 | void setDrmFd(int fd) { | ||
78 | m_drmFd = fd; | 85 | m_drmFd = fd; | ||
79 | } | 86 | } | ||
80 | 87 | | |||
81 | gbm_device *gbmDevice() const { | 88 | gbm_device *gbmDevice() const { | ||
82 | return m_gbmDevice; | 89 | return m_gbmDevice; | ||
83 | } | 90 | } | ||
84 | void setGbmDevice(gbm_device *device) { | 91 | void setGbmDevice(gbm_device *device) { | ||
85 | m_gbmDevice = device; | 92 | m_gbmDevice = device; | ||
86 | } | 93 | } | ||
94 | virtual int gammaRampSize(int screen) const override; | ||||
95 | virtual bool setGammaRamp(int screen, ColorCorrect::GammaRamp &gamma) override; | ||||
87 | 96 | | |||
88 | Q_SIGNALS: | 97 | Q_SIGNALS: | ||
89 | void sizeChanged(); | 98 | void sizeChanged(); | ||
90 | void outputGeometriesChanged(const QVector<QRect> &geometries); | 99 | void outputGeometriesChanged(const QVector<QRect> &geometries); | ||
91 | 100 | | |||
92 | private: | 101 | private: | ||
93 | QSize m_size; | 102 | QSize m_size; | ||
94 | int m_outputCount = 1; | 103 | int m_outputCount = 1; | ||
95 | qreal m_outputScale = 1; | 104 | qreal m_outputScale = 1; | ||
96 | QScopedPointer<QTemporaryDir> m_screenshotDir; | 105 | QScopedPointer<QTemporaryDir> m_screenshotDir; | ||
97 | int m_drmFd = -1; | 106 | int m_drmFd = -1; | ||
98 | gbm_device *m_gbmDevice = nullptr; | 107 | gbm_device *m_gbmDevice = nullptr; | ||
108 | | ||||
109 | QVector<int> m_gammaSizes = QVector<int>(1, 200); | ||||
110 | QVector<bool> m_gammaResults = QVector<bool>(1, true); | ||||
99 | }; | 111 | }; | ||
100 | 112 | | |||
101 | } | 113 | } | ||
102 | 114 | | |||
103 | #endif | 115 | #endif |