WIP: Port EffectFrame to EffectQuickView
Needs ReviewPublic

Authored by davidedmundson on Jan 5 2020, 10:11 PM.

Details

Reviewers
None
Group Reviewers
KWin
Maniphest Tasks
T5218: Use QtQuick for EffectFrames
Summary

There is now a code path to render a generic QtQuick window via the
effects framework. We can use this as the implementation for the
existing EffectFrame API.

This allows us to get rid of a /lot/ of custom rendering that tangles
it's way through the backend, as well as getting rid of lowlevel usage
of Plasma's FrameSVG classes which may not exist in KF6, using the much
more optimised FrameSVGItem.

Cross fade is now done automatically by IconItem.
EffectFrame::setSelection is deprecated as I had no idea what it was
for, and no-one used it.

WIP as:

  • I need a slight mod to hook up the path that allows effects to affect frames.

Not quite sure what level we want to do that.

  • Even though this new code is super simple, retrofitting to match the

old API correctly is somewhat challenging. IMHO we should just break things a bit.

Test Plan

Ran flipswitch and windowgeometry effects, on both xrender and opengl.

Places that this is used:

  • invert
  • desktop grid
  • flipswitch
  • mouseclick
  • presentwindows
  • showfps
  • windowgeometry

Diff Detail

Repository
R108 KWin
Branch
davidedmundson/qtquick_effectframe
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 20666
Build 20684: arc lint + arc unit
davidedmundson created this revision.Jan 5 2020, 10:11 PM
Restricted Application added a project: KWin. · View Herald TranscriptJan 5 2020, 10:11 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
davidedmundson requested review of this revision.Jan 5 2020, 10:11 PM

Remove an unrelated change

davidedmundson retitled this revision from WIP: Port EFfectFrame to a QQuickView to WIP: Port EffectFrame to EffectQuickView.Jan 5 2020, 10:17 PM
davidedmundson edited the summary of this revision. (Show Details)