diff options
author | A-Team <ateam@pad.test.qt.nokia.com> | 2010-10-22 22:00:11 (GMT) |
---|---|---|
committer | A-Team <ateam@pad.test.qt.nokia.com> | 2010-10-22 22:00:11 (GMT) |
commit | 0787890a9a06a0f05c78c7e4d85655fdc1fc9398 (patch) | |
tree | 824906aa3899243d46e2590a86ccd114259712a5 /src/gui/kernel | |
parent | 215f46d0a61a2f48d1ccbbc52c3b161fa36c84ec (diff) | |
parent | db14623485396fd69839e519184b794775b65b01 (diff) | |
download | Qt-0787890a9a06a0f05c78c7e4d85655fdc1fc9398.zip Qt-0787890a9a06a0f05c78c7e4d85655fdc1fc9398.tar.gz Qt-0787890a9a06a0f05c78c7e4d85655fdc1fc9398.tar.bz2 |
Merge branch '4.7-upstream' into 4.7-doc
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qwidget_qws.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/gui/kernel/qwidget_qws.cpp b/src/gui/kernel/qwidget_qws.cpp index 3145136..c6cbbd0 100644 --- a/src/gui/kernel/qwidget_qws.cpp +++ b/src/gui/kernel/qwidget_qws.cpp @@ -1017,6 +1017,30 @@ int QWidget::metric(PaintDeviceMetric m) const return static_cast<QWidget *>(d->parent)->metric(m); const QScreen *screen = d->getScreen(); return qRound(screen->height() / double(screen->physicalHeight() / 25.4)); + } else if (m == PdmNumColors) { + QScreen *screen = d->getScreen(); + int ret = screen->colorCount(); + if (!ret) { + const int depth = qwsDisplay()->depth(); + switch (depth) { + case 1: + ret = 2; + break; + case 8: + ret = 256; + break; + case 16: + ret = 65536; + break; + case 24: + ret = 16777216; + break; + case 32: + ret = 2147483647; + break; + } + } + return ret; } else { val = QPaintDevice::metric(m);// XXX } |