D9638: [effects] replace old slide effect with a new one

Vlad Zagorodniy noreply at phabricator.kde.org
Thu Jan 25 17:10:04 UTC 2018


zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9638#195979, @graesslin wrote:
  
  > What you could try is using the PaintClipper to perform clipping. But I don't know whether it's still fully functional on OpenGL.
  
  
  So, adding
  
    PaintClipper pc(QRegion(
      QPoint(0, 0),
      effects->virtualScreenSize()
    ));
  
  in `SlideEffect::paintScreen` would be enough? Doesn't KWin do something like that somewhere else? I've just realized, maybe, this effect doesn't need to clip...
  
  ---
  
  Also, I've noticed that there is no blur behind docks when docks are painted above all windows(`Slide docks` checkbox is unchecked).
  
  F5674581: 2018-01-25 17-55-02.mp4 <https://phabricator.kde.org/F5674581>
  
  Effect chain positions:
  
  - slide effect: 50
  - blur: 75
  - background contrast: 76
  
  Docks are drawn above all windows by the following code:
  
    for (EffectWindow* w : windows) {
        if (! w->isDock()) {
            continue;
        }
        WindowPaintData dockData(w);
        int dockMask = mask
            | (w->hasAlpha() ? PAINT_WINDOW_TRANSLUCENT
                             : PAINT_WINDOW_OPAQUE);
        effects->drawWindow(w, dockMask, infiniteRegion(), dockData);
    }
  
  (`WindowForceBackgroundContrastRole` and `WindowForceBlurRole` are set at the beginning of the slide animation)
  
  Am I missing something?
  
  ---
  
  Quick side note: when the `Slide docks` checkbox is unchecked, docks are drawn above other windows so they can properly animate themselves if an user enters or leaves a virtual desktop with a window in full screen mode.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9638

To: zzag, #vdg, #kwin, #plasma
Cc: mart, graesslin, abetts, ngraham, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180125/a4d4e3bc/attachment-0001.html>


More information about the Plasma-devel mailing list