Changeset View
Changeset View
Standalone View
Standalone View
plugins/scenes/qpainter/scene_qpainter.cpp
- This file was moved from scene_qpainter.cpp.
Show All 36 Lines | |||||
37 | #include <QDebug> | 37 | #include <QDebug> | ||
38 | #include <QPainter> | 38 | #include <QPainter> | ||
39 | #include <KDecoration2/Decoration> | 39 | #include <KDecoration2/Decoration> | ||
40 | 40 | | |||
41 | namespace KWin | 41 | namespace KWin | ||
42 | { | 42 | { | ||
43 | 43 | | |||
44 | //**************************************** | 44 | //**************************************** | ||
45 | // QPainterBackend | | |||
46 | //**************************************** | | |||
47 | QPainterBackend::QPainterBackend() | | |||
48 | : m_failed(false) | | |||
49 | { | | |||
50 | } | | |||
51 | | ||||
52 | QPainterBackend::~QPainterBackend() | | |||
53 | { | | |||
54 | } | | |||
55 | | ||||
56 | OverlayWindow* QPainterBackend::overlayWindow() | | |||
57 | { | | |||
58 | return NULL; | | |||
59 | } | | |||
60 | | ||||
61 | void QPainterBackend::showOverlay() | | |||
62 | { | | |||
63 | } | | |||
64 | | ||||
65 | void QPainterBackend::screenGeometryChanged(const QSize &size) | | |||
66 | { | | |||
67 | Q_UNUSED(size) | | |||
68 | } | | |||
69 | | ||||
70 | void QPainterBackend::setFailed(const QString &reason) | | |||
71 | { | | |||
72 | qCWarning(KWIN_CORE) << "Creating the XRender backend failed: " << reason; | | |||
73 | m_failed = true; | | |||
74 | } | | |||
75 | | ||||
76 | bool QPainterBackend::perScreenRendering() const | | |||
77 | { | | |||
78 | return false; | | |||
79 | } | | |||
80 | | ||||
81 | QImage *QPainterBackend::bufferForScreen(int screenId) | | |||
82 | { | | |||
83 | Q_UNUSED(screenId) | | |||
84 | return buffer(); | | |||
85 | } | | |||
86 | | ||||
87 | //**************************************** | | |||
88 | // SceneQPainter | 45 | // SceneQPainter | ||
89 | //**************************************** | 46 | //**************************************** | ||
90 | SceneQPainter *SceneQPainter::createScene(QObject *parent) | 47 | SceneQPainter *SceneQPainter::createScene(QObject *parent) | ||
91 | { | 48 | { | ||
92 | QScopedPointer<QPainterBackend> backend(kwinApp()->platform()->createQPainterBackend()); | 49 | QScopedPointer<QPainterBackend> backend(kwinApp()->platform()->createQPainterBackend()); | ||
93 | if (backend.isNull()) { | 50 | if (backend.isNull()) { | ||
94 | return nullptr; | 51 | return nullptr; | ||
95 | } | 52 | } | ||
▲ Show 20 Lines • Show All 132 Lines • ▼ Show 20 Line(s) | |||||
228 | } | 185 | } | ||
229 | 186 | | |||
230 | void SceneQPainter::screenGeometryChanged(const QSize &size) | 187 | void SceneQPainter::screenGeometryChanged(const QSize &size) | ||
231 | { | 188 | { | ||
232 | Scene::screenGeometryChanged(size); | 189 | Scene::screenGeometryChanged(size); | ||
233 | m_backend->screenGeometryChanged(size); | 190 | m_backend->screenGeometryChanged(size); | ||
234 | } | 191 | } | ||
235 | 192 | | |||
193 | QImage *SceneQPainter::qpainterRenderBuffer() const | ||||
194 | { | ||||
195 | return m_backend->buffer(); | ||||
196 | } | ||||
197 | | ||||
236 | //**************************************** | 198 | //**************************************** | ||
237 | // SceneQPainter::Window | 199 | // SceneQPainter::Window | ||
238 | //**************************************** | 200 | //**************************************** | ||
239 | SceneQPainter::Window::Window(SceneQPainter *scene, Toplevel *c) | 201 | SceneQPainter::Window::Window(SceneQPainter *scene, Toplevel *c) | ||
240 | : Scene::Window(c) | 202 | : Scene::Window(c) | ||
241 | , m_scene(scene) | 203 | , m_scene(scene) | ||
242 | { | 204 | { | ||
243 | } | 205 | } | ||
▲ Show 20 Lines • Show All 434 Lines • ▼ Show 20 Line(s) | |||||
678 | } | 640 | } | ||
679 | 641 | | |||
680 | void SceneQPainterDecorationRenderer::reparent(Deleted *deleted) | 642 | void SceneQPainterDecorationRenderer::reparent(Deleted *deleted) | ||
681 | { | 643 | { | ||
682 | render(); | 644 | render(); | ||
683 | Renderer::reparent(deleted); | 645 | Renderer::reparent(deleted); | ||
684 | } | 646 | } | ||
685 | 647 | | |||
648 | | ||||
649 | QPainterFactory::QPainterFactory(QObject *parent) | ||||
650 | : SceneFactory(parent) | ||||
651 | { | ||||
652 | } | ||||
653 | | ||||
654 | QPainterFactory::~QPainterFactory() = default; | ||||
655 | | ||||
656 | Scene *QPainterFactory::create(QObject *parent) const | ||||
657 | { | ||||
658 | auto s = SceneQPainter::createScene(parent); | ||||
659 | if (s && s->initFailed()) { | ||||
660 | delete s; | ||||
661 | s = nullptr; | ||||
662 | } | ||||
663 | return s; | ||||
664 | } | ||||
665 | | ||||
686 | } // KWin | 666 | } // KWin |