diff options
Diffstat (limited to 'src/plugins')
18 files changed, 36 insertions, 37 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index a253a6bea3..6e845de790 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -59,14 +59,14 @@ public: QRect geometry() const { return m_geometry; } int depth() const { return m_depth; } QImage::Format format() const { return m_format; } - QSize physicalSize() const { return m_physicalSize; } + QSizeF physicalSize() const { return m_physicalSize; } public: NSScreen *m_screen; QRect m_geometry; int m_depth; QImage::Format m_format; - QSize m_physicalSize; + QSizeF m_physicalSize; }; class QCocoaIntegration : public QPlatformIntegration diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 63993146bd..68567a3c70 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -70,7 +70,7 @@ QCocoaScreen::QCocoaScreen(int screenIndex) const int dpi = 72; const qreal inch = 25.4; - m_physicalSize = QSize(qRound(m_geometry.width() * inch / dpi), qRound(m_geometry.height() *inch / dpi)); + m_physicalSize = QSizeF(m_geometry.size()) * inch / dpi; } QCocoaScreen::~QCocoaScreen() diff --git a/src/plugins/platforms/directfb/qdirectfbintegration.cpp b/src/plugins/platforms/directfb/qdirectfbintegration.cpp index 7bf26b433a..803d2f5dac 100644 --- a/src/plugins/platforms/directfb/qdirectfbintegration.cpp +++ b/src/plugins/platforms/directfb/qdirectfbintegration.cpp @@ -73,7 +73,7 @@ QDirectFbScreen::QDirectFbScreen(int display) const int dpi = 72; const qreal inch = 25.4; m_depth = QDirectFbConvenience::colorDepthForSurface(config.pixelformat); - m_physicalSize = QSize(qRound(config.width * inch / dpi), qRound(config.height *inch / dpi)); + m_physicalSize = QSizeF(config.width, config.height) * inch / dpi; m_cursor = new QDirectFBCursor(this); } diff --git a/src/plugins/platforms/directfb/qdirectfbintegration.h b/src/plugins/platforms/directfb/qdirectfbintegration.h index 64f3b6005a..cba32497b3 100644 --- a/src/plugins/platforms/directfb/qdirectfbintegration.h +++ b/src/plugins/platforms/directfb/qdirectfbintegration.h @@ -63,13 +63,13 @@ public: QRect geometry() const { return m_geometry; } int depth() const { return m_depth; } QImage::Format format() const { return m_format; } - QSize physicalSize() const { return m_physicalSize; } + QSizeF physicalSize() const { return m_physicalSize; } public: QRect m_geometry; int m_depth; QImage::Format m_format; - QSize m_physicalSize; + QSizeF m_physicalSize; IDirectFBDisplayLayer *m_layer; diff --git a/src/plugins/platforms/kms/qkmsscreen.cpp b/src/plugins/platforms/kms/qkmsscreen.cpp index 0cd1530930..9ea20ae505 100644 --- a/src/plugins/platforms/kms/qkmsscreen.cpp +++ b/src/plugins/platforms/kms/qkmsscreen.cpp @@ -91,7 +91,7 @@ QImage::Format QKmsScreen::format() const return m_format; } -QSize QKmsScreen::physicalSize() const +QSizeF QKmsScreen::physicalSize() const { return m_physicalSize; } @@ -132,7 +132,7 @@ void QKmsScreen::initializeScreenMode() m_geometry = QRect(0, 0, m_mode.hdisplay, m_mode.vdisplay); m_depth = 32; m_format = QImage::Format_RGB32; - m_physicalSize = QSize(connector->mmWidth, connector->mmHeight); + m_physicalSize = QSizeF(connector->mmWidth, connector->mmHeight); //Setup three buffers for current mode m_bufferManager.setupBuffersForMode(m_mode, 3); diff --git a/src/plugins/platforms/kms/qkmsscreen.h b/src/plugins/platforms/kms/qkmsscreen.h index 5c8b5ca4f5..5807366f8b 100644 --- a/src/plugins/platforms/kms/qkmsscreen.h +++ b/src/plugins/platforms/kms/qkmsscreen.h @@ -60,7 +60,7 @@ public: QRect geometry() const; int depth() const; QImage::Format format() const; - QSize physicalSize() const; + QSizeF physicalSize() const; GLuint framebufferObject() const; quint32 crtcId() const { return m_crtcId; } @@ -83,7 +83,7 @@ private: quint32 m_crtcId; drmModeModeInfo m_mode; QRect m_geometry; - QSize m_physicalSize; + QSizeF m_physicalSize; int m_depth; QImage::Format m_format; diff --git a/src/plugins/platforms/openwfd/qopenwfdscreen.cpp b/src/plugins/platforms/openwfd/qopenwfdscreen.cpp index 785bee9c55..0d3361899b 100644 --- a/src/plugins/platforms/openwfd/qopenwfdscreen.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdscreen.cpp @@ -112,9 +112,9 @@ QImage::Format QOpenWFDScreen::format() const return QImage::Format_RGB32; } -QSize QOpenWFDScreen::physicalSize() const +QSizeF QOpenWFDScreen::physicalSize() const { - return mPort->physicalSize().toSize(); + return mPort->physicalSize(); } QOpenWFDPort * QOpenWFDScreen::port() const diff --git a/src/plugins/platforms/openwfd/qopenwfdscreen.h b/src/plugins/platforms/openwfd/qopenwfdscreen.h index bb23744ac4..fc65e504ac 100644 --- a/src/plugins/platforms/openwfd/qopenwfdscreen.h +++ b/src/plugins/platforms/openwfd/qopenwfdscreen.h @@ -64,7 +64,7 @@ public: QRect geometry() const; int depth() const; QImage::Format format() const; - QSize physicalSize() const; + QSizeF physicalSize() const; QOpenWFDPort *port() const; diff --git a/src/plugins/platforms/qvfb/qvfbintegration.cpp b/src/plugins/platforms/qvfb/qvfbintegration.cpp index d4d8183936..1ddf934ee9 100644 --- a/src/plugins/platforms/qvfb/qvfbintegration.cpp +++ b/src/plugins/platforms/qvfb/qvfbintegration.cpp @@ -392,8 +392,8 @@ QImage::Format QVFbScreen::format() const return d_ptr->format(); } -QSize QVFbScreen::physicalSize() const { - return (d_ptr->screenSize()*254)/720; +QSizeF QVFbScreen::physicalSize() const { + return (QSizeF(d_ptr->screenSize())*254)/720.; } #if 0 diff --git a/src/plugins/platforms/qvfb/qvfbintegration.h b/src/plugins/platforms/qvfb/qvfbintegration.h index 1c736c24e0..c6bfcc519c 100644 --- a/src/plugins/platforms/qvfb/qvfbintegration.h +++ b/src/plugins/platforms/qvfb/qvfbintegration.h @@ -60,7 +60,7 @@ public: QRect geometry() const; int depth() const; QImage::Format format() const; - QSize physicalSize() const; + QSizeF physicalSize() const; QImage *screenImage(); diff --git a/src/plugins/platforms/uikit/quikitscreen.h b/src/plugins/platforms/uikit/quikitscreen.h index 23e95f692b..bde4f89a1e 100644 --- a/src/plugins/platforms/uikit/quikitscreen.h +++ b/src/plugins/platforms/uikit/quikitscreen.h @@ -57,7 +57,7 @@ public: QRect geometry() const { return m_geometry; } int depth() const { return m_depth; } QImage::Format format() const { return m_format; } - QSize physicalSize() const { return m_physicalSize; } + QSizeF physicalSize() const { return m_physicalSize; } UIScreen *uiScreen() const; @@ -65,7 +65,7 @@ private: QRect m_geometry; int m_depth; QImage::Format m_format; - QSize m_physicalSize; + QSizeF m_physicalSize; int m_index; }; diff --git a/src/plugins/platforms/uikit/quikitscreen.mm b/src/plugins/platforms/uikit/quikitscreen.mm index 0a5b027b2b..b938542df4 100644 --- a/src/plugins/platforms/uikit/quikitscreen.mm +++ b/src/plugins/platforms/uikit/quikitscreen.mm @@ -67,7 +67,7 @@ QUIKitScreen::QUIKitScreen(int screenIndex) dpi = 132.; dragDistance = 10; } - m_physicalSize = QSize(qRound(bounds.size.width * inch / dpi), qRound(bounds.size.height * inch / dpi)); + m_physicalSize = QSizeF(bounds.size.width, bounds.size.height) * inch / dpi; qApp->setStartDragDistance(dragDistance); [pool release]; } diff --git a/src/plugins/platforms/windows/qwindowsscreen.cpp b/src/plugins/platforms/windows/qwindowsscreen.cpp index cde9dec21b..c6784e5bf3 100644 --- a/src/plugins/platforms/windows/qwindowsscreen.cpp +++ b/src/plugins/platforms/windows/qwindowsscreen.cpp @@ -55,8 +55,6 @@ QT_BEGIN_NAMESPACE -typedef QPair<int, int> DPI; - QWindowsScreenData::QWindowsScreenData() : dpi(96, 96), depth(32), @@ -64,25 +62,25 @@ QWindowsScreenData::QWindowsScreenData() : { } -static inline DPI deviceDPI(HDC hdc) +static inline QDpi deviceDPI(HDC hdc) { - return DPI(GetDeviceCaps(hdc, LOGPIXELSX), GetDeviceCaps(hdc, LOGPIXELSY)); + return QDpi(GetDeviceCaps(hdc, LOGPIXELSX), GetDeviceCaps(hdc, LOGPIXELSY)); } -static inline QSize deviceSizeMM(const QSize &pixels, const DPI &dpi) +static inline QSizeF deviceSizeMM(const QSize &pixels, const QDpi &dpi) { const qreal inchToMM = 25.4; const qreal h = qreal(pixels.width()) / qreal(dpi.first) * inchToMM; const qreal v = qreal(pixels.height()) / qreal(dpi.second) * inchToMM; - return QSize(qRound(h), qRound(v)); + return QSizeF(h, v); } -static inline DPI deviceDPI(const QSize &pixels, const QSize &physicalSizeMM) +static inline QDpi deviceDPI(const QSize &pixels, const QSizeF &physicalSizeMM) { const qreal inchToMM = 25.4; const qreal h = qreal(pixels.width()) / (qreal(physicalSizeMM.width()) / inchToMM); const qreal v = qreal(pixels.height()) / (qreal(physicalSizeMM.height()) / inchToMM); - return DPI(qRound(v), qRound(h)); + return QDpi(h, v); } typedef QList<QWindowsScreenData> WindowsScreenDataList; @@ -101,13 +99,13 @@ BOOL QT_WIN_CALLBACK monitorEnumCallback(HMONITOR hMonitor, HDC, LPRECT, LPARAM data.geometry = QRect(QPoint(info.rcMonitor.left, info.rcMonitor.top), QPoint(info.rcMonitor.right - 1, info.rcMonitor.bottom - 1)); if (HDC hdc = CreateDC(info.szDevice, NULL, NULL, NULL)) { data.dpi = deviceDPI(hdc); + data.physicalSizeMM = QSizeF(GetDeviceCaps(hdc, HORZSIZE), GetDeviceCaps(hdc, VERTSIZE)); DeleteDC(hdc); } else { qWarning("%s: Unable to obtain handle for monitor '%s', defaulting to %d DPI.", __FUNCTION__, qPrintable(QString::fromWCharArray(info.szDevice)), data.dpi.first); } - data.physicalSizeMM = deviceSizeMM(data.geometry.size(), data.dpi); data.geometry = QRect(QPoint(info.rcMonitor.left, info.rcMonitor.top), QPoint(info.rcMonitor.right - 1, info.rcMonitor.bottom - 1)); data.availableGeometry = QRect(QPoint(info.rcWork.left, info.rcWork.top), QPoint(info.rcWork.right - 1, info.rcWork.bottom - 1)); data.primary = (info.dwFlags & MONITORINFOF_PRIMARY) != 0; diff --git a/src/plugins/platforms/windows/qwindowsscreen.h b/src/plugins/platforms/windows/qwindowsscreen.h index 65ee865d5e..b424375694 100644 --- a/src/plugins/platforms/windows/qwindowsscreen.h +++ b/src/plugins/platforms/windows/qwindowsscreen.h @@ -56,8 +56,8 @@ struct QWindowsScreenData QRect geometry; QRect availableGeometry; - QPair<int, int> dpi; - QSize physicalSizeMM; + QDpi dpi; + QSizeF physicalSizeMM; int depth; QImage::Format format; bool primary; @@ -74,7 +74,8 @@ public: virtual QRect availableGeometry() const { return m_data.availableGeometry; } virtual int depth() const { return m_data.depth; } virtual QImage::Format format() const { return m_data.format; } - virtual QSize physicalSize() const { return m_data.physicalSizeMM; } + virtual QSizeF physicalSize() const { return m_data.physicalSizeMM; } + virtual QDpi logicalDpi() const { return m_data.dpi; } virtual QWindow *topLevelAt(const QPoint &point) const { return QWindowsScreen::findTopLevelAt(point, CWP_SKIPINVISIBLE); } diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index d9583160d7..386dbdc49f 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -222,9 +222,9 @@ QImage::Format QXcbScreen::format() const return QImage::Format_RGB32; } -QSize QXcbScreen::physicalSize() const +QSizeF QXcbScreen::physicalSize() const { - return QSize(m_screen->width_in_millimeters, m_screen->height_in_millimeters); + return QSizeF(m_screen->width_in_millimeters, m_screen->height_in_millimeters); } int QXcbScreen::screenNumber() const diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h index 3c9bf0513c..76cc0fa1b4 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.h +++ b/src/plugins/platforms/xcb/qxcbscreen.h @@ -67,7 +67,7 @@ public: QRect geometry() const; int depth() const; QImage::Format format() const; - QSize physicalSize() const; + QSizeF physicalSize() const; int screenNumber() const; diff --git a/src/plugins/platforms/xlib/qxlibscreen.cpp b/src/plugins/platforms/xlib/qxlibscreen.cpp index e6263c0b33..314a3e4ecb 100644 --- a/src/plugins/platforms/xlib/qxlibscreen.cpp +++ b/src/plugins/platforms/xlib/qxlibscreen.cpp @@ -218,7 +218,7 @@ QXlibScreen::QXlibScreen() int physicalWidth = DisplayWidthMM(mDisplay->nativeDisplay(), mScreen); int physicalHeight = DisplayHeightMM(mDisplay->nativeDisplay(), mScreen); - mPhysicalSize = QSize(physicalWidth,physicalHeight); + mPhysicalSize = QSizeF(physicalWidth, physicalHeight); int xSocketNumber = XConnectionNumber(mDisplay->nativeDisplay()); diff --git a/src/plugins/platforms/xlib/qxlibscreen.h b/src/plugins/platforms/xlib/qxlibscreen.h index 6e1a3e401d..13fc03ef0f 100644 --- a/src/plugins/platforms/xlib/qxlibscreen.h +++ b/src/plugins/platforms/xlib/qxlibscreen.h @@ -62,7 +62,7 @@ public: QRect geometry() const { return mGeometry; } int depth() const { return mDepth; } QImage::Format format() const { return mFormat; } - QSize physicalSize() const { return mPhysicalSize; } + QSizeF physicalSize() const { return mPhysicalSize; } Window rootWindow(); unsigned long blackPixel(); @@ -94,7 +94,7 @@ private: void handleSelectionRequest(XEvent *event); QRect mGeometry; - QSize mPhysicalSize; + QSizeF mPhysicalSize; int mDepth; QImage::Format mFormat; QXlibCursor *mCursor; |