summaryrefslogtreecommitdiffstats
path: root/src/gui/image
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@digia.com>2013-03-08 10:30:38 (GMT)
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-20 16:32:30 (GMT)
commitc78584c970e4723798f10a05b72759006b711a83 (patch)
tree7587005eac072fd51527c30e581727b610701ce7 /src/gui/image
parenta06a0e0ae6f967be0da5171285fda475261d21f1 (diff)
downloadQt-c78584c970e4723798f10a05b72759006b711a83.zip
Qt-c78584c970e4723798f10a05b72759006b711a83.tar.gz
Qt-c78584c970e4723798f10a05b72759006b711a83.tar.bz2
Make QPixmap::grabWindow work on retina displays.
Scale by qt_mac_get_scalefactor. Change-Id: I94cd4e0b2f81f7a83f14ff018e772dad1da10284 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'src/gui/image')
-rwxr-xr-xsrc/gui/image/qpixmap_mac.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/image/qpixmap_mac.cpp b/src/gui/image/qpixmap_mac.cpp
index 5923e24..83d6a60 100755
--- a/src/gui/image/qpixmap_mac.cpp
+++ b/src/gui/image/qpixmap_mac.cpp
@@ -890,9 +890,12 @@ static QPixmap qt_mac_grabScreenRect_10_6(const QRect &rect)
const CGRect cgRect = CGRectMake(rect.x(), rect.y(), rect.width(), rect.height());
const CGDisplayErr err = CGGetDisplaysWithRect(cgRect, maxDisplays, displays, &displayCount);
+ extern CGFloat qt_mac_get_scalefactor();
+ QRect scaledRect = QRect(rect.topLeft(), rect.size() * qt_mac_get_scalefactor());
+
if (err && displayCount == 0)
return QPixmap();
- QPixmap windowPixmap(rect.size());
+ QPixmap windowPixmap(scaledRect.size());
for (uint i = 0; i < displayCount; ++i) {
const CGRect bounds = CGDisplayBounds(displays[i]);
// Translate to display-local coordinates