diff options
author | Aleksandar Sasha Babic <aleksandar.babic@nokia.com> | 2009-11-03 09:36:52 (GMT) |
---|---|---|
committer | Aleksandar Sasha Babic <aleksandar.babic@nokia.com> | 2009-11-06 16:45:51 (GMT) |
commit | 676780d515cedca85829ae962e4f501c5e5b6581 (patch) | |
tree | b2994f82bf34031ae4b23ed9eb3a078e3c2a1e39 /src/gui/image | |
parent | 03b19519768b504e5c7f5fd3923a14591e58b365 (diff) | |
download | Qt-676780d515cedca85829ae962e4f501c5e5b6581.zip Qt-676780d515cedca85829ae962e4f501c5e5b6581.tar.gz Qt-676780d515cedca85829ae962e4f501c5e5b6581.tar.bz2 |
Using qreal more consistently in code (prevent misuse of double)
We want to force use of qreal where possible. This can lead to better
performance on platforms where qreal -> float (i.e. ARM). To achieve
this we:
1. changed from 'double' to 'qreal', where justified
2. using qreal() to intialize constants, where justified
3. adding helper functions that are overloaded for qreal
like qAtan2(), qAcos(), qFabs() ...
4. defining QT_USE_MATH_H_FLOATS for Symbian platform
In addtion we used opportunity to improve code with some small things
5. converting divisions to multiplications
(i.e. '/ 2.0' -> '* qreal(0.5)')
6. defining new constants (i.e. 'Q_PI / 180.0' -> 'Q_PI180')
7. declaring variables as 'const', where justified
Reviewed-by: Andreas Aardal Hanssen
Reviewed-by: Gunnar Sletta
Reviewed-by: Jan-Arve
Reviewed-by: Kim Motoyoshi Kalland
Reviewed-by: Alessandro Portale
Reviewed-by: Janne Koskinen
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qimage.cpp | 30 | ||||
-rw-r--r-- | src/gui/image/qpaintengine_pic.cpp | 4 | ||||
-rw-r--r-- | src/gui/image/qpicture.cpp | 4 | ||||
-rw-r--r-- | src/gui/image/qpixmap_raster.cpp | 4 | ||||
-rw-r--r-- | src/gui/image/qpixmap_s60.cpp | 9 | ||||
-rw-r--r-- | src/gui/image/qpnghandler.cpp | 4 |
6 files changed, 28 insertions, 27 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 21ca1e3..2cf8597 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -5313,19 +5313,19 @@ int QImage::metric(PaintDeviceMetric metric) const break; case PdmDpiX: - return qRound(d->dpmx * 0.0254); + return qRound(d->dpmx * qreal(0.0254)); break; case PdmDpiY: - return qRound(d->dpmy * 0.0254); + return qRound(d->dpmy * qreal(0.0254)); break; case PdmPhysicalDpiX: - return qRound(d->dpmx * 0.0254); + return qRound(d->dpmx * qreal(0.0254)); break; case PdmPhysicalDpiY: - return qRound(d->dpmy * 0.0254); + return qRound(d->dpmy * qreal(0.0254)); break; default: @@ -5391,12 +5391,12 @@ bool qt_xForm_helper(const QTransform &trueMat, int xoffset, int type, int depth uchar *dptr, int dbpl, int p_inc, int dHeight, const uchar *sptr, int sbpl, int sWidth, int sHeight) { - int m11 = int(trueMat.m11()*4096.0); - int m12 = int(trueMat.m12()*4096.0); - int m21 = int(trueMat.m21()*4096.0); - int m22 = int(trueMat.m22()*4096.0); - int dx = qRound(trueMat.dx()*4096.0); - int dy = qRound(trueMat.dy()*4096.0); + int m11 = int(trueMat.m11()*qreal(4096.0)); + int m12 = int(trueMat.m12()*qreal(4096.0)); + int m21 = int(trueMat.m21()*qreal(4096.0)); + int m22 = int(trueMat.m22()*qreal(4096.0)); + int dx = qRound(trueMat.dx()*qreal(4096.0)); + int dy = qRound(trueMat.dy()*qreal(4096.0)); int m21ydx = dx + (xoffset<<16) + (m11 + m21) / 2; int m22ydy = dy + (m12 + m22) / 2; @@ -5980,22 +5980,22 @@ QImage QImage::transformed(const QTransform &matrix, Qt::TransformationMode mode if (mat.type() <= QTransform::TxScale) { if (mat.type() == QTransform::TxNone) // identity matrix return *this; - else if (mat.m11() == -1. && mat.m22() == -1.) + else if (mat.m11() == qreal(-1.) && mat.m22() == qreal(-1.)) return rotated180(*this); if (mode == Qt::FastTransformation) { hd = qRound(qAbs(mat.m22()) * hs); wd = qRound(qAbs(mat.m11()) * ws); } else { - hd = int(qAbs(mat.m22()) * hs + 0.9999); - wd = int(qAbs(mat.m11()) * ws + 0.9999); + hd = int(qAbs(mat.m22()) * hs + qreal(0.9999)); + wd = int(qAbs(mat.m11()) * ws + qreal(0.9999)); } scale_xform = true; } else { if (mat.type() <= QTransform::TxRotate && mat.m11() == 0 && mat.m22() == 0) { - if (mat.m12() == 1. && mat.m21() == -1.) + if (mat.m12() == qreal(1.) && mat.m21() == qreal(-1.)) return rotated90(*this); - else if (mat.m12() == -1. && mat.m21() == 1.) + else if (mat.m12() == qreal(-1.) && mat.m21() == qreal(1.)) return rotated270(*this); } diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index 80b16cf..b6fea8b 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -342,7 +342,7 @@ void QPicturePaintEngine::writeCmdLength(int pos, const QRectF &r, bool corr) } d->pic_d->pictb.seek(newpos); // set to new position - if (br.width() > 0.0 || br.height() > 0.0) { + if (br.width() > qreal(0.0) || br.height() > qreal(0.0)) { if (corr) { // widen bounding rect int w2 = painter()->pen().width() / 2; br.setCoords(br.left() - w2, br.top() - w2, @@ -354,7 +354,7 @@ void QPicturePaintEngine::writeCmdLength(int pos, const QRectF &r, bool corr) br &= cr; } - if (br.width() > 0.0 || br.height() > 0.0) { + if (br.width() > qreal(0.0) || br.height() > qreal(0.0)) { int minx = qFloor(br.left()); int miny = qFloor(br.top()); int maxx = qCeil(br.right()); diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp index f502827..39a4fcc 100644 --- a/src/gui/image/qpicture.cpp +++ b/src/gui/image/qpicture.cpp @@ -967,10 +967,10 @@ int QPicture::metric(PaintDeviceMetric m) const val = brect.height(); break; case PdmWidthMM: - val = int(25.4/qt_defaultDpiX()*brect.width()); + val = int(qreal(25.4)/qt_defaultDpiX()*brect.width()); break; case PdmHeightMM: - val = int(25.4/qt_defaultDpiY()*brect.height()); + val = int(qreal(25.4)/qt_defaultDpiY()*brect.height()); break; case PdmDpiX: case PdmPhysicalDpiX: diff --git a/src/gui/image/qpixmap_raster.cpp b/src/gui/image/qpixmap_raster.cpp index fc76dc3..8560e5d 100644 --- a/src/gui/image/qpixmap_raster.cpp +++ b/src/gui/image/qpixmap_raster.cpp @@ -373,9 +373,9 @@ int QRasterPixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const case QPaintDevice::PdmHeight: return h; case QPaintDevice::PdmWidthMM: - return qRound(d->width * 25.4 / qt_defaultDpiX()); + return qRound(d->width * qreal(25.4) / qt_defaultDpiX()); case QPaintDevice::PdmHeightMM: - return qRound(d->width * 25.4 / qt_defaultDpiY()); + return qRound(d->width * qreal(25.4) / qt_defaultDpiY()); case QPaintDevice::PdmNumColors: return d->colortable.size(); case QPaintDevice::PdmDepth: diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index cd8a4d4..6a999b4 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -568,6 +568,7 @@ int QS60PixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const if (!cfbsBitmap) return 0; + qreal div_by_KTwipsPerInch = 1 / (qreal)KTwipsPerInch; switch (metric) { case QPaintDevice::PdmWidth: return cfbsBitmap->SizeInPixels().iWidth; @@ -575,23 +576,23 @@ int QS60PixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const return cfbsBitmap->SizeInPixels().iHeight; case QPaintDevice::PdmWidthMM: { TInt twips = cfbsBitmap->SizeInTwips().iWidth; - return (int)(twips * (25.4/KTwipsPerInch)); + return (int)(twips * (qreal(25.4) * div_by_KTwipsPerInch)); } case QPaintDevice::PdmHeightMM: { TInt twips = cfbsBitmap->SizeInTwips().iHeight; - return (int)(twips * (25.4/KTwipsPerInch)); + return (int)(twips * (qreal(25.4) * div_by_KTwipsPerInch)); } case QPaintDevice::PdmNumColors: return TDisplayModeUtils::NumDisplayModeColors(cfbsBitmap->DisplayMode()); case QPaintDevice::PdmDpiX: case QPaintDevice::PdmPhysicalDpiX: { - TReal inches = cfbsBitmap->SizeInTwips().iWidth / (TReal)KTwipsPerInch; + qreal inches = cfbsBitmap->SizeInTwips().iWidth * div_by_KTwipsPerInch; TInt pixels = cfbsBitmap->SizeInPixels().iWidth; return pixels / inches; } case QPaintDevice::PdmDpiY: case QPaintDevice::PdmPhysicalDpiY: { - TReal inches = cfbsBitmap->SizeInTwips().iHeight / (TReal)KTwipsPerInch; + qreal inches = cfbsBitmap->SizeInTwips().iHeight * div_by_KTwipsPerInch; TInt pixels = cfbsBitmap->SizeInPixels().iHeight; return pixels / inches; } diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp index 44d689d..e520c63 100644 --- a/src/gui/image/qpnghandler.cpp +++ b/src/gui/image/qpnghandler.cpp @@ -732,8 +732,8 @@ bool Q_INTERNAL_WIN_NO_THROW QPNGImageWriter::writeImage(const QImage& image_in, png_set_compression_level(png_ptr, quality); } - if (gamma != 0.0) { - png_set_gAMA(png_ptr, info_ptr, 1.0/gamma); + if (gamma != qreal(0.0)) { + png_set_gAMA(png_ptr, info_ptr, qreal(1.0)/gamma); } png_set_write_fn(png_ptr, (void*)this, qpiw_write_fn, qpiw_flush_fn); |