summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h4
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm2
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.cpp2
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.h4
-rw-r--r--src/plugins/platforms/kms/qkmsscreen.cpp4
-rw-r--r--src/plugins/platforms/kms/qkmsscreen.h4
-rw-r--r--src/plugins/platforms/openwfd/qopenwfdscreen.cpp4
-rw-r--r--src/plugins/platforms/openwfd/qopenwfdscreen.h2
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.cpp4
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.h2
-rw-r--r--src/plugins/platforms/uikit/quikitscreen.h4
-rw-r--r--src/plugins/platforms/uikit/quikitscreen.mm2
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.cpp16
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.h7
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h2
-rw-r--r--src/plugins/platforms/xlib/qxlibscreen.cpp2
-rw-r--r--src/plugins/platforms/xlib/qxlibscreen.h4
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;