diff options
author | Morten Johan Sørvig <morten.sorvig@digia.com> | 2013-03-08 10:30:38 (GMT) |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-20 16:32:30 (GMT) |
commit | c78584c970e4723798f10a05b72759006b711a83 (patch) | |
tree | 7587005eac072fd51527c30e581727b610701ce7 /src/gui/image | |
parent | a06a0e0ae6f967be0da5171285fda475261d21f1 (diff) | |
download | Qt-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-x | src/gui/image/qpixmap_mac.cpp | 5 |
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 |