[Libreoffice-commits] core.git: 4 commits - basebmp/source include/basebmp vcl/headless vcl/inc vcl/unx

Caolán McNamara caolanm at redhat.com
Wed Feb 25 09:06:52 PST 2015


 basebmp/source/bitmapdevice.cxx               |   20 +++++-----
 basebmp/source/debug.cxx                      |    4 +-
 include/basebmp/rgbmaskpixelformats.hxx       |   33 ++++++++---------
 include/basebmp/scanlineformats.hxx           |    2 -
 vcl/headless/svpbmp.cxx                       |   10 +++++
 vcl/headless/svpgdi.cxx                       |    1 
 vcl/headless/svpinst.cxx                      |    4 +-
 vcl/inc/headless/svpbmp.hxx                   |    2 -
 vcl/inc/unx/gtk/gtkgdi.hxx                    |    2 -
 vcl/unx/gtk/window/gtksalframe.cxx            |   46 +++++++++--------------
 vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx |   50 ++++++++------------------
 11 files changed, 80 insertions(+), 94 deletions(-)

New commits:
commit 3594c9ce1c94dfc52b9efe526a88baa79ea4b3e9
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Feb 25 15:47:17 2015 +0000

    presumably destroy flushes
    
    Change-Id: Ibf176df1e54138480030086abad0d045d27f19d1

diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 3e67f0d..e23f103 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -959,7 +959,6 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
         break;
     }
 
-    cairo_surface_flush(surface); //remove in a bit
     cairo_destroy(cr); // unref
     renderAreaToPix(surface, &translatedRegion);
     cairo_surface_destroy(surface); // unref
@@ -992,7 +991,6 @@ void GtkSalGraphics::renderAreaToPix( cairo_surface_t *source,
     cairo_rectangle( cr, ax, ay, awidth, aheight );
     cairo_fill( cr );
     cairo_destroy(cr);
-    cairo_surface_flush(target);
     cairo_surface_destroy(target);
 
     if ( !mpFrame->isDuringRender() )
commit a785df6a5f9ad327210f51163129ef8b59c3af29
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Feb 25 14:31:26 2015 +0000

    Use the cairo-compatible basebmp surface for headless
    
    That way the conversion from basebmp to cairo becomes unnecessary on blitting
    the thing onto a cairo surface for gtk3 and opens a route to using cairo, e.g.
    especially for text, to render to basebmp surfaces.
    
    Change-Id: I1d11f503410af9c92a97018e9ee20045412b157e

diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
index cedb975..d9da88b 100644
--- a/vcl/headless/svpbmp.cxx
+++ b/vcl/headless/svpbmp.cxx
@@ -185,6 +185,15 @@ BitmapBuffer* SvpSalBitmap::AcquireBuffer( BitmapAccessMode )
                 nBitCount = 24;
                 pBuf->mnFormat = BMP_FORMAT_24BIT_TC_BGR;
                 break;
+            case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
+                nBitCount = 32;
+                pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
+#ifdef OSL_BIGENDIAN
+                pBuf->maColorMask = ColorMask( 0x0000ff00, 0x00ff0000, 0xff000000 );
+#else
+                pBuf->maColorMask = ColorMask( 0x00ff0000, 0x0000ff00, 0x000000ff );
+#endif
+                break;
             case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
                 nBitCount = 32;
                 pBuf->mnFormat = BMP_FORMAT_32BIT_TC_MASK;
@@ -389,6 +398,7 @@ sal_uInt32 SvpSalBitmap::getBitCountFromScanlineFormat( basebmp::Format nFormat
         case FORMAT_TWENTYFOUR_BIT_TC_MASK:
             nBitCount = 24;
             break;
+        case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
         case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
         case FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
         case FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index b65e7b9..3f63146 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -126,6 +126,7 @@ void SvpSalGraphics::setDevice( basebmp::BitmapDeviceSharedPtr& rDevice )
         case basebmp::FORMAT_SIXTEEN_BIT_LSB_TC_MASK:
         case basebmp::FORMAT_SIXTEEN_BIT_MSB_TC_MASK:
         case basebmp::FORMAT_TWENTYFOUR_BIT_TC_MASK:
+        case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
         case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
         case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
         case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 7523dfd..a108883 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -439,14 +439,14 @@ Format SvpSalInstance::getFormatForBitCount( sal_uInt16 nBitCount )
             return FORMAT_SIXTEEN_BIT_LSB_TC_MASK;
 #endif
         case 24:
-            return FORMAT_TWENTYFOUR_BIT_TC_MASK;
+            return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX;
         case 32:
             return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA;
         case 0:
 #ifdef ANDROID
             return FORMAT_THIRTYTWO_BIT_TC_MASK_RGBA;
 #else
-            return FORMAT_TWENTYFOUR_BIT_TC_MASK;
+            return FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX;
 #endif
         default:
             return SVP_DEFAULT_BITMAP_FORMAT;
diff --git a/vcl/inc/headless/svpbmp.hxx b/vcl/inc/headless/svpbmp.hxx
index cb3336d..4b65acc 100644
--- a/vcl/inc/headless/svpbmp.hxx
+++ b/vcl/inc/headless/svpbmp.hxx
@@ -27,7 +27,7 @@
 
 #include <salbmp.hxx>
 
-#define SVP_DEFAULT_BITMAP_FORMAT basebmp::FORMAT_TWENTYFOUR_BIT_TC_MASK
+#define SVP_DEFAULT_BITMAP_FORMAT basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX
 
 class SvpSalBitmap : public SalBitmap
 {
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index 568ef5c..15742da 100644
--- a/vcl/inc/unx/gtk/gtkgdi.hxx
+++ b/vcl/inc/unx/gtk/gtkgdi.hxx
@@ -74,7 +74,7 @@ private:
     static GtkStyleContext *mpComboboxStyle;
     static GtkStyleContext *mpListboxStyle;
 
-    void renderAreaToPix( cairo_t* cr, cairo_rectangle_int_t *region );
+    void renderAreaToPix( cairo_surface_t* source, cairo_rectangle_int_t *region );
     void getStyleContext( GtkStyleContext** style, GtkWidget* widget );
     Rectangle NWGetScrollButtonRect( ControlPart nPart, Rectangle aAreaRect );
     Rectangle NWGetSpinButtonRect( ControlPart nPart, Rectangle aAreaRect);
diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
index ebc038c..997b948 100644
--- a/vcl/unx/gtk/window/gtksalframe.cxx
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
@@ -1966,8 +1966,11 @@ void GtkSalFrame::AllocateFrame()
         if( aFrameSize.getY() == 0 )
             aFrameSize.setY( 1 );
         sal_Int32 nStride(basebmp::getBitmapDeviceStrideForWidth(basebmp::FORMAT_TWENTYFOUR_BIT_TC_MASK, aFrameSize.getX()));
+        int cairo_stride = cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, aFrameSize.getX());
+        assert(cairo_stride >= basebmp::getBitmapDeviceStrideForWidth(basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX,
+            aFrameSize.getX()));
         m_aFrame = basebmp::createBitmapDevice(aFrameSize, true,
-                                               basebmp::FORMAT_TWENTYFOUR_BIT_TC_MASK, nStride);
+                                               basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX, cairo_stride);
         m_aFrame->setDamageTracker(
             basebmp::IBitmapDeviceDamageTrackerSharedPtr(new DamageTracker(*this)) );
         fprintf( stderr, "allocated m_aFrame size of %dx%d \n",
@@ -3423,41 +3426,28 @@ void GtkSalFrame::renderArea( cairo_t *cr, cairo_rectangle_t *area )
 
     cairo_save( cr );
 
-    int cairo_stride = cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32, area->width);
-    unsigned char *p, *src, *mem = (unsigned char *)malloc (cairo_stride * area->height);
-    p = mem;
-    src = data.get();
-    src += (int)ay * nStride + (int)ax * 3;
-
-    for (int y = 0; y < aheight; ++y)
-    {
-        for (int x = 0; x < awidth; ++x)
-        {
-            p[x*4 + 0] = src[x*3 + 0]; // B
-            p[x*4 + 1] = src[x*3 + 1]; // G
-            p[x*4 + 2] = src[x*3 + 2]; // R
-            p[x*4 + 3] = 255; // A
-        }
-        src += nStride;
-        p += cairo_stride;
-    }
+    unsigned char *src = data.get();
+    assert(cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, size.getX()) == nStride);
     cairo_surface_t *pSurface =
-        cairo_image_surface_create_for_data( mem,
-                                             CAIRO_FORMAT_ARGB32,
-                                             awidth, aheight,
-                                             cairo_stride );
-    /*    g_warning( "Fixed cairo status %d %d strides: %d vs %d, mask %d\n",
+        cairo_image_surface_create_for_data(src,
+                                            CAIRO_FORMAT_RGB24,
+                                            size.getX(), size.getY(),
+                                            nStride);
+    /*
+        int cairo_stride = cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, size.getX());
+        g_warning( "Fixed cairo status %d %d strides: %d vs %d, mask %d\n",
                (int) cairo_status( cr ),
                (int) cairo_surface_status( pSurface ),
                (int) nStride,
                (int) cairo_stride,
-               (int) (cairo_stride & (sizeof (uint32_t)-1)) ); */
+               (int) (cairo_stride & (sizeof (uint32_t)-1)) );
+    */
 
     cairo_set_operator( cr, CAIRO_OPERATOR_OVER );
-    cairo_set_source_surface( cr, pSurface, ax, ay );
-    cairo_paint( cr );
+    cairo_set_source_surface( cr, pSurface, 0, 0 );
+    cairo_rectangle( cr, ax, ay, awidth, aheight );
+    cairo_fill( cr );
     cairo_surface_destroy( pSurface );
-    free (mem);
     cairo_restore( cr );
 
     // Render red rectangles to show what was re-rendered ...
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index ac708fc..3e67f0d 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -912,7 +912,6 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
     cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32,
                                                           translatedRegion.width, translatedRegion.height);
     cairo_t *cr = cairo_create(surface);
-    cairo_surface_destroy(surface); // unref
 
     gtk_style_context_save(context);
     gtk_style_context_set_state(context, flags);
@@ -960,18 +959,15 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co
         break;
     }
 
-    gtk_style_context_restore(context);
-
-    renderAreaToPix(cr, &translatedRegion);
+    cairo_surface_flush(surface); //remove in a bit
     cairo_destroy(cr); // unref
+    renderAreaToPix(surface, &translatedRegion);
+    cairo_surface_destroy(surface); // unref
 
     return true;
 }
 
-// FIXME: This is incredibly lame... but so is cairo's insistence on - exactly -
-// its own stride - neither more nor less - particularly not more aligned
-// we like 8byte aligned, it likes 4 - most odd.
-void GtkSalGraphics::renderAreaToPix( cairo_t *cr,
+void GtkSalGraphics::renderAreaToPix( cairo_surface_t *source,
                                       cairo_rectangle_int_t *region)
 {
     if( !mpFrame->m_aFrame.get() )
@@ -982,33 +978,23 @@ void GtkSalGraphics::renderAreaToPix( cairo_t *cr,
     sal_Int32 nStride = mpFrame->m_aFrame->getScanlineStride();
     long ax = region->x;
     long ay = region->y;
-    long awidth = region->width;
-
-    /* Get the cairo surface and the data */
-    cairo_surface_t* surface = cairo_get_target(cr);
-    g_assert(surface != NULL);
-    cairo_surface_flush(surface);
-    unsigned char* cairo_data = cairo_image_surface_get_data(surface);
-    g_assert(cairo_data != NULL);
-    int cairo_stride = cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32, awidth);
-
-    unsigned char *src = data.get();
-    src += (int)ay * nStride + (int)ax * 3;
-    awidth = MIN (region->width, size.getX() - ax);
+    long awidth = MIN (region->width, size.getX() - ax);
     long aheight = MIN (region->height, size.getY() - ay);
 
-    for (int y = 0; y < aheight; ++y)
-    {
-        for (int x = 0; x < awidth && y < aheight; ++x)
-        {
-            double alpha = ((float)cairo_data[x*4 + 3])/255.0;
-            src[x*3 + 0] = src[x*3 + 0] * (1.0 - alpha) + cairo_data[x*4+0];
-            src[x*3 + 1] = src[x*3 + 1] * (1.0 - alpha) + cairo_data[x*4+1];
-            src[x*3 + 2] = src[x*3 + 2] * (1.0 - alpha) + cairo_data[x*4+2];
-        }
-        src += nStride;
-        cairo_data += cairo_stride;
-    }
+    cairo_surface_t *target =
+        cairo_image_surface_create_for_data(data.get(),
+                                        CAIRO_FORMAT_RGB24,
+                                        size.getX(), size.getY(),
+                                        nStride);
+    cairo_t *cr = cairo_create(target);
+
+    cairo_set_source_surface( cr, source, ax, ay );
+    cairo_rectangle( cr, ax, ay, awidth, aheight );
+    cairo_fill( cr );
+    cairo_destroy(cr);
+    cairo_surface_flush(target);
+    cairo_surface_destroy(target);
+
     if ( !mpFrame->isDuringRender() )
         gtk_widget_queue_draw_area( mpFrame->getWindow(), ax, ay, awidth, aheight );
 }
commit 940914489c7679dc660dd671c93a7f1ec0d49ead
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Feb 25 15:43:07 2015 +0000

    rename BGRU to BGRX
    
    Change-Id: I0f28b986542b4d30c0a2cb75e15fb258af98e9cd

diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx
index a9fe6a1..cb25e09 100644
--- a/basebmp/source/bitmapdevice.cxx
+++ b/basebmp/source/bitmapdevice.cxx
@@ -107,7 +107,7 @@ static const sal_uInt8 bitsPerPixel[] =
     16, // SIXTEEN_BIT_LSB_TC_MASK
     16, // SIXTEEN_BIT_MSB_TC_MASK
     24, // TWENTYFOUR_BIT_TC_MASK
-    32, // TWENTYFOUR_BIT_TC_MASK_BGRU
+    32, // TWENTYFOUR_BIT_TC_MASK_BGRX
     32, // THIRTYTWO_BIT_TC_MASK_BGRA
     32, // THIRTYTWO_BIT_TC_MASK_ARGB
     32, // THIRTYTWO_BIT_TC_MASK_ABGR
@@ -2083,14 +2083,14 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
-        // hybrid cairo 24bits used out of 32bit format
-        case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRU:
-            return createRenderer<PixelFormatTraits_BGRU32_8888,StdMasks>(
+        // thirtytwo bit formats
+
+        // 8 red bits, 8 green bits, 8 blue bits, and 8 ignored bits like CAIRO_FORMAT_RGB24
+        case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
+            return createRenderer<PixelFormatTraits_BGRX32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
-        // thirtytwo bit formats
-
         case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
             return createRenderer<PixelFormatTraits_BGRA32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
diff --git a/basebmp/source/debug.cxx b/basebmp/source/debug.cxx
index 3e719cd..3d68a43 100644
--- a/basebmp/source/debug.cxx
+++ b/basebmp/source/debug.cxx
@@ -63,8 +63,8 @@ namespace basebmp
             return "SIXTEEN_BIT_MSB_TC_MASK";
         case FORMAT_TWENTYFOUR_BIT_TC_MASK:
             return "TWENTYFOUR_BIT_TC_MASK";
-        case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRU:
-            return "THIRTYTWO_BIT_TC_MASK_BGRU";
+        case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX:
+            return "THIRTYTWO_BIT_TC_MASK_BGRX";
         case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
             return "THIRTYTWO_BIT_TC_MASK_BGRA";
         case FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
diff --git a/include/basebmp/rgbmaskpixelformats.hxx b/include/basebmp/rgbmaskpixelformats.hxx
index 5d80fae..060c0a9 100644
--- a/include/basebmp/rgbmaskpixelformats.hxx
+++ b/include/basebmp/rgbmaskpixelformats.hxx
@@ -334,7 +334,8 @@ typedef PixelFormatTraitsTemplate_RGBMask<
 BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGBA32_8888::getter_type,
                                   PixelFormatTraits_RGBA32_8888::setter_type);
 
-// The following hybrid 24bits used out of 32bit was added for Cairo needs
+// Added for Cairo needs, perhaps Android should get an XRGB and replace
+// some uses of ARGB with that instead ?
 
 typedef PixelFormatTraitsTemplate_RGBMask<
     sal_uInt32,
@@ -342,9 +343,9 @@ typedef PixelFormatTraitsTemplate_RGBMask<
     0x00FF0000,
     0x0000FF00,
     0x000000FF,
-    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_BGRU32_8888;
-BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGRU32_8888::getter_type,
-                                  PixelFormatTraits_BGRU32_8888::setter_type);
+    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_BGRX32_8888;
+BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGRX32_8888::getter_type,
+                                  PixelFormatTraits_BGRX32_8888::setter_type);
 
 
 } // namespace basebmp
diff --git a/include/basebmp/scanlineformats.hxx b/include/basebmp/scanlineformats.hxx
index 8027879..b1a54b4 100644
--- a/include/basebmp/scanlineformats.hxx
+++ b/include/basebmp/scanlineformats.hxx
@@ -45,7 +45,7 @@ enum Format
     // CAIRO_FORMAT_RGB24, each pixel is a 32-bit quantity, with the upper 8
     // bits unused. Red, Green, and Blue are stored in the remaining 24 bits in
     // that order (below U is for unused)
-    FORMAT_THIRTYTWO_BIT_TC_MASK_BGRU,
+    FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX,
     // The order of the channels code letters indicates the order of the
     // channel bytes in memory
     FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
commit daf248bf85f4fa5fc212b6c75cf3b74fb25b3e26
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Feb 25 15:31:43 2015 +0000

    rename BGRX32 etc to BGRA32
    
    Change-Id: I60e1951fe56e4b00ee0caa142eb0e19dcb6d12b7

diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx
index 60ad322..a9fe6a1 100644
--- a/basebmp/source/bitmapdevice.cxx
+++ b/basebmp/source/bitmapdevice.cxx
@@ -2092,22 +2092,22 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
         // thirtytwo bit formats
 
         case FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
-            return createRenderer<PixelFormatTraits_BGRX32_8888,StdMasks>(
+            return createRenderer<PixelFormatTraits_BGRA32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case FORMAT_THIRTYTWO_BIT_TC_MASK_ARGB:
-            return createRenderer<PixelFormatTraits_XRGB32_8888,StdMasks>(
+            return createRenderer<PixelFormatTraits_ARGB32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case FORMAT_THIRTYTWO_BIT_TC_MASK_ABGR:
-            return createRenderer<PixelFormatTraits_XBGR32_8888,StdMasks>(
+            return createRenderer<PixelFormatTraits_ABGR32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case FORMAT_THIRTYTWO_BIT_TC_MASK_RGBA:
-            return createRenderer<PixelFormatTraits_RGBX32_8888,StdMasks>(
+            return createRenderer<PixelFormatTraits_RGBA32_8888,StdMasks>(
                 aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
diff --git a/include/basebmp/rgbmaskpixelformats.hxx b/include/basebmp/rgbmaskpixelformats.hxx
index eaee275..5d80fae 100644
--- a/include/basebmp/rgbmaskpixelformats.hxx
+++ b/include/basebmp/rgbmaskpixelformats.hxx
@@ -296,9 +296,9 @@ typedef PixelFormatTraitsTemplate_RGBMask<
     0x00FF0000,
     0x0000FF00,
     0x000000FF,
-    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_BGRX32_8888;
-BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGRX32_8888::getter_type,
-                                  PixelFormatTraits_BGRX32_8888::setter_type);
+    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_BGRA32_8888;
+BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_BGRA32_8888::getter_type,
+                                  PixelFormatTraits_BGRA32_8888::setter_type);
 
 // This one used to be called PixelFormatTraits_BGR32_888.
 
@@ -308,9 +308,9 @@ typedef PixelFormatTraitsTemplate_RGBMask<
     0x00FF0000,
     0x0000FF00,
     0x000000FF,
-    BASEBMP_TRUECOLORMASK_MSB_SWAP >            PixelFormatTraits_XRGB32_8888;
-BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_XRGB32_8888::getter_type,
-                                  PixelFormatTraits_XRGB32_8888::setter_type);
+    BASEBMP_TRUECOLORMASK_MSB_SWAP >            PixelFormatTraits_ARGB32_8888;
+BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_ARGB32_8888::getter_type,
+                                  PixelFormatTraits_ARGB32_8888::setter_type);
 
 // The following two ones were added for Android needs and for completeness
 
@@ -320,9 +320,9 @@ typedef PixelFormatTraitsTemplate_RGBMask<
     0xFF000000,
     0x00FF0000,
     0x0000FF00,
-    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_XBGR32_8888;
-BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_XBGR32_8888::getter_type,
-                                  PixelFormatTraits_XBGR32_8888::setter_type);
+    BASEBMP_TRUECOLORMASK_LSB_SWAP >            PixelFormatTraits_ABGR32_8888;
+BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_ABGR32_8888::getter_type,
+                                  PixelFormatTraits_ABGR32_8888::setter_type);
 
 typedef PixelFormatTraitsTemplate_RGBMask<
     sal_uInt32,
@@ -330,9 +330,9 @@ typedef PixelFormatTraitsTemplate_RGBMask<
     0xFF000000,
     0x00FF0000,
     0x0000FF00,
-    BASEBMP_TRUECOLORMASK_MSB_SWAP >            PixelFormatTraits_RGBX32_8888;
-BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGBX32_8888::getter_type,
-                                  PixelFormatTraits_RGBX32_8888::setter_type);
+    BASEBMP_TRUECOLORMASK_MSB_SWAP >            PixelFormatTraits_RGBA32_8888;
+BASEBMP_SPECIALIZE_ACCESSORTRAITS(PixelFormatTraits_RGBA32_8888::getter_type,
+                                  PixelFormatTraits_RGBA32_8888::setter_type);
 
 // The following hybrid 24bits used out of 32bit was added for Cairo needs
 


More information about the Libreoffice-commits mailing list