[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