VirtualBox

Changeset 53863 in vbox


Ignore:
Timestamp:
Jan 19, 2015 6:48:18 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97697
Message:

FE/Qt: Mac OS X: 6278: Support for unscaled HiDPI (Retina) video-output: Pausing/restoring screenshots support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp

    r53862 r53863  
    882882    /* Finally copy the screen-shot to pause-pixmap: */
    883883    m_pausePixmap = QPixmap::fromImage(screenShot);
     884#ifdef Q_WS_MAC
     885    /* Adjust-backing-scale-factor if necessary: */
     886    const double dBackingScaleFactor = frameBuffer()->backingScaleFactor();
     887    if (dBackingScaleFactor > 1.0 && frameBuffer()->useUnscaledHiDPIOutput())
     888        m_pausePixmap.setDevicePixelRatio(dBackingScaleFactor);
     889#endif /* Q_WS_MAC */
    884890
    885891    /* Update scaled pause pixmap: */
     
    911917    /* Finally copy the screen-shot to pause-pixmap: */
    912918    m_pausePixmap = QPixmap::fromImage(screenShot);
     919#ifdef Q_WS_MAC
     920    /* Adjust-backing-scale-factor if necessary: */
     921    const double dBackingScaleFactor = frameBuffer()->backingScaleFactor();
     922    if (dBackingScaleFactor > 1.0 && frameBuffer()->useUnscaledHiDPIOutput())
     923        m_pausePixmap.setDevicePixelRatio(dBackingScaleFactor);
     924#endif /* Q_WS_MAC */
    913925
    914926    /* Update scaled pause pixmap: */
     
    929941    /* Update pause pixmap finally: */
    930942    m_pausePixmapScaled = pausePixmap().scaled(scaledSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
     943#ifdef Q_WS_MAC
     944    /* Adjust-backing-scale-factor if necessary: */
     945    const double dBackingScaleFactor = frameBuffer()->backingScaleFactor();
     946    if (dBackingScaleFactor > 1.0 && frameBuffer()->useUnscaledHiDPIOutput())
     947        m_pausePixmapScaled.setDevicePixelRatio(dBackingScaleFactor);
     948#endif /* Q_WS_MAC */
    931949}
    932950
     
    11831201        /* Take the scale-factor into account: */
    11841202        if (gEDataManager->scaleFactor(vboxGlobal().managedVMUuid()) == 1.0)
    1185             painter.drawPixmap(rect, pausePixmap(), QRect(rect.x() + contentsX(), rect.y() + contentsY(),
    1186                                                           rect.width(), rect.height()));
     1203            painter.drawPixmap(rect.topLeft(), pausePixmap());
    11871204        else
    1188             painter.drawPixmap(rect, pausePixmapScaled(), QRect(rect.x() + contentsX(), rect.y() + contentsY(),
    1189                                                                 rect.width(), rect.height()));
     1205            painter.drawPixmap(rect.topLeft(), pausePixmapScaled());
    11901206#ifdef Q_WS_MAC
    11911207        /* Update the dock icon: */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette