Changeset View
Changeset View
Standalone View
Standalone View
scene.h
Show All 19 Lines | |||||
20 | 20 | | |||
21 | #ifndef KWIN_SCENE_H | 21 | #ifndef KWIN_SCENE_H | ||
22 | #define KWIN_SCENE_H | 22 | #define KWIN_SCENE_H | ||
23 | 23 | | |||
24 | #include "toplevel.h" | 24 | #include "toplevel.h" | ||
25 | #include "utils.h" | 25 | #include "utils.h" | ||
26 | #include "kwineffects.h" | 26 | #include "kwineffects.h" | ||
27 | 27 | | |||
28 | #include <KWayland/Server/linuxdmabuf_v1_interface.h> | ||||
29 | | ||||
28 | #include <QElapsedTimer> | 30 | #include <QElapsedTimer> | ||
29 | #include <QMatrix4x4> | 31 | #include <QMatrix4x4> | ||
30 | 32 | | |||
31 | class QOpenGLFramebufferObject; | 33 | class QOpenGLFramebufferObject; | ||
32 | 34 | | |||
33 | namespace KWayland | 35 | namespace KWayland | ||
34 | { | 36 | { | ||
35 | namespace Server | 37 | namespace Server | ||
▲ Show 20 Lines • Show All 157 Lines • ▼ Show 20 Line(s) | 65 | public: | |||
193 | * The backend specific extensions (e.g. EGL/GLX extensions). | 195 | * The backend specific extensions (e.g. EGL/GLX extensions). | ||
194 | * | 196 | * | ||
195 | * Not the OpenGL (ES) extension! | 197 | * Not the OpenGL (ES) extension! | ||
196 | * | 198 | * | ||
197 | * Default implementation returns empty list | 199 | * Default implementation returns empty list | ||
198 | **/ | 200 | **/ | ||
199 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | 201 | virtual QVector<QByteArray> openGLPlatformInterfaceExtensions() const; | ||
200 | 202 | | |||
203 | /** | ||||
204 | * Returns the DRM formats supported by the underlying graphics stack. | ||||
205 | * | ||||
206 | * The default implementation returns an empty vector. | ||||
207 | */ | ||||
208 | virtual QVector<uint32_t> supportedDrmFormats(); | ||||
209 | | ||||
210 | /** | ||||
211 | * Returns the DRM modifiers supported with the given format. | ||||
212 | * | ||||
213 | * The default implementation returns an empty vector. | ||||
214 | */ | ||||
215 | virtual QVector<uint64_t> supportedDrmModifiers(uint32_t format); | ||||
216 | | ||||
217 | /** | ||||
218 | * Imports a dmabuf-buffer into the graphics system used by the scene. | ||||
219 | * | ||||
220 | * The default implementation returns nullptr. | ||||
221 | */ | ||||
222 | virtual KWayland::Server::LinuxDmabuf::Buffer *importDmabufBuffer(const QVector<KWayland::Server::LinuxDmabuf::Plane> &planes, | ||||
223 | uint32_t format, | ||||
224 | const QSize &size, | ||||
225 | KWayland::Server::LinuxDmabuf::Flags flags = 0); | ||||
226 | | ||||
201 | Q_SIGNALS: | 227 | Q_SIGNALS: | ||
202 | void frameRendered(); | 228 | void frameRendered(); | ||
203 | void resetCompositing(); | 229 | void resetCompositing(); | ||
204 | 230 | | |||
205 | public Q_SLOTS: | 231 | public Q_SLOTS: | ||
206 | // shape/size of a window changed | 232 | // shape/size of a window changed | ||
207 | void windowGeometryShapeChanged(KWin::Toplevel* c); | 233 | void windowGeometryShapeChanged(KWin::Toplevel* c); | ||
208 | // a window has been closed | 234 | // a window has been closed | ||
▲ Show 20 Lines • Show All 481 Lines • Show Last 20 Lines |