Changeset View
Changeset View
Standalone View
Standalone View
plugins/scenes/xrender/scene_xrender.h
Show First 20 Lines • Show All 148 Lines • ▼ Show 20 Line(s) | 148 | { | |||
---|---|---|---|---|---|
149 | Q_OBJECT | 149 | Q_OBJECT | ||
150 | public: | 150 | public: | ||
151 | class EffectFrame; | 151 | class EffectFrame; | ||
152 | ~SceneXrender() override; | 152 | ~SceneXrender() override; | ||
153 | bool initFailed() const override; | 153 | bool initFailed() const override; | ||
154 | CompositingType compositingType() const override { | 154 | CompositingType compositingType() const override { | ||
155 | return XRenderCompositing; | 155 | return XRenderCompositing; | ||
156 | } | 156 | } | ||
157 | qint64 paint(QRegion damage, QList<Toplevel *> windows) override; | 157 | qint64 paint(const QRegion &damage, const QList<Toplevel *> &windows) override; | ||
158 | Scene::EffectFrame *createEffectFrame(EffectFrameImpl *frame) override; | 158 | Scene::EffectFrame *createEffectFrame(EffectFrameImpl *frame) override; | ||
159 | Shadow *createShadow(Toplevel *toplevel) override; | 159 | Shadow *createShadow(Toplevel *toplevel) override; | ||
160 | void screenGeometryChanged(const QSize &size) override; | 160 | void screenGeometryChanged(const QSize &size) override; | ||
161 | xcb_render_picture_t xrenderBufferPicture() const override; | 161 | xcb_render_picture_t xrenderBufferPicture() const override; | ||
162 | OverlayWindow *overlayWindow() const override { | 162 | OverlayWindow *overlayWindow() const override { | ||
163 | return m_backend->overlayWindow(); | 163 | return m_backend->overlayWindow(); | ||
164 | } | 164 | } | ||
165 | bool usesOverlayWindow() const override { | 165 | bool usesOverlayWindow() const override { | ||
166 | return m_backend->usesOverlayWindow(); | 166 | return m_backend->usesOverlayWindow(); | ||
167 | } | 167 | } | ||
168 | Decoration::Renderer *createDecorationRenderer(Decoration::DecoratedClientImpl *client) override; | 168 | Decoration::Renderer *createDecorationRenderer(Decoration::DecoratedClientImpl *client) override; | ||
169 | 169 | | |||
170 | bool animationsSupported() const override { | 170 | bool animationsSupported() const override { | ||
171 | return true; | 171 | return true; | ||
172 | } | 172 | } | ||
173 | 173 | | |||
174 | static SceneXrender *createScene(QObject *parent); | 174 | static SceneXrender *createScene(QObject *parent); | ||
175 | protected: | 175 | protected: | ||
176 | Scene::Window *createWindow(Toplevel *toplevel) override; | 176 | Scene::Window *createWindow(Toplevel *toplevel) override; | ||
177 | void paintBackground(QRegion region) override; | 177 | void paintBackground(const QRegion ®ion) override; | ||
178 | void paintGenericScreen(int mask, ScreenPaintData data) override; | 178 | void paintGenericScreen(int mask, const ScreenPaintData &data) override; | ||
179 | void paintDesktop(int desktop, int mask, const QRegion ®ion, ScreenPaintData &data) override; | 179 | void paintDesktop(int desktop, int mask, const QRegion ®ion, ScreenPaintData &data) override; | ||
180 | void paintCursor() override; | 180 | void paintCursor() override; | ||
181 | void paintEffectQuickView(EffectQuickView *w) override; | 181 | void paintEffectQuickView(EffectQuickView *w) override; | ||
182 | private: | 182 | private: | ||
183 | explicit SceneXrender(XRenderBackend *backend, QObject *parent = nullptr); | 183 | explicit SceneXrender(XRenderBackend *backend, QObject *parent = nullptr); | ||
184 | static ScreenPaintData screen_paint; | 184 | static ScreenPaintData screen_paint; | ||
185 | class Window; | 185 | class Window; | ||
186 | QScopedPointer<XRenderBackend> m_backend; | 186 | QScopedPointer<XRenderBackend> m_backend; | ||
187 | }; | 187 | }; | ||
188 | 188 | | |||
189 | class SceneXrender::Window | 189 | class SceneXrender::Window | ||
190 | : public Scene::Window | 190 | : public Scene::Window | ||
191 | { | 191 | { | ||
192 | public: | 192 | public: | ||
193 | Window(Toplevel* c, SceneXrender *scene); | 193 | Window(Toplevel* c, SceneXrender *scene); | ||
194 | ~Window() override; | 194 | ~Window() override; | ||
195 | void performPaint(int mask, QRegion region, WindowPaintData data) override; | 195 | void performPaint(int mask, const QRegion ®ion, const WindowPaintData &data) override; | ||
196 | QRegion transformedShape() const; | 196 | QRegion transformedShape() const; | ||
197 | void setTransformedShape(const QRegion& shape); | 197 | void setTransformedShape(const QRegion& shape); | ||
198 | static void cleanup(); | 198 | static void cleanup(); | ||
199 | protected: | 199 | protected: | ||
200 | WindowPixmap* createWindowPixmap() override; | 200 | WindowPixmap* createWindowPixmap() override; | ||
201 | private: | 201 | private: | ||
202 | QRect mapToScreen(int mask, const WindowPaintData &data, const QRect &rect) const; | 202 | QRect mapToScreen(int mask, const WindowPaintData &data, const QRect &rect) const; | ||
203 | QPoint mapToScreen(int mask, const WindowPaintData &data, const QPoint &point) const; | 203 | QPoint mapToScreen(int mask, const WindowPaintData &data, const QPoint &point) const; | ||
Show All 29 Lines | 231 | public: | |||
233 | ~EffectFrame() override; | 233 | ~EffectFrame() override; | ||
234 | 234 | | |||
235 | void free() override; | 235 | void free() override; | ||
236 | void freeIconFrame() override; | 236 | void freeIconFrame() override; | ||
237 | void freeTextFrame() override; | 237 | void freeTextFrame() override; | ||
238 | void freeSelection() override; | 238 | void freeSelection() override; | ||
239 | void crossFadeIcon() override; | 239 | void crossFadeIcon() override; | ||
240 | void crossFadeText() override; | 240 | void crossFadeText() override; | ||
241 | void render(QRegion region, double opacity, double frameOpacity) override; | 241 | void render(const QRegion ®ion, double opacity, double frameOpacity) override; | ||
242 | static void cleanup(); | 242 | static void cleanup(); | ||
243 | 243 | | |||
244 | private: | 244 | private: | ||
245 | void updatePicture(); | 245 | void updatePicture(); | ||
246 | void updateTextPicture(); | 246 | void updateTextPicture(); | ||
247 | void renderUnstyled(xcb_render_picture_t pict, const QRect &rect, qreal opacity); | 247 | void renderUnstyled(xcb_render_picture_t pict, const QRect &rect, qreal opacity); | ||
248 | 248 | | |||
249 | XRenderPicture* m_picture; | 249 | XRenderPicture* m_picture; | ||
▲ Show 20 Lines • Show All 112 Lines • Show Last 20 Lines |