D26446: WIP: Port EFfectFrame to a QQuickView
David Edmundson <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
davidedmundson created this revision. davidedmundson added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. davidedmundson requested review of this revision. REVISION 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 REPOSITORY R108 KWin BRANCH davidedmundson/qtquick_effectframe REVISION DETAIL https://phabricator.kde.org/D26446 AFFECTED FILES .activation.cpp.kate-swp .clang-format CMakeCache.txt CMakeLists.txt effects.cpp effects.h libkwineffects/kwineffectquickview.cpp libkwineffects/kwineffectquickview.h libkwineffects/kwineffects.cpp libkwineffects/kwineffects.h plugins/scenes/opengl/scene_opengl.cpp plugins/scenes/opengl/scene_opengl.h plugins/scenes/qpainter/scene_qpainter.cpp plugins/scenes/qpainter/scene_qpainter.h plugins/scenes/xrender/scene_xrender.cpp plugins/scenes/xrender/scene_xrender.h qml/CMakeLists.txt qml/frame/CMakeLists.txt qml/frame/frames.qrc qml/frame/noframe.qml qml/frame/styledframe.qml qml/frame/unstyledframe.qml scene.cpp scene.h To: davidedmundson, #kwin Cc: kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart