D26446: WIP: Port EFfectFrame to a QQuickView

David Edmundson noreply at phabricator.kde.org
Sun Jan 5 22:11:47 GMT 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20200105/41ec67ed/attachment.html>


More information about the kwin mailing list