[Libreoffice-commits] core.git: 5 commits - basebmp/inc basebmp/source ios/experimental vcl/coretext

Tor Lillqvist tml at iki.fi
Thu Apr 11 16:25:13 PDT 2013


 basebmp/inc/basebmp/bitmapdevice.hxx                               |   23 ++--
 basebmp/source/bitmapdevice.cxx                                    |   55 ++++++----
 ios/experimental/LibreOffice/LibreOffice.xcodeproj/project.pbxproj |    6 -
 vcl/coretext/salcoretextlayout.cxx                                 |   13 +-
 vcl/coretext/salgdi.cxx                                            |   26 +++-
 5 files changed, 81 insertions(+), 42 deletions(-)

New commits:
commit 1a6b1873ce75fa9a37c9e69812d127628e0be379
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Apr 12 02:22:32 2013 +0300

    Turn off subpixel positioning for now
    
    Change-Id: Id8b9bec79e5673db738e16905eacd8e84cea89e1

diff --git a/vcl/coretext/salcoretextlayout.cxx b/vcl/coretext/salcoretextlayout.cxx
index c3110019..e324ef7 100644
--- a/vcl/coretext/salcoretextlayout.cxx
+++ b/vcl/coretext/salcoretextlayout.cxx
@@ -223,6 +223,7 @@ void CoreTextLayout::DrawText( SalGraphics& rGraphics ) const
     CGContextSetFontSize(gr.mrContext, CTFontGetSize(mpStyle->GetFont()));
     CGContextSetTextDrawingMode(gr.mrContext, kCGTextFill);
     CGContextSetShouldAntialias( gr.mrContext, true );
+    CGContextSetShouldSubpixelPositionFonts( gr.mrContext, false );
     if( mpStyle->GetColor() ) {
         CGContextSetFillColorWithColor(gr.mrContext, mpStyle->GetColor());
         CGContextSetStrokeColorWithColor(gr.mrContext, mpStyle->GetColor());
commit 034d5fe9acb41aa4d71e9507a8488b54ba246ee8
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Apr 12 02:17:09 2013 +0300

    Sort source files for clarity
    
    Change-Id: Idac1c756faa47236e4ebc3c7400f7e4412f02a44

diff --git a/ios/experimental/LibreOffice/LibreOffice.xcodeproj/project.pbxproj b/ios/experimental/LibreOffice/LibreOffice.xcodeproj/project.pbxproj
index 3287eab..2e94d03 100644
--- a/ios/experimental/LibreOffice/LibreOffice.xcodeproj/project.pbxproj
+++ b/ios/experimental/LibreOffice/LibreOffice.xcodeproj/project.pbxproj
@@ -119,10 +119,11 @@
 		BE2F0A0D17077A950060FE0D /* vcl */ = {
 			isa = PBXGroup;
 			children = (
-				BE4EEE9A16FF80B100D475B2 /* virdev.cxx */,
-				BEBF3E3D17002D6900C454AC /* window.cxx */,
+				BE954A2E1704F9500040D517 /* iosinst.cxx */,
 				BEBF3E3A17002D0200C454AC /* svapp.cxx */,
 				BEBF3E3B17002D0200C454AC /* svmain.cxx */,
+				BE4EEE9A16FF80B100D475B2 /* virdev.cxx */,
+				BEBF3E3D17002D6900C454AC /* window.cxx */,
 				BEA86899170B3FCB0043E44B /* coretext */,
 				BE2F0A0C17077A2F0060FE0D /* headless */,
 			);
@@ -199,7 +200,6 @@
 				BE2F0A1017077B560060FE0D /* basebmp */,
 				BE2F0A0B17077A0F0060FE0D /* cppuhelper */,
 				BE2F0A0E17077AC40060FE0D /* framework */,
-				BE954A2E1704F9500040D517 /* iosinst.cxx */,
 				BE56CD651704A08E00CA5B15 /* lo.h */,
 				BE56CD661704A08E00CA5B15 /* lo.mm */,
 				BE2F0A0F17077B060060FE0D /* sfx2 */,
commit 84587bdf9af104d5e416f2a011559f71fe493ae2
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Apr 12 02:14:33 2013 +0300

    Use my improved understanding of what a subset BitmapDevice is
    
    Need to pass the whole pixel buffer to CGBitmapContextCreate().
    
    Change-Id: Iadac7dc3e63c29e5d0cc328b2e2a1f10824248a6

diff --git a/vcl/coretext/salgdi.cxx b/vcl/coretext/salgdi.cxx
index c1ace40..a462c37 100644
--- a/vcl/coretext/salgdi.cxx
+++ b/vcl/coretext/salgdi.cxx
@@ -283,23 +283,30 @@ void QuartzSalGraphics::SetTextColor( SalColor nSalColor )
 
 bool SvpSalGraphics::CheckContext()
 {
-    basegfx::B2IVector size = m_aDevice->getSize();
+    const basegfx::B2IVector size = m_aDevice->getSize();
+    const basegfx::B2IVector bufferSize = m_aDevice->getBufferSize();
+    const sal_Int32 scanlineStride = m_aDevice->getScanlineStride();
     basebmp::RawMemorySharedArray pixelBuffer = m_aDevice->getBuffer();
 
-    SAL_INFO( "vcl.ios", "CheckContext: device=" << m_aDevice.get() << " size=" << size.getX() << "x" << size.getY() << (m_aDevice->isTopDown() ? " top-down" : " bottom-up") << " stride=" << m_aDevice->getScanlineStride() );
+    SAL_INFO( "vcl.ios",
+              "CheckContext: device=" << m_aDevice.get() <<
+              " size=" << size.getX() << "x" << size.getY() <<
+              (m_aDevice->isTopDown() ? " top-down" : " bottom-up") <<
+              " stride=" << scanlineStride <<
+              " bufferSize=(" << bufferSize.getX() << "," << bufferSize.getY() << ")" );
 
     switch( m_aDevice->getScanlineFormat() ) {
     case basebmp::Format::EIGHT_BIT_PAL:
         mrContext = CGBitmapContextCreate(pixelBuffer.get(),
-                                          size.getX(), size.getY(),
-                                          8, m_aDevice->getScanlineStride(),
+                                          bufferSize.getX(), bufferSize.getY(),
+                                          8, scanlineStride,
                                           CGColorSpaceCreateDeviceGray(),
                                           kCGImageAlphaNone);
         break;
     case basebmp::Format::THIRTYTWO_BIT_TC_MASK_RGBA:
         mrContext = CGBitmapContextCreate(pixelBuffer.get(),
-                                          size.getX(), size.getY(),
-                                          8, m_aDevice->getScanlineStride(),
+                                          bufferSize.getX(), bufferSize.getY(),
+                                          8, scanlineStride,
                                           CGColorSpaceCreateDeviceRGB(),
                                           kCGImageAlphaNoneSkipLast);
         break;
@@ -309,12 +316,17 @@ bool SvpSalGraphics::CheckContext()
 
     SAL_WARN_IF( mrContext == NULL, "vcl.ios", "CheckContext() failed" );
 
+    // Should we also clip the context? (Then we need to add a
+    // getBounds() function to BitmapDevice.)
+
     if( mrContext != NULL && m_aDevice->isTopDown() )
     {
-        CGContextTranslateCTM( mrContext, 0, size.getY() );
+        CGContextTranslateCTM( mrContext, 0, bufferSize.getY() );
         CGContextScaleCTM( mrContext, 1, -1 );
     }
 
+    SAL_INFO( "vcl.ios", "CheckContext: context=" << mrContext );
+
     return ( mrContext != NULL );
 }
 
commit d520bd0903ae272cf32db8b3e4f560891df59331
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Apr 12 02:05:36 2013 +0300

    A bit more logging in DrawText()
    
    Change-Id: I04c715e88ee79aa639c10f2a39d303eecdbd3962

diff --git a/vcl/coretext/salcoretextlayout.cxx b/vcl/coretext/salcoretextlayout.cxx
index ddd6928..c3110019 100644
--- a/vcl/coretext/salcoretextlayout.cxx
+++ b/vcl/coretext/salcoretextlayout.cxx
@@ -213,9 +213,6 @@ void CoreTextLayout::DrawText( SalGraphics& rGraphics ) const
     if( mnCharCount <= 0 || !gr.CheckContext() )
         return;
 
-    Point pos = GetDrawPosition(Point(0,0));
-    SAL_INFO( "vcl.coretext.layout", "  at pos (" << pos.X() << "," << pos.Y() <<") ctfont=" << mpStyle->GetFont() );
-
     CGFontRef cg_font = CTFontCopyGraphicsFont(mpStyle->GetFont(), NULL);
     if( !cg_font ) {
         SAL_INFO( "vcl.coretext.layout", "Error cg_font is NULL" );
@@ -236,6 +233,15 @@ void CoreTextLayout::DrawText( SalGraphics& rGraphics ) const
     CFRelease(cg_font);
     CGContextSetTextMatrix(gr.mrContext, CGAffineTransformMakeScale(1.0, -1.0));
     CGContextSetShouldAntialias( gr.mrContext, !gr.mbNonAntialiasedText );
+
+    Point pos = GetDrawPosition(Point(0,0));
+    CGPoint posDev = CGContextConvertPointToDeviceSpace(gr.mrContext, CGPointMake(pos.X(), pos.Y()));
+    SAL_INFO( "vcl.coretext.layout",
+              " context=" << gr.mrContext <<
+              " pos=(" << pos.X() << "," << pos.Y() <<")" <<
+              " posDev=" << posDev <<
+              " font=" << mpStyle->GetFont() );
+
     CGContextTranslateCTM(gr.mrContext, pos.X(), pos.Y());
 
     CGContextShowGlyphsWithAdvances(gr.mrContext, mpGlyphs, mpGlyphAdvances, mnGlyphCount);
commit 3f9acb7f9c3b68da11f8263b9103d2700321913b
Author: Tor Lillqvist <tml at iki.fi>
Date:   Fri Apr 12 01:45:20 2013 +0300

    Nah, I don't need a getOffset(), but I do need a getBufferSize()
    
    To properly handle subsetted BitmapDevices in the iOS vcl backend I
    seem to need to know what the size of the full BitmapDevice is.
    
    I wasted at least one day on desperate hacking and debugging, trying
    to wrap my head around a misunderstanding of what a subsetted
    BitmapDevice is. I thought it involved coordinate offsetting...
    
    Change-Id: I83bf1a7d75ce192aaf21f1e408008e362fd6c6e6

diff --git a/basebmp/inc/basebmp/bitmapdevice.hxx b/basebmp/inc/basebmp/bitmapdevice.hxx
index 71c4a63..941b01c 100644
--- a/basebmp/inc/basebmp/bitmapdevice.hxx
+++ b/basebmp/inc/basebmp/bitmapdevice.hxx
@@ -79,7 +79,7 @@ class BASEBMP_DLLPUBLIC BitmapDevice : public boost::enable_shared_from_this<Bit
                                        private boost::noncopyable
 {
 public:
-    /** Query size of device in pixel
+    /** Query size of device in pixel columns (X) and rows (Y, "scanlines")
      */
     basegfx::B2IVector getSize() const;
 
@@ -92,12 +92,12 @@ public:
      */
     bool isTopDown() const;
 
-    /** Query the offset from the start of the memory buffer
+    /** Query the size of the whole frame buffer
 
-        @ return the offset, which is (0,0) unless this is a subset
-        device.
+        @ return the size of the whole frame buffer, the same as
+        getSize() unless this is a "subset" device.
     */
-    basegfx::B2IVector getOffset() const;
+    basegfx::B2IVector getBufferSize() const;
 
     /** Query type of scanline memory format
      */
@@ -552,6 +552,7 @@ public:
 
 protected:
     BASEBMP_DLLPRIVATE BitmapDevice( const basegfx::B2IBox&           rBounds,
+                                     const basegfx::B2IVector&        rBufferSize,
                                      sal_Int32                        nScanlineFormat,
                                      sal_Int32                        nScanlineStride,
                                      sal_uInt8*                       pFirstScanline,
@@ -688,10 +689,16 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVe
 /** Function to retrieve a subsetted BitmapDevice to the same
     memory.
 
+    Note that there is no coordinate system translation or offsetting
+    involved.
+
     This method creates a second bitmap device instance, which renders
-    to the same memory as the original, but to a limited, rectangular
-    area. Useful to implement rectangular clips (usually faster than
-    setting up a 1bpp clip mask).
+    to the same memory as the original, with the same pixel coordinate
+    pairs refering to the same pixels in the memory buffer, but with
+    rendering clipped to a rectangular area. Useful to implement
+    rectangular clips (usually faster than setting up a 1bpp clip
+    mask).
+
  */
 BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC subsetBitmapDevice( const BitmapDeviceSharedPtr& rProto,
                                                             const basegfx::B2IBox&       rSubset );
diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx
index c090b45..d1a19f9 100644
--- a/basebmp/source/bitmapdevice.cxx
+++ b/basebmp/source/bitmapdevice.cxx
@@ -283,6 +283,7 @@ namespace
         // -------------------------------------------------------
 
         BitmapRenderer( const basegfx::B2IBox&                     rBounds,
+                        const basegfx::B2IVector&                  rBufferSize,
                         sal_Int32                                  nScanlineFormat,
                         sal_Int32                                  nScanlineStride,
                         sal_uInt8*                                 pFirstScanline,
@@ -292,7 +293,7 @@ namespace
                         const RawMemorySharedArray&                rMem,
                         const PaletteMemorySharedVector&           rPalette,
                         const IBitmapDeviceDamageTrackerSharedPtr& rDamage ) :
-            BitmapDevice( rBounds, nScanlineFormat,
+            BitmapDevice( rBounds, rBufferSize, nScanlineFormat,
                           nScanlineStride, pFirstScanline, rMem, rPalette ),
             maBegin( begin ),
             maColorLookup(),
@@ -1044,6 +1045,9 @@ struct ImplBitmapDevice
      */
     basegfx::B2IBox           maBounds;
 
+    //// Size of the actual frame buffer
+    basegfx::B2IVector        maBufferSize;
+
     /// Scanline format, as provided at the constructor
     sal_Int32                 mnScanlineFormat;
 
@@ -1072,6 +1076,7 @@ struct ImplBitmapDevice
 
 
 BitmapDevice::BitmapDevice( const basegfx::B2IBox&           rBounds,
+                            const basegfx::B2IVector&        rBufferSize,
                             sal_Int32                        nScanlineFormat,
                             sal_Int32                        nScanlineStride,
                             sal_uInt8*                       pFirstScanline,
@@ -1082,6 +1087,7 @@ BitmapDevice::BitmapDevice( const basegfx::B2IBox&           rBounds,
     mpImpl->mpMem = rMem;
     mpImpl->mpPalette = rPalette;
     mpImpl->maBounds = rBounds;
+    mpImpl->maBufferSize = rBufferSize;
     mpImpl->mnScanlineFormat = nScanlineFormat;
     mpImpl->mnScanlineStride = nScanlineStride;
     mpImpl->mpFirstScanline  = pFirstScanline;
@@ -1105,9 +1111,9 @@ bool BitmapDevice::isTopDown() const
     return mpImpl->mnScanlineStride >= 0;
 }
 
-basegfx::B2IVector BitmapDevice::getOffset() const
+basegfx::B2IVector BitmapDevice::getBufferSize() const
 {
-    return basegfx::B2IVector(mpImpl->maBounds.getMinX(), mpImpl->maBounds.getMinY());
+    return mpImpl->maBufferSize;
 }
 
 sal_Int32 BitmapDevice::getScanlineFormat() const
@@ -1679,6 +1685,7 @@ struct StdMasks
 template< class FormatTraits, class MaskTraits >
 BitmapDeviceSharedPtr createRenderer(
     const basegfx::B2IBox&                                       rBounds,
+    const basegfx::B2IVector&                                    rBufferSize,
     sal_Int32                                                    nScanlineFormat,
     sal_Int32                                                    nScanlineStride,
     sal_uInt8*                                                   pFirstScanline,
@@ -1693,6 +1700,7 @@ BitmapDeviceSharedPtr createRenderer(
 template< class FormatTraits, class MaskTraits, class Accessor >
 BitmapDeviceSharedPtr createRenderer(
     const basegfx::B2IBox&                                       rBounds,
+    const basegfx::B2IVector&                                    rBufferSize,
     sal_Int32                                                    nScanlineFormat,
     sal_Int32                                                    nScanlineStride,
     sal_uInt8*                                                   pFirstScanline,
@@ -1712,6 +1720,7 @@ BitmapDeviceSharedPtr createRenderer(
 
     return BitmapDeviceSharedPtr(
         new Renderer( rBounds,
+                      rBufferSize,
                       nScanlineFormat,
                       nScanlineStride,
                       pFirstScanline,
@@ -1750,6 +1759,7 @@ PaletteMemorySharedVector createStandardPalette(
 template< class FormatTraits, class MaskTraits >
 BitmapDeviceSharedPtr createRenderer(
     const basegfx::B2IBox&                     rBounds,
+    const basegfx::B2IVector&                  rBufferSize,
     sal_Int32                                  nScanlineFormat,
     sal_Int32                                  nScanlineStride,
     sal_uInt8*                                 pFirstScanline,
@@ -1759,6 +1769,7 @@ BitmapDeviceSharedPtr createRenderer(
 {
     return createRenderer<FormatTraits,
                           MaskTraits>(rBounds,
+                                      rBufferSize,
                                       nScanlineFormat,
                                       nScanlineStride,
                                       pFirstScanline,
@@ -1774,6 +1785,7 @@ BitmapDeviceSharedPtr createRenderer(
 template< class FormatTraits, class MaskTraits >
 BitmapDeviceSharedPtr createRenderer(
     const basegfx::B2IBox&                     rBounds,
+    const basegfx::B2IVector&                  rBufferSize,
     sal_Int32                                  nScanlineFormat,
     sal_Int32                                  nScanlineStride,
     sal_uInt8*                                 pFirstScanline,
@@ -1788,6 +1800,7 @@ BitmapDeviceSharedPtr createRenderer(
     OSL_ASSERT(pPal);
     return createRenderer<FormatTraits,
                           MaskTraits>(rBounds,
+                                      rBufferSize,
                                       nScanlineFormat,
                                       nScanlineStride,
                                       pFirstScanline,
@@ -1917,23 +1930,23 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
 
         case Format::ONE_BIT_MSB_GREY:
             return createRenderer<PixelFormatTraits_GREY1_MSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::ONE_BIT_LSB_GREY:
             return createRenderer<PixelFormatTraits_GREY1_LSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::ONE_BIT_MSB_PAL:
             return createRenderer<PixelFormatTraits_PAL1_MSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal,
                 bitsPerPixel[nScanlineFormat], rDamage );
 
         case Format::ONE_BIT_LSB_PAL:
             return createRenderer<PixelFormatTraits_PAL1_LSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal,
                 bitsPerPixel[nScanlineFormat], rDamage );
 
@@ -1943,23 +1956,23 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
 
         case Format::FOUR_BIT_MSB_GREY:
             return createRenderer<PixelFormatTraits_GREY4_MSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::FOUR_BIT_LSB_GREY:
             return createRenderer<PixelFormatTraits_GREY4_LSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::FOUR_BIT_MSB_PAL:
             return createRenderer<PixelFormatTraits_PAL4_MSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal,
                 bitsPerPixel[nScanlineFormat], rDamage );
 
         case Format::FOUR_BIT_LSB_PAL:
             return createRenderer<PixelFormatTraits_PAL4_LSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal,
                 bitsPerPixel[nScanlineFormat], rDamage );
 
@@ -1969,12 +1982,12 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
 
         case Format::EIGHT_BIT_GREY:
             return createRenderer<PixelFormatTraits_GREY8,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::EIGHT_BIT_PAL:
             return createRenderer<PixelFormatTraits_PAL8,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal,
                 bitsPerPixel[nScanlineFormat], rDamage );
 
@@ -1984,12 +1997,12 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
 
         case Format::SIXTEEN_BIT_LSB_TC_MASK:
             return createRenderer<PixelFormatTraits_RGB16_565_LSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::SIXTEEN_BIT_MSB_TC_MASK:
             return createRenderer<PixelFormatTraits_RGB16_565_MSB,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
 
@@ -1997,7 +2010,7 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
         // twentyfour bit formats
         case Format::TWENTYFOUR_BIT_TC_MASK:
             return createRenderer<PixelFormatTraits_BGR24,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
 
@@ -2006,22 +2019,22 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
 
         case Format::THIRTYTWO_BIT_TC_MASK_BGRA:
             return createRenderer<PixelFormatTraits_BGRX32_8888,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::THIRTYTWO_BIT_TC_MASK_ARGB:
             return createRenderer<PixelFormatTraits_XRGB32_8888,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::THIRTYTWO_BIT_TC_MASK_ABGR:
             return createRenderer<PixelFormatTraits_XBGR32_8888,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
 
         case Format::THIRTYTWO_BIT_TC_MASK_RGBA:
             return createRenderer<PixelFormatTraits_RGBX32_8888,StdMasks>(
-                aBounds, nScanlineFormat, nScanlineStride,
+                aBounds, rSize, nScanlineFormat, nScanlineStride,
                 pFirstScanline, pMem, pPal, rDamage );
     }
 
@@ -2043,7 +2056,7 @@ BitmapDeviceSharedPtr createBitmapDeviceImpl( const basegfx::B2IVector&
     std::ostringstream subset;
 
     if (pSubset)
-        subset << " subset: " << pSubset->getWidth() << "x" << pSubset->getHeight() << "@(" << pSubset->getMinX() << "," << pSubset->getMinY() << ")";
+        subset << " subset=" << pSubset->getWidth() << "x" << pSubset->getHeight() << "@(" << pSubset->getMinX() << "," << pSubset->getMinY() << ")";
 
     SAL_INFO( "basebmp.bitmapdevice",
               "createBitmapDevice: "


More information about the Libreoffice-commits mailing list