summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qplatformscreen_lite.cpp8
-rw-r--r--src/gui/kernel/qplatformscreen_lite.h2
-rw-r--r--src/gui/text/qfont.cpp14
-rw-r--r--src/plugins/platforms/minimal/qplatformintegration_minimal.cpp1
-rw-r--r--src/plugins/platforms/minimal/qplatformintegration_minimal.h1
5 files changed, 21 insertions, 5 deletions
diff --git a/src/gui/kernel/qplatformscreen_lite.cpp b/src/gui/kernel/qplatformscreen_lite.cpp
index 4492463..4c0a02b 100644
--- a/src/gui/kernel/qplatformscreen_lite.cpp
+++ b/src/gui/kernel/qplatformscreen_lite.cpp
@@ -56,3 +56,11 @@ QWidget *QPlatformScreen::topLevelAt(const QPoint & pos) const
return 0;
}
+QSize QPlatformScreen::physicalSize() const
+{
+ static const int dpi = 100;
+ int width = geometry().width() / dpi * qreal(25.4) ;
+ int height = geometry().height() / dpi * qreal(25.4) ;
+ return QSize(width,height);
+}
+
diff --git a/src/gui/kernel/qplatformscreen_lite.h b/src/gui/kernel/qplatformscreen_lite.h
index cae5f42..7d0e28d 100644
--- a/src/gui/kernel/qplatformscreen_lite.h
+++ b/src/gui/kernel/qplatformscreen_lite.h
@@ -62,7 +62,7 @@ public:
virtual QRect availableGeometry() const {return geometry();};
virtual int depth() const = 0;
virtual QImage::Format format() const = 0;
- virtual QSize physicalSize() const = 0;
+ virtual QSize physicalSize() const;
virtual void setDirty(const QRect &) {}
virtual QWidget *topLevelAt(const QPoint &point) const;
};
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 01e4ef6..81d431c 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -75,6 +75,10 @@
#ifdef Q_OS_SYMBIAN
#include "qt_s60_p.h"
#endif
+#ifdef Q_WS_LITE
+#include <QtGui/qplatformscreen_lite.h>
+#include <QtGui/private/qapplication_p.h>
+#endif
#include <QMutexLocker>
@@ -173,7 +177,10 @@ Q_GUI_EXPORT int qt_defaultDpiX()
screen = subScreens.at(0);
dpi = qRound(screen->width() / (screen->physicalWidth() / qreal(25.4)));
#elif defined(Q_WS_LITE)
- dpi = 72;
+ QPlatformScreen *screen = QApplicationPrivate::platformIntegration()->screens().at(0);
+ const QSize screenSize = screen->geometry().size();
+ const QSize physicalSize = screen->physicalSize();
+ dpi = qRound(screenSize.width() / (physicalSize.width() / qreal(25.4)));
#elif defined(Q_OS_SYMBIAN)
dpi = S60->defaultDpiX;
#endif // Q_WS_X11
@@ -203,7 +210,10 @@ Q_GUI_EXPORT int qt_defaultDpiY()
screen = subScreens.at(0);
dpi = qRound(screen->height() / (screen->physicalHeight() / qreal(25.4)));
#elif defined(Q_WS_LITE)
- dpi = 72;
+ QPlatformScreen *screen = QApplicationPrivate::platformIntegration()->screens().at(0);
+ const QSize screenSize = screen->geometry().size();
+ const QSize physicalSize = screen->physicalSize();
+ dpi = qRound(screenSize.height() / (physicalSize.height() / qreal(25.4)));
#elif defined(Q_OS_SYMBIAN)
dpi = S60->defaultDpiY;
#endif // Q_WS_X11
diff --git a/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp b/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
index 404ffbc..94aa4f3 100644
--- a/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
+++ b/src/plugins/platforms/minimal/qplatformintegration_minimal.cpp
@@ -11,7 +11,6 @@ QMinimalIntegration::QMinimalIntegration()
mPrimaryScreen->mGeometry = QRect(0, 0, 240, 320);
mPrimaryScreen->mDepth = 16;
mPrimaryScreen->mFormat = QImage::Format_RGB16;
- mPrimaryScreen->mPhysicalSize = QSize(40, 54);
mScreens.append(mPrimaryScreen);
}
diff --git a/src/plugins/platforms/minimal/qplatformintegration_minimal.h b/src/plugins/platforms/minimal/qplatformintegration_minimal.h
index 2e8a8cf..fefe6c3 100644
--- a/src/plugins/platforms/minimal/qplatformintegration_minimal.h
+++ b/src/plugins/platforms/minimal/qplatformintegration_minimal.h
@@ -57,7 +57,6 @@ public:
QRect geometry() const { return mGeometry; }
int depth() const { return mDepth; }
QImage::Format format() const { return mFormat; }
- QSize physicalSize() const { return mPhysicalSize; }
public:
QRect mGeometry;