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