[Libreoffice-commits] core.git: include/vcl vcl/opengl vcl/qa vcl/source
Luboš Luňák
l.lunak at collabora.com
Mon Dec 15 09:38:38 PST 2014
include/vcl/bitmap.hxx | 23 +++++++++++------------
vcl/opengl/scale.cxx | 4 ++--
vcl/qa/cppunit/graphicfilter/filters-test.cxx | 2 +-
vcl/source/gdi/bitmap3.cxx | 2 ++
4 files changed, 16 insertions(+), 15 deletions(-)
New commits:
commit 9dc134a6df9255b4ca294cd2e9b88026624e6125
Author: Luboš Luňák <l.lunak at collabora.com>
Date: Mon Dec 15 18:36:32 2014 +0100
do not hardcode what specific "generic" bitmap scaling operations use
I.e. make it possible for the opengl backend to decide to use a different
scaling algorithm.
Change-Id: I36e76de071797129c7636b3048c93bc6e5d93aca
diff --git a/include/vcl/bitmap.hxx b/include/vcl/bitmap.hxx
index 80b76e4..26a221c 100644
--- a/include/vcl/bitmap.hxx
+++ b/include/vcl/bitmap.hxx
@@ -35,18 +35,17 @@
#define BMP_SCALE_NONE 0x00000000UL
-#define BMP_SCALE_FAST 0x00000001UL
-#define BMP_SCALE_INTERPOLATE 0x00000002UL
-#define BMP_SCALE_SUPER 0x00000003UL
-#define BMP_SCALE_LANCZOS 0x00000004UL
-#define BMP_SCALE_BICUBIC 0x00000005UL
-#define BMP_SCALE_BILINEAR 0x00000006UL
-#define BMP_SCALE_BOX 0x00000007UL
-
-// Aliases, try to use these two (or BMP_SCALE_FAST/BMP_SCALE_NONE),
-// use a specific algorithm only if you really need to.
-#define BMP_SCALE_BESTQUALITY BMP_SCALE_LANCZOS
-#define BMP_SCALE_DEFAULT BMP_SCALE_SUPER
+// Try to preferably use these.
+#define BMP_SCALE_DEFAULT 0x00000001UL
+#define BMP_SCALE_FAST 0x00000002UL
+#define BMP_SCALE_BESTQUALITY 0x00000003UL
+// Specific algorithms, use only if you really need to.
+#define BMP_SCALE_INTERPOLATE 0x00000004UL
+#define BMP_SCALE_SUPER 0x00000005UL
+#define BMP_SCALE_LANCZOS 0x00000006UL
+#define BMP_SCALE_BICUBIC 0x00000007UL
+#define BMP_SCALE_BILINEAR 0x00000008UL
+#define BMP_SCALE_BOX 0x00000009UL
#define BMP_DITHER_NONE 0x00000000UL
diff --git a/vcl/opengl/scale.cxx b/vcl/opengl/scale.cxx
index 4703c1f..01a9963 100644
--- a/vcl/opengl/scale.cxx
+++ b/vcl/opengl/scale.cxx
@@ -203,13 +203,13 @@ bool OpenGLSalBitmap::ImplScale( const double& rScaleX, const double& rScaleY, s
{
return ImplScaleFilter( rScaleX, rScaleY, GL_LINEAR );
}
- else if( nScaleFlag == BMP_SCALE_SUPER )
+ else if( nScaleFlag == BMP_SCALE_SUPER || nScaleFlag == BMP_SCALE_DEFAULT )
{
const Lanczos3Kernel aKernel;
return ImplScaleConvolution( rScaleX, rScaleY, aKernel );
}
- else if( nScaleFlag == BMP_SCALE_LANCZOS )
+ else if( nScaleFlag == BMP_SCALE_LANCZOS || nScaleFlag == BMP_SCALE_BESTQUALITY )
{
const Lanczos3Kernel aKernel;
diff --git a/vcl/qa/cppunit/graphicfilter/filters-test.cxx b/vcl/qa/cppunit/graphicfilter/filters-test.cxx
index 48b1045..0b04dbf 100644
--- a/vcl/qa/cppunit/graphicfilter/filters-test.cxx
+++ b/vcl/qa/cppunit/graphicfilter/filters-test.cxx
@@ -62,7 +62,7 @@ bool VclFiltersTest::load(const OUString &,
void VclFiltersTest::testScaling()
{
- for (unsigned int i = BMP_SCALE_FAST; i <= BMP_SCALE_BOX; i++)
+ for (unsigned int i = BMP_SCALE_NONE + 1; i <= BMP_SCALE_BOX; i++)
{
Bitmap aBitmap( Size( 413, 409 ), 24 );
BitmapEx aBitmapEx( aBitmap );
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index 1a7e1cf..38816e4 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -927,6 +927,7 @@ bool Bitmap::Scale( const double& rScaleX, const double& rScaleY, sal_uInt32 nSc
break;
}
case BMP_SCALE_SUPER:
+ case BMP_SCALE_DEFAULT:
{
if (GetSizePixel().Width() < 2 || GetSizePixel().Height() < 2)
{
@@ -941,6 +942,7 @@ bool Bitmap::Scale( const double& rScaleX, const double& rScaleY, sal_uInt32 nSc
break;
}
case BMP_SCALE_LANCZOS :
+ case BMP_SCALE_BESTQUALITY:
{
const Lanczos3Kernel kernel;
More information about the Libreoffice-commits
mailing list