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

Martin Flöser noreply at phabricator.kde.org
Thu Jan 25 20:15:36 UTC 2018


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


  In https://phabricator.kde.org/D9638#196026, @zzag wrote:
  
  > 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...
  
  
  I just looked into the source (relevant method Scene::paintScreen). For PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS the region is set to infinite region.
  
    if (*mask & (PAINT_SCREEN_TRANSFORMED | PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS)) {
        // Region painting is not possible with transformations,
        // because screen damage doesn't match transformed positions.
        *mask &= ~PAINT_SCREEN_REGION;
        region = infiniteRegion();
  
  The region in this method is later on used for clipping. Given that you need that paintclipper fragment.

REPOSITORY
  R108 KWin

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

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


More information about the Plasma-devel mailing list