Changeset View
Changeset View
Standalone View
Standalone View
plugins/scenes/qpainter/scene_qpainter.cpp
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Line(s) | 76 | { | |||
---|---|---|---|---|---|
77 | return QPainterCompositing; | 77 | return QPainterCompositing; | ||
78 | } | 78 | } | ||
79 | 79 | | |||
80 | bool SceneQPainter::initFailed() const | 80 | bool SceneQPainter::initFailed() const | ||
81 | { | 81 | { | ||
82 | return false; | 82 | return false; | ||
83 | } | 83 | } | ||
84 | 84 | | |||
85 | void SceneQPainter::paintGenericScreen(int mask, ScreenPaintData data) | 85 | void SceneQPainter::paintGenericScreen(int mask, const ScreenPaintData &data) | ||
86 | { | 86 | { | ||
87 | m_painter->save(); | 87 | m_painter->save(); | ||
88 | m_painter->translate(data.xTranslation(), data.yTranslation()); | 88 | m_painter->translate(data.xTranslation(), data.yTranslation()); | ||
89 | m_painter->scale(data.xScale(), data.yScale()); | 89 | m_painter->scale(data.xScale(), data.yScale()); | ||
90 | Scene::paintGenericScreen(mask, data); | 90 | Scene::paintGenericScreen(mask, data); | ||
91 | m_painter->restore(); | 91 | m_painter->restore(); | ||
92 | } | 92 | } | ||
93 | 93 | | |||
94 | qint64 SceneQPainter::paint(QRegion damage, QList<Toplevel *> toplevels) | 94 | qint64 SceneQPainter::paint(const QRegion &_damage, const QList<Toplevel *> &toplevels) | ||
95 | { | 95 | { | ||
96 | QElapsedTimer renderTimer; | 96 | QElapsedTimer renderTimer; | ||
97 | renderTimer.start(); | 97 | renderTimer.start(); | ||
98 | 98 | | |||
99 | createStackingOrder(toplevels); | 99 | createStackingOrder(toplevels); | ||
100 | QRegion damage = _damage; | ||||
100 | 101 | | |||
101 | int mask = 0; | 102 | int mask = 0; | ||
102 | m_backend->prepareRenderingFrame(); | 103 | m_backend->prepareRenderingFrame(); | ||
103 | if (m_backend->perScreenRendering()) { | 104 | if (m_backend->perScreenRendering()) { | ||
104 | const bool needsFullRepaint = m_backend->needsFullRepaint(); | 105 | const bool needsFullRepaint = m_backend->needsFullRepaint(); | ||
105 | if (needsFullRepaint) { | 106 | if (needsFullRepaint) { | ||
106 | mask |= Scene::PAINT_SCREEN_BACKGROUND_FIRST; | 107 | mask |= Scene::PAINT_SCREEN_BACKGROUND_FIRST; | ||
107 | damage = screens()->geometry(); | 108 | damage = screens()->geometry(); | ||
Show All 40 Lines | |||||
148 | // do cleanup | 149 | // do cleanup | ||
149 | clearStackingOrder(); | 150 | clearStackingOrder(); | ||
150 | 151 | | |||
151 | emit frameRendered(); | 152 | emit frameRendered(); | ||
152 | 153 | | |||
153 | return renderTimer.nsecsElapsed(); | 154 | return renderTimer.nsecsElapsed(); | ||
154 | } | 155 | } | ||
155 | 156 | | |||
156 | void SceneQPainter::paintBackground(QRegion region) | 157 | void SceneQPainter::paintBackground(const QRegion ®ion) | ||
157 | { | 158 | { | ||
158 | m_painter->setBrush(Qt::black); | 159 | m_painter->setBrush(Qt::black); | ||
159 | for (const QRect &rect : region) { | 160 | for (const QRect &rect : region) { | ||
160 | m_painter->drawRect(rect); | 161 | m_painter->drawRect(rect); | ||
161 | } | 162 | } | ||
162 | } | 163 | } | ||
163 | 164 | | |||
164 | void SceneQPainter::paintCursor() | 165 | void SceneQPainter::paintCursor() | ||
▲ Show 20 Lines • Show All 86 Lines • ▼ Show 20 Line(s) | 248 | { | |||
251 | } | 252 | } | ||
252 | Deleted *deleted = qobject_cast<Deleted *>(toplevel); | 253 | Deleted *deleted = qobject_cast<Deleted *>(toplevel); | ||
253 | if (deleted) { | 254 | if (deleted) { | ||
254 | return deleted->wasX11Client(); | 255 | return deleted->wasX11Client(); | ||
255 | } | 256 | } | ||
256 | return false; | 257 | return false; | ||
257 | } | 258 | } | ||
258 | 259 | | |||
259 | void SceneQPainter::Window::performPaint(int mask, QRegion region, WindowPaintData data) | 260 | void SceneQPainter::Window::performPaint(int mask, const QRegion &_region, const WindowPaintData &data) | ||
260 | { | 261 | { | ||
262 | QRegion region = _region; | ||||
261 | if (!(mask & (PAINT_WINDOW_TRANSFORMED | PAINT_SCREEN_TRANSFORMED))) | 263 | if (!(mask & (PAINT_WINDOW_TRANSFORMED | PAINT_SCREEN_TRANSFORMED))) | ||
262 | region &= toplevel->visibleRect(); | 264 | region &= toplevel->visibleRect(); | ||
263 | 265 | | |||
264 | if (region.isEmpty()) | 266 | if (region.isEmpty()) | ||
265 | return; | 267 | return; | ||
266 | QPainterWindowPixmap *pixmap = windowPixmap<QPainterWindowPixmap>(); | 268 | QPainterWindowPixmap *pixmap = windowPixmap<QPainterWindowPixmap>(); | ||
267 | if (!pixmap || !pixmap->isValid()) { | 269 | if (!pixmap || !pixmap->isValid()) { | ||
268 | return; | 270 | return; | ||
▲ Show 20 Lines • Show All 215 Lines • ▼ Show 20 Line(s) | 484 | QPainterEffectFrame::QPainterEffectFrame(EffectFrameImpl *frame, SceneQPainter *scene) | |||
484 | , m_scene(scene) | 486 | , m_scene(scene) | ||
485 | { | 487 | { | ||
486 | } | 488 | } | ||
487 | 489 | | |||
488 | QPainterEffectFrame::~QPainterEffectFrame() | 490 | QPainterEffectFrame::~QPainterEffectFrame() | ||
489 | { | 491 | { | ||
490 | } | 492 | } | ||
491 | 493 | | |||
492 | void QPainterEffectFrame::render(QRegion region, double opacity, double frameOpacity) | 494 | void QPainterEffectFrame::render(const QRegion ®ion, double opacity, double frameOpacity) | ||
493 | { | 495 | { | ||
494 | Q_UNUSED(region) | 496 | Q_UNUSED(region) | ||
495 | Q_UNUSED(opacity) | 497 | Q_UNUSED(opacity) | ||
496 | // TODO: adjust opacity | 498 | // TODO: adjust opacity | ||
497 | if (m_effectFrame->geometry().isEmpty()) { | 499 | if (m_effectFrame->geometry().isEmpty()) { | ||
498 | return; // Nothing to display | 500 | return; // Nothing to display | ||
499 | } | 501 | } | ||
500 | QPainter *painter = m_scene->scenePainter(); | 502 | QPainter *painter = m_scene->scenePainter(); | ||
▲ Show 20 Lines • Show All 416 Lines • Show Last 20 Lines |