macOS: Propagate device-pixel-ratio of system tray icon
When preparing a system tray icon on a system with a retina screen, we end up creating a full-height icon of height 44. If there's also a 1x screen available, macOS will scale down this image for us when presenting the icon on the 1 screen, but the downscale will fail to preserve the aspect ratio of the original image on Big Sur. Telling macOS which device-pixel-ratio the image has seems to fix this, and is the right thing to do in any case. Pick-to: 5.15 Pick-to: 5.12 Fixes: QTBUG-88600 Change-Id: Ic31def94d073da1b256bbfcaf5905f92c169f43d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>bb10
parent
a07c9a1a70
commit
a6aaa2b707
|
|
@ -204,6 +204,7 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
|||
r.moveCenter(fullHeightPixmap.rect().center());
|
||||
p.drawPixmap(r, pixmap);
|
||||
}
|
||||
fullHeightPixmap.setDevicePixelRatio(devicePixelRatio);
|
||||
|
||||
auto *nsimage = [NSImage imageFromQImage:fullHeightPixmap.toImage()];
|
||||
[nsimage setTemplate:icon.isMask()];
|
||||
|
|
|
|||
Loading…
Reference in New Issue