Review Request 126980: Scale blurbehind and backgroundcontrast besides translating

Marco Martin notmart at gmail.com
Thu Feb 4 12:02:33 UTC 2016



> On Feb. 3, 2016, 9:43 p.m., Thomas Lübking wrote:
> > effects/backgroundcontrast/contrast.cpp, line 383
> > <https://git.reviewboard.kde.org/r/126980/diff/1/?file=442652#file442652line383>
> >
> >     This looks fishy - and QTransform a tiny bit clumsy.
> >     
> >     Does this work:
> >     
> >     QVector shapeRects = shape.rects();
> >     shape = QRegion(); // clear
> >     foreach (QRect r, shapeRects) {
> >        r.moveTo(r.x() * data.xScale() + data.xTranslation(),
> >                 r.y() * data.yScale() + data.yTranslation());
> >        r.setWidth(r.width() * data.xScale());
> >        r.setHeight(r.height() * data.yScale());
> >        shape |= r;
> >     }
> >     
> >     the multiplications might need to be put into qRound or qCeil to avoid glitches.
> >     
> >     This spares several qregion copies, conversions into and out of painter paths and the second shape translation.
> 
> Marco Martin wrote:
>     hmm, nope, translation seems off.
>     investigating

to make it work, i have to do it like before:
            QPoint pt = shape.boundingRect().topLeft();
            QVector<QRect> shapeRects = shape.rects();
            shape = QRegion(); // clear
            foreach (QRect r, shapeRects) {
                r.moveTo((r.x() - pt.x()) * data.xScale() + data.xTranslation(),
                            (r.y() -pt.y()) * data.yScale() + data.yTranslation());
                r.setWidth(r.width() * data.xScale());
                r.setHeight(r.height() * data.yScale());
                shape |= r;
            }
            shape = shape.translated(pt.x(), pt.y());
            shape = shape & region;


- Marco


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126980/#review92037
-----------------------------------------------------------


On Feb. 3, 2016, 3:35 p.m., Marco Martin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126980/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2016, 3:35 p.m.)
> 
> 
> Review request for kwin and Plasma.
> 
> 
> Repository: kwin
> 
> 
> Description
> -------
> 
> related to https://git.reviewboard.kde.org/r/126968/
> this is only the part which adds support for scaled windows to blur and contrast
> 
> 
> Diffs
> -----
> 
>   effects/backgroundcontrast/contrast.cpp 168deb0 
>   effects/blur/blur.cpp a360f03 
> 
> Diff: https://git.reviewboard.kde.org/r/126980/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Marco Martin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160204/d8ce9865/attachment.html>


More information about the Plasma-devel mailing list