summaryrefslogtreecommitdiffstats
path: root/src/svg/qsvggenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/svg/qsvggenerator.cpp')
-rw-r--r--src/svg/qsvggenerator.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/svg/qsvggenerator.cpp b/src/svg/qsvggenerator.cpp
index 2f80a92..248bf55 100644
--- a/src/svg/qsvggenerator.cpp
+++ b/src/svg/qsvggenerator.cpp
@@ -796,9 +796,9 @@ int QSvgGenerator::metric(QPaintDevice::PaintDeviceMetric metric) const
case QPaintDevice::PdmDpiY:
return d->engine->resolution();
case QPaintDevice::PdmHeightMM:
- return qRound(d->engine->size().height() * 25.4 / d->engine->resolution());
+ return qRound(d->engine->size().height() * (d->engine->resolution() / qreal(25.4)));
case QPaintDevice::PdmWidthMM:
- return qRound(d->engine->size().width() * 25.4 / d->engine->resolution());
+ return qRound(d->engine->size().width() * (d->engine->resolution() / qreal(25.4)));
case QPaintDevice::PdmNumColors:
return 0xffffffff;
case QPaintDevice::PdmPhysicalDpiX:
@@ -842,8 +842,9 @@ bool QSvgPaintEngine::begin(QPaintDevice *)
*d->stream << "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" << endl << "<svg";
if (d->size.isValid()) {
- qreal wmm = d->size.width() * 25.4 / d->resolution;
- qreal hmm = d->size.height() * 25.4 / d->resolution;
+ const qreal mm_factor = d->resolution / qreal(25.4);
+ const qreal wmm = d->size.width() * mm_factor;
+ const qreal hmm = d->size.height() * mm_factor;
*d->stream << " width=\"" << wmm << "mm\" height=\"" << hmm << "mm\"" << endl;
}