[KDE/Mac] Review Request 126626: fix appearance under Qt5/KF5
Yichao Yu
yyc1992 at gmail.com
Mon Jan 11 15:24:33 UTC 2016
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126626/#review90905
-----------------------------------------------------------
Ship it!
- Yichao Yu
On 一月 4, 2016, 11:50 a.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126626/
> -----------------------------------------------------------
>
> (Updated 一月 4, 2016, 11:50 a.m.)
>
>
> Review request for KDE Software on Mac OS X and Yichao Yu.
>
>
> Repository: qtcurve
>
>
> Description
> -------
>
> This patch fixes the appearance issue that has long plagued the Qt5 version of QtCurve.
>
> The actual fix is in the pixmap cache implementation in `Style::drawLightBevel()`. There is no need to generate the cache pixmap on a scale other than 1; removing that "trick" and setting an explicit antialias (AA) hint before drawing to the pixmap solved the appearance issue.
>
> I cannot believe though that this had not been tried before (drawing at scale 1.2 was "another attempt to fix the issue" introduced a bit under a year ago), so I have left the other things I tried before finally succeeding:
>
> - I checked leaving AA on all the time rather than turning it off in specific locations, through a macro (`QPAINTER_ANTIALIAS_MAYBE_ON`).
> - I received a hint that Qt5 might not observe AA settings when drawing lines with width 1 (exact), so I investigated the effect of using widths slightly different from 1 (`#define QPENWIDTH 1.01`, ...)
>
> Both experiments have been turned back/off but involve subtle rearrangement of calls that might contribute to the fact that generating cache pixmaps at scale=1 now gives a correct appearance.
> I would thus suggest leaving those changes, despite the fact they make the code a little bit more complex.
>
>
> Diffs
> -----
>
> qt5/style/qtcurve.cpp 89de3b6
> qt5/style/qtcurve_api.cpp 9b7adfa
> qt5/style/qtcurve_p.h 91e21c2
> qt5/style/qtcurve_primitive.cpp 51653c7
> qt5/style/qtcurve_utils.cpp ac516bf
>
> Diff: https://git.reviewboard.kde.org/r/126626/diff/
>
>
> Testing
> -------
>
> On OS X 10.9.5 and Linux, both with Qt 5.5.1 and KF5 5.17.0 installed into /opt/local
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160111/37ebfcd6/attachment-0001.html>
More information about the kde-mac
mailing list