|
 |
a9add1 |
From beaba7e2e7a3248cbe87870c84b2c0df0a25503d Mon Sep 17 00:00:00 2001
|
|
 |
a9add1 |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
 |
a9add1 |
Date: Wed, 25 Nov 2015 10:32:33 +0000
|
|
 |
a9add1 |
Subject: [PATCH] Resolves: tdf#95962 incorrect scanline stride
|
|
 |
a9add1 |
MIME-Version: 1.0
|
|
 |
a9add1 |
Content-Type: text/plain; charset=UTF-8
|
|
 |
a9add1 |
Content-Transfer-Encoding: 8bit
|
|
 |
a9add1 |
|
|
 |
a9add1 |
gtk3: it's the *Original* device we care about, not the temp clip hack devices
|
|
 |
a9add1 |
|
|
 |
a9add1 |
Change-Id: I2ac61cd2a99da25122165af692154fdbc2ac6d2e
|
|
 |
a9add1 |
(cherry picked from commit 872c1b7654510daa4a6974150490623745d931bf)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
we were reusing the stride of the surface we were cloning,
|
|
 |
a9add1 |
but the new surface has a different underlying size.
|
|
 |
a9add1 |
|
|
 |
a9add1 |
remove the custom stride argument and just change our stride
|
|
 |
a9add1 |
calculation to use the same scheme that cairo and GDI uses, which
|
|
 |
a9add1 |
remove another platform/drawing-system variable
|
|
 |
a9add1 |
|
|
 |
a9add1 |
Reviewed-on: https://gerrit.libreoffice.org/20149
|
|
 |
a9add1 |
Tested-by: Jenkins <ci@libreoffice.org>
|
|
 |
a9add1 |
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
 |
a9add1 |
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
 |
a9add1 |
(cherry picked from commit 9b52b8999be86e5c6e5f5901b2640b16f08a2323)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
Change-Id: I257dac9757b121642e9ccfde7db0911edc9f3fb1
|
|
 |
a9add1 |
---
|
|
 |
a9add1 |
basebmp/source/bitmapdevice.cxx | 25 +++++++------------------
|
|
 |
a9add1 |
basebmp/test/basictest.cxx | 30 +++++++++++++-----------------
|
|
 |
a9add1 |
basebmp/test/bmpmasktest.cxx | 24 +++++++-----------------
|
|
 |
a9add1 |
basebmp/test/bmptest.cxx | 12 ++++--------
|
|
 |
a9add1 |
basebmp/test/cliptest.cxx | 12 ++++--------
|
|
 |
a9add1 |
basebmp/test/filltest.cxx | 6 ++----
|
|
 |
a9add1 |
basebmp/test/linetest.cxx | 12 ++++--------
|
|
 |
a9add1 |
basebmp/test/masktest.cxx | 9 +++------
|
|
 |
a9add1 |
basebmp/test/polytest.cxx | 6 ++----
|
|
 |
a9add1 |
include/basebmp/bitmapdevice.hxx | 9 +++------
|
|
 |
a9add1 |
sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 2 +-
|
|
 |
a9add1 |
vcl/headless/svpbmp.cxx | 6 ++----
|
|
 |
a9add1 |
vcl/headless/svpframe.cxx | 3 +--
|
|
 |
a9add1 |
vcl/headless/svpgdi.cxx | 31 ++++++++++++++++---------------
|
|
 |
a9add1 |
vcl/headless/svptextrender.cxx | 2 +-
|
|
 |
a9add1 |
vcl/headless/svpvd.cxx | 7 +++----
|
|
 |
a9add1 |
vcl/qa/cppunit/BitmapTest.cxx | 15 +++++----------
|
|
 |
a9add1 |
vcl/unx/gtk/window/gtksalframe.cxx | 3 +--
|
|
 |
a9add1 |
18 files changed, 79 insertions(+), 135 deletions(-)
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/basebmp/source/bitmapdevice.cxx b/basebmp/source/bitmapdevice.cxx
|
|
 |
a9add1 |
index 04d4892..1517f05 100644
|
|
 |
a9add1 |
--- a/basebmp/source/bitmapdevice.cxx
|
|
 |
a9add1 |
+++ b/basebmp/source/bitmapdevice.cxx
|
|
 |
a9add1 |
@@ -1956,7 +1956,6 @@ namespace
|
|
 |
a9add1 |
BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 > pMem,
|
|
 |
a9add1 |
PaletteMemorySharedVector pPal,
|
|
 |
a9add1 |
const basegfx::B2IBox* pSubset,
|
|
 |
a9add1 |
@@ -1977,6 +1976,8 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
|
|
 |
a9add1 |
return BitmapDeviceSharedPtr();
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
+ sal_Int32 nScanlineStride = getBitmapDeviceStrideForWidth(nScanlineFormat, rSize.getX());
|
|
 |
a9add1 |
+
|
|
 |
a9add1 |
// factor in bottom-up scanline order case
|
|
 |
a9add1 |
nScanlineStride *= bTopDown ? 1 : -1;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -2139,14 +2140,13 @@ BitmapDeviceSharedPtr createBitmapDeviceImplInner( const basegfx::B2IVector&
|
|
 |
a9add1 |
BitmapDeviceSharedPtr createBitmapDeviceImpl( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 > pMem,
|
|
 |
a9add1 |
PaletteMemorySharedVector pPal,
|
|
 |
a9add1 |
const basegfx::B2IBox* pSubset,
|
|
 |
a9add1 |
const IBitmapDeviceDamageTrackerSharedPtr& rDamage,
|
|
 |
a9add1 |
bool bBlack = true)
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
- BitmapDeviceSharedPtr result( createBitmapDeviceImplInner( rSize, bTopDown, nScanlineFormat, nScanlineStride, pMem, pPal, pSubset, rDamage, bBlack ) );
|
|
 |
a9add1 |
+ BitmapDeviceSharedPtr result( createBitmapDeviceImplInner( rSize, bTopDown, nScanlineFormat, pMem, pPal, pSubset, rDamage, bBlack ) );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
#ifdef SAL_LOG_INFO
|
|
 |
a9add1 |
std::ostringstream subset;
|
|
 |
a9add1 |
@@ -2172,24 +2172,20 @@ sal_Int32 getBitmapDeviceStrideForWidth(Format nScanlineFormat, sal_Int32 nWidth
|
|
 |
a9add1 |
// round up to full 8 bit, divide by 8
|
|
 |
a9add1 |
sal_Int32 nScanlineStride = (nWidth*nBitsPerPixel + 7) >> 3;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- // rounded up to next full power-of-two number of bytes
|
|
 |
a9add1 |
- const sal_uInt32 bytesPerPixel = nextPow2(
|
|
 |
a9add1 |
- (bitsPerPixel[nScanlineFormat] + 7) >> 3);
|
|
 |
a9add1 |
+ // pixman (cairo) and GDI (windows) pad to multiples of 32bits
|
|
 |
a9add1 |
+ // so do the same to be easily compatible
|
|
 |
a9add1 |
+ nScanlineStride = (nScanlineStride + 3) & ~0x3;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- // now make nScanlineStride a multiple of bytesPerPixel
|
|
 |
a9add1 |
- nScanlineStride = (nScanlineStride + bytesPerPixel - 1) / bytesPerPixel * bytesPerPixel;
|
|
 |
a9add1 |
return nScanlineStride;
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
- Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride )
|
|
 |
a9add1 |
+ Format nScanlineFormat )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
return createBitmapDeviceImpl( rSize,
|
|
 |
a9add1 |
bTopDown,
|
|
 |
a9add1 |
nScanlineFormat,
|
|
 |
a9add1 |
- nScanlineStride,
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 >(),
|
|
 |
a9add1 |
PaletteMemorySharedVector(),
|
|
 |
a9add1 |
NULL,
|
|
 |
a9add1 |
@@ -2199,13 +2195,11 @@ BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
const PaletteMemorySharedVector& rPalette )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
return createBitmapDeviceImpl( rSize,
|
|
 |
a9add1 |
bTopDown,
|
|
 |
a9add1 |
nScanlineFormat,
|
|
 |
a9add1 |
- nScanlineStride,
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 >(),
|
|
 |
a9add1 |
rPalette,
|
|
 |
a9add1 |
NULL,
|
|
 |
a9add1 |
@@ -2215,14 +2209,12 @@ BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector& rSize
|
|
 |
a9add1 |
BitmapDeviceSharedPtr createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
const RawMemorySharedArray& rMem,
|
|
 |
a9add1 |
const PaletteMemorySharedVector& rPalette )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
return createBitmapDeviceImpl( rSize,
|
|
 |
a9add1 |
bTopDown,
|
|
 |
a9add1 |
nScanlineFormat,
|
|
 |
a9add1 |
- nScanlineStride,
|
|
 |
a9add1 |
rMem,
|
|
 |
a9add1 |
rPalette,
|
|
 |
a9add1 |
NULL,
|
|
 |
a9add1 |
@@ -2235,7 +2227,6 @@ BitmapDeviceSharedPtr createClipDevice( const basegfx::B2IVector& rSize )
|
|
 |
a9add1 |
createBitmapDeviceImpl( rSize,
|
|
 |
a9add1 |
false, /* bTopDown */
|
|
 |
a9add1 |
basebmp::FORMAT_ONE_BIT_MSB_GREY,
|
|
 |
a9add1 |
- getBitmapDeviceStrideForWidth(basebmp::FORMAT_ONE_BIT_MSB_GREY, rSize.getX()),
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 >(),
|
|
 |
a9add1 |
PaletteMemorySharedVector(),
|
|
 |
a9add1 |
NULL,
|
|
 |
a9add1 |
@@ -2251,7 +2242,6 @@ BitmapDeviceSharedPtr subsetBitmapDevice( const BitmapDeviceSharedPtr& rProto,
|
|
 |
a9add1 |
return createBitmapDeviceImpl( rProto->getSize(),
|
|
 |
a9add1 |
rProto->isTopDown(),
|
|
 |
a9add1 |
rProto->getScanlineFormat(),
|
|
 |
a9add1 |
- rProto->getScanlineStride(),
|
|
 |
a9add1 |
rProto->getBuffer(),
|
|
 |
a9add1 |
rProto->getPalette(),
|
|
 |
a9add1 |
&rSubset,
|
|
 |
a9add1 |
@@ -2264,7 +2254,6 @@ BitmapDeviceSharedPtr cloneBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
return createBitmapDeviceImpl( rSize,
|
|
 |
a9add1 |
rProto->isTopDown(),
|
|
 |
a9add1 |
rProto->getScanlineFormat(),
|
|
 |
a9add1 |
- rProto->getScanlineStride(),
|
|
 |
a9add1 |
boost::shared_array< sal_uInt8 >(),
|
|
 |
a9add1 |
rProto->getPalette(),
|
|
 |
a9add1 |
NULL,
|
|
 |
a9add1 |
diff --git a/basebmp/test/basictest.cxx b/basebmp/test/basictest.cxx
|
|
 |
a9add1 |
index 293fbe5..671320d 100644
|
|
 |
a9add1 |
--- a/basebmp/test/basictest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/basictest.cxx
|
|
 |
a9add1 |
@@ -83,16 +83,19 @@ public:
|
|
 |
a9add1 |
basegfx::B2ISize aSize2(aSize);
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pDevice( createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX())));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL
|
|
 |
a9add1 |
+ ) );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("right size",
|
|
 |
a9add1 |
pDevice->getSize() == aSize2 );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("Top down format",
|
|
 |
a9add1 |
pDevice->isTopDown() );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("Scanline format",
|
|
 |
a9add1 |
pDevice->getScanlineFormat() == FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
+ sal_Int32 nExpectedStride = (aSize2.getY() + 7)/8;
|
|
 |
a9add1 |
+ sal_Int32 nAlign = sizeof(sal_uInt32);
|
|
 |
a9add1 |
+ nExpectedStride = ((nExpectedStride + nAlign-1) / nAlign) * nAlign;
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("Scanline len",
|
|
 |
a9add1 |
- pDevice->getScanlineStride() == (aSize2.getY() + 7)/8 );
|
|
 |
a9add1 |
+ pDevice->getScanlineStride() == nExpectedStride );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("Palette existence",
|
|
 |
a9add1 |
pDevice->getPalette() );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("Palette entry 0 is black",
|
|
 |
a9add1 |
@@ -107,8 +110,7 @@ public:
|
|
 |
a9add1 |
basegfx::B2ISize aSize2(3,3);
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pDevice( createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX())));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL) );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pClone( cloneBitmapDevice(
|
|
 |
a9add1 |
aSize2,
|
|
 |
a9add1 |
@@ -123,8 +125,7 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(64,64);
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pDevice( createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX())));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL) );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
const basegfx::B2IPoint aPt(3,3);
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("getPixelData for virgin device",
|
|
 |
a9add1 |
@@ -171,8 +172,7 @@ public:
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
pDevice = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_LSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_LSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_LSB_PAL);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
pDevice->setPixel( aPt2, aCol, DrawMode_PAINT );
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("get/setPixel roundtrip #4",
|
|
 |
a9add1 |
@@ -197,8 +197,7 @@ public:
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
pDevice = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_EIGHT_BIT_GREY,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_EIGHT_BIT_GREY, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_EIGHT_BIT_GREY);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
const Color aCol4(0x010101);
|
|
 |
a9add1 |
pDevice->setPixel( aPt, aCol4, DrawMode_PAINT );
|
|
 |
a9add1 |
@@ -220,8 +219,7 @@ public:
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
pDevice = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_SIXTEEN_BIT_LSB_TC_MASK,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_SIXTEEN_BIT_LSB_TC_MASK, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_SIXTEEN_BIT_LSB_TC_MASK);
|
|
 |
a9add1 |
const Color aCol7(0);
|
|
 |
a9add1 |
pDevice->clear( aCol7 );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -245,8 +243,7 @@ public:
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
pDevice = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_TWENTYFOUR_BIT_TC_MASK,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_TWENTYFOUR_BIT_TC_MASK, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_TWENTYFOUR_BIT_TC_MASK);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
const Color aCol4(0x01010101);
|
|
 |
a9add1 |
pDevice->setPixel( aPt, aCol4, DrawMode_PAINT );
|
|
 |
a9add1 |
@@ -273,8 +270,7 @@ public:
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
pDevice = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
const Color aCol4(0x01010101);
|
|
 |
a9add1 |
pDevice->setPixel( aPt, aCol4, DrawMode_PAINT );
|
|
 |
a9add1 |
diff --git a/basebmp/test/bmpmasktest.cxx b/basebmp/test/bmpmasktest.cxx
|
|
 |
a9add1 |
index 611e189..ded87f8 100644
|
|
 |
a9add1 |
--- a/basebmp/test/bmpmasktest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/bmpmasktest.cxx
|
|
 |
a9add1 |
@@ -91,26 +91,21 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(10,10);
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL);
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
mpMaskBmp1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_GREY,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_GREY, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_GREY);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
mpBmp1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL);
|
|
 |
a9add1 |
mpBmp32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
OUString aSvg( "m 0 0h5v10h5v-5h-10z" );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -169,7 +164,6 @@ public:
|
|
 |
a9add1 |
// nFormat = Format::OneBitMsbGrey; // FIXME - un-comment me to crash hard.
|
|
 |
a9add1 |
xMask = createBitmapDevice( aSize, false /* bTopDown */,
|
|
 |
a9add1 |
nFormat,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth( nFormat, aSize.getX()),
|
|
 |
a9add1 |
PaletteMemorySharedVector(
|
|
 |
a9add1 |
new std::vector< basebmp::Color >(aDevPal) ) );
|
|
 |
a9add1 |
// wipe to copy everything.
|
|
 |
a9add1 |
@@ -183,17 +177,13 @@ public:
|
|
 |
a9add1 |
DrawMode::DrawMode_PAINT );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
xBitmap = createBitmapDevice( aSize, false,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX, aSize.getX() ) );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX );
|
|
 |
a9add1 |
xBitmap->clear(Color(0x80808080));
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
{ // mpOutput & mpBitmap
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(9, 9);
|
|
 |
a9add1 |
xOutput = createBitmapDevice( aSize, false,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX);
|
|
 |
a9add1 |
xOutput->clear(Color(0xffffffff));
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/basebmp/test/bmptest.cxx b/basebmp/test/bmptest.cxx
|
|
 |
a9add1 |
index 30644fb..f6ea0b6 100644
|
|
 |
a9add1 |
--- a/basebmp/test/bmptest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/bmptest.cxx
|
|
 |
a9add1 |
@@ -148,23 +148,19 @@ public:
|
|
 |
a9add1 |
void setUp() SAL_OVERRIDE
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(10,10);
|
|
 |
a9add1 |
- sal_Int32 nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX());
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL, nStride );
|
|
 |
a9add1 |
- nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX());
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, nStride );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX());
|
|
 |
a9add1 |
mpBmp1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL, nStride );
|
|
 |
a9add1 |
- nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX());
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL);
|
|
 |
a9add1 |
mpBmp32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, nStride );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
OUString aSvg( "m 0 0h5v10h5v-5h-10z" );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/basebmp/test/cliptest.cxx b/basebmp/test/cliptest.cxx
|
|
 |
a9add1 |
index 13ad48c..8526964 100644
|
|
 |
a9add1 |
--- a/basebmp/test/cliptest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/cliptest.cxx
|
|
 |
a9add1 |
@@ -154,10 +154,9 @@ private:
|
|
 |
a9add1 |
|
|
 |
a9add1 |
void implTestMaskColorClip(const BitmapDeviceSharedPtr& rDevice)
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
- sal_Int32 nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_EIGHT_BIT_GREY, rDevice->getSize().getX());
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pBmp( createBitmapDevice( rDevice->getSize(),
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_EIGHT_BIT_GREY, nStride ));
|
|
 |
a9add1 |
+ FORMAT_EIGHT_BIT_GREY ));
|
|
 |
a9add1 |
|
|
 |
a9add1 |
OUString aSvg( "m 0 0h5v10h5v-5h-10z" );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -189,18 +188,15 @@ public:
|
|
 |
a9add1 |
void setUp() SAL_OVERRIDE
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(11,11);
|
|
 |
a9add1 |
- sal_Int32 nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_GREY, aSize.getX());
|
|
 |
a9add1 |
mpClipMask = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_GREY, nStride );
|
|
 |
a9add1 |
- nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX());
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_GREY );
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL, nStride );
|
|
 |
a9add1 |
- nStride = basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX());
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, nStride );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
OUString aSvg( "m 0 0 h5 l5 5 v5 h-5 l-5-5 z" );
|
|
 |
a9add1 |
basegfx::B2DPolyPolygon aPoly;
|
|
 |
a9add1 |
diff --git a/basebmp/test/filltest.cxx b/basebmp/test/filltest.cxx
|
|
 |
a9add1 |
index 875a27d..067ec24 100644
|
|
 |
a9add1 |
--- a/basebmp/test/filltest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/filltest.cxx
|
|
 |
a9add1 |
@@ -211,12 +211,10 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(11,11);
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
void testRectFill()
|
|
 |
a9add1 |
diff --git a/basebmp/test/linetest.cxx b/basebmp/test/linetest.cxx
|
|
 |
a9add1 |
index 731158e..f6a3909 100644
|
|
 |
a9add1 |
--- a/basebmp/test/linetest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/linetest.cxx
|
|
 |
a9add1 |
@@ -151,12 +151,10 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(11,11);
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
void testCornerCases()
|
|
 |
a9add1 |
@@ -165,8 +163,7 @@ public:
|
|
 |
a9add1 |
BitmapDeviceSharedPtr pDevice = createBitmapDevice(
|
|
 |
a9add1 |
aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
const basegfx::B2IPoint aPt1(0,0);
|
|
 |
a9add1 |
const basegfx::B2IPoint aPt2(10,10);
|
|
 |
a9add1 |
@@ -182,8 +179,7 @@ public:
|
|
 |
a9add1 |
pDevice = createBitmapDevice(
|
|
 |
a9add1 |
aSize2,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
CPPUNIT_ASSERT_MESSAGE("only pixel cleared",
|
|
 |
a9add1 |
pDevice->getPixelData(aPt1) == 0);
|
|
 |
a9add1 |
diff --git a/basebmp/test/masktest.cxx b/basebmp/test/masktest.cxx
|
|
 |
a9add1 |
index 7b4559c..d53ba72 100644
|
|
 |
a9add1 |
--- a/basebmp/test/masktest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/masktest.cxx
|
|
 |
a9add1 |
@@ -104,17 +104,14 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(10,10);
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
mpMask = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_EIGHT_BIT_GREY,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_EIGHT_BIT_GREY, aSize.getX()) );
|
|
 |
a9add1 |
+ FORMAT_EIGHT_BIT_GREY );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
OUString aSvg( "m 0 0h5v10h5v-5h-10z" );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/basebmp/test/polytest.cxx b/basebmp/test/polytest.cxx
|
|
 |
a9add1 |
index 60746d7..a0371eb 100644
|
|
 |
a9add1 |
--- a/basebmp/test/polytest.cxx
|
|
 |
a9add1 |
+++ b/basebmp/test/polytest.cxx
|
|
 |
a9add1 |
@@ -296,12 +296,10 @@ public:
|
|
 |
a9add1 |
const basegfx::B2ISize aSize(10,10);
|
|
 |
a9add1 |
mpDevice1bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_ONE_BIT_MSB_PAL,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_ONE_BIT_MSB_PAL, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_ONE_BIT_MSB_PAL );
|
|
 |
a9add1 |
mpDevice32bpp = createBitmapDevice( aSize,
|
|
 |
a9add1 |
true,
|
|
 |
a9add1 |
- FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA,
|
|
 |
a9add1 |
- basebmp::getBitmapDeviceStrideForWidth(FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA, aSize.getX()));
|
|
 |
a9add1 |
+ FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
void testEmpty()
|
|
 |
a9add1 |
diff --git a/include/basebmp/bitmapdevice.hxx b/include/basebmp/bitmapdevice.hxx
|
|
 |
a9add1 |
index 5953741..6071c79 100644
|
|
 |
a9add1 |
--- a/include/basebmp/bitmapdevice.hxx
|
|
 |
a9add1 |
+++ b/include/basebmp/bitmapdevice.hxx
|
|
 |
a9add1 |
@@ -668,8 +668,7 @@ sal_Int32 BASEBMP_DLLPUBLIC getBitmapDeviceStrideForWidth(Format nScanlineFormat
|
|
 |
a9add1 |
*/
|
|
 |
a9add1 |
BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
- Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride );
|
|
 |
a9add1 |
+ Format nScanlineFormat );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
/** Function to create a BitmapDevice for given scanline format
|
|
 |
a9add1 |
with the given palette
|
|
 |
a9add1 |
@@ -681,7 +680,6 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVe
|
|
 |
a9add1 |
BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
const PaletteMemorySharedVector& rPalette );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
/** Function to create a BitmapDevice for given scanline format
|
|
 |
a9add1 |
@@ -693,7 +691,6 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVe
|
|
 |
a9add1 |
BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
bool bTopDown,
|
|
 |
a9add1 |
Format nScanlineFormat,
|
|
 |
a9add1 |
- sal_Int32 nScanlineStride,
|
|
 |
a9add1 |
const RawMemorySharedArray& rMem,
|
|
 |
a9add1 |
const PaletteMemorySharedVector& rPalette );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -725,8 +722,8 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC subsetBitmapDevice( const BitmapDeviceSh
|
|
 |
a9add1 |
copied, only the size can be varied. Note that the prototype's
|
|
 |
a9add1 |
bitmap content is not copied, only a palette (if any).
|
|
 |
a9add1 |
*/
|
|
 |
a9add1 |
-BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC cloneBitmapDevice( const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
- const BitmapDeviceSharedPtr& rProto );
|
|
 |
a9add1 |
+BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC cloneBitmapDevice(const basegfx::B2IVector& rSize,
|
|
 |
a9add1 |
+ const BitmapDeviceSharedPtr& rProto);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
|
|
 |
a9add1 |
index 87435f5..b535187 100644
|
|
 |
a9add1 |
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
|
|
 |
a9add1 |
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
|
|
 |
a9add1 |
@@ -771,7 +771,7 @@ DECLARE_OOXMLIMPORT_TEST(testN777345, "n777345.docx")
|
|
 |
a9add1 |
Graphic aGraphic(xGraphic);
|
|
 |
a9add1 |
// If this changes later, feel free to update it, but make sure it's not
|
|
 |
a9add1 |
// the checksum of a white/transparent placeholder rectangle.
|
|
 |
a9add1 |
- CPPUNIT_ASSERT_EQUAL(BitmapChecksum(3652741777587093783), aGraphic.GetChecksum());
|
|
 |
a9add1 |
+ CPPUNIT_ASSERT_EQUAL(BitmapChecksum(SAL_CONST_UINT64(12149824012634930130)), aGraphic.GetChecksum());
|
|
 |
a9add1 |
#endif
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
diff --git a/vcl/headless/svpbmp.cxx b/vcl/headless/svpbmp.cxx
|
|
 |
a9add1 |
index 901526e..92c2835 100644
|
|
 |
a9add1 |
--- a/vcl/headless/svpbmp.cxx
|
|
 |
a9add1 |
+++ b/vcl/headless/svpbmp.cxx
|
|
 |
a9add1 |
@@ -52,9 +52,8 @@ bool SvpSalBitmap::Create( const Size& rSize,
|
|
 |
a9add1 |
aSize.setX( 1 );
|
|
 |
a9add1 |
if( aSize.getY() == 0 )
|
|
 |
a9add1 |
aSize.setY( 1 );
|
|
 |
a9add1 |
- sal_Int32 nStride = getBitmapDeviceStrideForWidth(nFormat, aSize.getX());
|
|
 |
a9add1 |
if( nBitCount > 8 )
|
|
 |
a9add1 |
- m_aBitmap = createBitmapDevice( aSize, false, nFormat, nStride );
|
|
 |
a9add1 |
+ m_aBitmap = createBitmapDevice( aSize, false, nFormat );
|
|
 |
a9add1 |
else
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
// prepare palette
|
|
 |
a9add1 |
@@ -67,7 +66,7 @@ bool SvpSalBitmap::Create( const Size& rSize,
|
|
 |
a9add1 |
const BitmapColor& rCol = rPalette[i];
|
|
 |
a9add1 |
(*pPalette)[i] = basebmp::Color( rCol.GetRed(), rCol.GetGreen(), rCol.GetBlue() );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
- m_aBitmap = createBitmapDevice( aSize, false, nFormat, nStride,
|
|
 |
a9add1 |
+ m_aBitmap = createBitmapDevice( aSize, false, nFormat,
|
|
 |
a9add1 |
basebmp::RawMemorySharedArray(),
|
|
 |
a9add1 |
basebmp::PaletteMemorySharedVector( pPalette )
|
|
 |
a9add1 |
);
|
|
 |
a9add1 |
@@ -336,7 +335,6 @@ void SvpSalBitmap::ReleaseBuffer( BitmapBuffer* pBuffer, BitmapAccessMode nMode
|
|
 |
a9add1 |
m_aBitmap = basebmp::createBitmapDevice( m_aBitmap->getSize(),
|
|
 |
a9add1 |
m_aBitmap->isTopDown(),
|
|
 |
a9add1 |
m_aBitmap->getScanlineFormat(),
|
|
 |
a9add1 |
- m_aBitmap->getScanlineStride(),
|
|
 |
a9add1 |
m_aBitmap->getBuffer(),
|
|
 |
a9add1 |
pPal );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
|
|
 |
a9add1 |
index e1218d7..22ffaef 100644
|
|
 |
a9add1 |
--- a/vcl/headless/svpframe.cxx
|
|
 |
a9add1 |
+++ b/vcl/headless/svpframe.cxx
|
|
 |
a9add1 |
@@ -292,8 +292,7 @@ void SvpSalFrame::SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_u
|
|
 |
a9add1 |
aFrameSize.setX( 1 );
|
|
 |
a9add1 |
if( aFrameSize.getY() == 0 )
|
|
 |
a9add1 |
aFrameSize.setY( 1 );
|
|
 |
a9add1 |
- sal_Int32 nStride = basebmp::getBitmapDeviceStrideForWidth(m_nScanlineFormat, aFrameSize.getX());
|
|
 |
a9add1 |
- m_aFrame = createBitmapDevice( aFrameSize, m_bTopDown, m_nScanlineFormat, nStride );
|
|
 |
a9add1 |
+ m_aFrame = createBitmapDevice( aFrameSize, m_bTopDown, m_nScanlineFormat );
|
|
 |
a9add1 |
if (m_bDamageTracking)
|
|
 |
a9add1 |
m_aFrame->setDamageTracker(
|
|
 |
a9add1 |
basebmp::IBitmapDeviceDamageTrackerSharedPtr( new DamageTracker ) );
|
|
 |
a9add1 |
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
|
|
 |
a9add1 |
index 0afce7e..cbe3dc1 100644
|
|
 |
a9add1 |
--- a/vcl/headless/svpgdi.cxx
|
|
 |
a9add1 |
+++ b/vcl/headless/svpgdi.cxx
|
|
 |
a9add1 |
@@ -173,14 +173,14 @@ bool SvpSalGraphics::drawAlphaRect(long nX, long nY, long nWidth, long nHeight,
|
|
 |
a9add1 |
return false;
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- cairo_t* cr = createCairoContext(m_aDevice);
|
|
 |
a9add1 |
+ cairo_t* cr = createCairoContext(m_aOrigDevice);
|
|
 |
a9add1 |
if (!cr)
|
|
 |
a9add1 |
return bRet;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- if (!m_aDevice->isTopDown())
|
|
 |
a9add1 |
+ if (!m_aOrigDevice->isTopDown())
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
cairo_scale(cr, 1, -1.0);
|
|
 |
a9add1 |
- cairo_translate(cr, 0.0, -m_aDevice->getSize().getY());
|
|
 |
a9add1 |
+ cairo_translate(cr, 0.0, -m_aOrigDevice->getSize().getY());
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
clipRegion(cr);
|
|
 |
a9add1 |
@@ -193,7 +193,7 @@ bool SvpSalGraphics::drawAlphaRect(long nX, long nY, long nWidth, long nHeight,
|
|
 |
a9add1 |
cairo_rectangle(cr, nX, nY, nWidth, nHeight);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
cairo_rectangle_int_t extents;
|
|
 |
a9add1 |
- basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aDevice->getDamageTracker());
|
|
 |
a9add1 |
+ basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aOrigDevice->getDamageTracker());
|
|
 |
a9add1 |
if (xDamageTracker)
|
|
 |
a9add1 |
extents = getFillDamage(cr);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -731,14 +731,14 @@ bool SvpSalGraphics::drawPolyPolygon(const basegfx::B2DPolyPolygon& rPolyPoly, d
|
|
 |
a9add1 |
return false;
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- cairo_t* cr = createCairoContext(m_aDevice);
|
|
 |
a9add1 |
+ cairo_t* cr = createCairoContext(m_aOrigDevice);
|
|
 |
a9add1 |
if (!cr)
|
|
 |
a9add1 |
return false;
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- if (!m_aDevice->isTopDown())
|
|
 |
a9add1 |
+ if (!m_aOrigDevice->isTopDown())
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
cairo_scale(cr, 1, -1.0);
|
|
 |
a9add1 |
- cairo_translate(cr, 0.0, -m_aDevice->getSize().getY());
|
|
 |
a9add1 |
+ cairo_translate(cr, 0.0, -m_aOrigDevice->getSize().getY());
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
clipRegion(cr);
|
|
 |
a9add1 |
@@ -752,7 +752,7 @@ bool SvpSalGraphics::drawPolyPolygon(const basegfx::B2DPolyPolygon& rPolyPoly, d
|
|
 |
a9add1 |
AddPolygonToPath(cr, *pPoly, true);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
cairo_rectangle_int_t extents;
|
|
 |
a9add1 |
- basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aDevice->getDamageTracker());
|
|
 |
a9add1 |
+ basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aOrigDevice->getDamageTracker());
|
|
 |
a9add1 |
if (xDamageTracker)
|
|
 |
a9add1 |
extents = getFillDamage(cr);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -891,11 +891,12 @@ SalBitmap* SvpSalGraphics::getBitmap( long nX, long nY, long nWidth, long nHeigh
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
SvpSalBitmap* pBitmap = new SvpSalBitmap();
|
|
 |
a9add1 |
|
|
 |
a9add1 |
- if (m_aDevice)
|
|
 |
a9add1 |
+ if (m_aOrigDevice)
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
basebmp::BitmapDeviceSharedPtr aCopy;
|
|
 |
a9add1 |
aCopy = cloneBitmapDevice(basegfx::B2IVector(nWidth, nHeight),
|
|
 |
a9add1 |
- m_aDevice);
|
|
 |
a9add1 |
+ m_aOrigDevice);
|
|
 |
a9add1 |
+ basegfx::B2IVector size = aCopy->getSize();
|
|
 |
a9add1 |
basegfx::B2IBox aSrcRect( nX, nY, nX+nWidth, nY+nHeight );
|
|
 |
a9add1 |
basegfx::B2IBox aDestRect( 0, 0, nWidth, nHeight );
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -941,12 +942,12 @@ void SvpSalGraphics::invert( long nX, long nY, long nWidth, long nHeight, SalInv
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
else if ( nFlags & SAL_INVERT_50 )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
- if (cairo_t* cr = createCairoContext(m_aDevice))
|
|
 |
a9add1 |
+ if (cairo_t* cr = createCairoContext(m_aOrigDevice))
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
- if (!m_aDevice->isTopDown())
|
|
 |
a9add1 |
+ if (!m_aOrigDevice->isTopDown())
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
cairo_scale(cr, 1, -1.0);
|
|
 |
a9add1 |
- cairo_translate(cr, 0.0, -m_aDevice->getSize().getY());
|
|
 |
a9add1 |
+ cairo_translate(cr, 0.0, -m_aOrigDevice->getSize().getY());
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
clipRegion(cr);
|
|
 |
a9add1 |
@@ -954,7 +955,7 @@ void SvpSalGraphics::invert( long nX, long nY, long nWidth, long nHeight, SalInv
|
|
 |
a9add1 |
cairo_pattern_t *pattern = create_stipple();
|
|
 |
a9add1 |
|
|
 |
a9add1 |
cairo_rectangle_int_t extents;
|
|
 |
a9add1 |
- basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aDevice->getDamageTracker());
|
|
 |
a9add1 |
+ basebmp::IBitmapDeviceDamageTrackerSharedPtr xDamageTracker(m_aOrigDevice->getDamageTracker());
|
|
 |
a9add1 |
|
|
 |
a9add1 |
cairo_rectangle(cr, nX, nY, nWidth, nHeight);
|
|
 |
a9add1 |
|
|
 |
a9add1 |
@@ -1075,7 +1076,7 @@ bool SvpSalGraphics::supportsOperation(OutDevSupportType eType) const
|
|
 |
a9add1 |
#if ENABLE_CAIRO_CANVAS
|
|
 |
a9add1 |
if (m_aDrawMode == basebmp::DrawMode_XOR)
|
|
 |
a9add1 |
return false;
|
|
 |
a9add1 |
- if (!isCairoCompatible(m_aDevice))
|
|
 |
a9add1 |
+ if (!isCairoCompatible(m_aOrigDevice))
|
|
 |
a9add1 |
return false;
|
|
 |
a9add1 |
switch (eType)
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
diff --git a/vcl/headless/svptextrender.cxx b/vcl/headless/svptextrender.cxx
|
|
 |
a9add1 |
index f143da1..2cd51ef 100644
|
|
 |
a9add1 |
--- a/vcl/headless/svptextrender.cxx
|
|
 |
a9add1 |
+++ b/vcl/headless/svptextrender.cxx
|
|
 |
a9add1 |
@@ -152,7 +152,7 @@ BitmapDeviceSharedPtr SvpGlyphPeer::GetGlyphBmp( ServerFont& rServerFont,
|
|
 |
a9add1 |
pGcpHelper->maRawBitmap.mnScanlineSize,
|
|
 |
a9add1 |
pGcpHelper->maRawBitmap.mnHeight );
|
|
 |
a9add1 |
static PaletteMemorySharedVector aDummyPAL;
|
|
 |
a9add1 |
- pGcpHelper->maBitmapDev = createBitmapDevice( aSize, true, nBmpFormat, aSize.getX(), pGcpHelper->maRawBitmap.mpBits, aDummyPAL );
|
|
 |
a9add1 |
+ pGcpHelper->maBitmapDev = createBitmapDevice( aSize, true, nBmpFormat, pGcpHelper->maRawBitmap.mpBits, aDummyPAL );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
rGlyphData.ExtDataRef().meInfo = nBmpFormat;
|
|
 |
a9add1 |
diff --git a/vcl/headless/svpvd.cxx b/vcl/headless/svpvd.cxx
|
|
 |
a9add1 |
index 1e4050a..1c4237b 100644
|
|
 |
a9add1 |
--- a/vcl/headless/svpvd.cxx
|
|
 |
a9add1 |
+++ b/vcl/headless/svpvd.cxx
|
|
 |
a9add1 |
@@ -71,21 +71,20 @@ bool SvpSalVirtualDevice::SetSizeUsingBuffer( long nNewDX, long nNewDY,
|
|
 |
a9add1 |
SvpSalInstance* pInst = SvpSalInstance::s_pDefaultInstance;
|
|
 |
a9add1 |
assert( pInst );
|
|
 |
a9add1 |
basebmp::Format nFormat = pInst->getFormatForBitCount( m_nBitCount );
|
|
 |
a9add1 |
- sal_Int32 nStride = basebmp::getBitmapDeviceStrideForWidth(nFormat, aDevSize.getX());
|
|
 |
a9add1 |
|
|
 |
a9add1 |
if ( m_nBitCount == 1 )
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
std::vector< basebmp::Color > aDevPal(2);
|
|
 |
a9add1 |
aDevPal[0] = basebmp::Color( 0, 0, 0 );
|
|
 |
a9add1 |
aDevPal[1] = basebmp::Color( 0xff, 0xff, 0xff );
|
|
 |
a9add1 |
- m_aDevice = createBitmapDevice( aDevSize, bTopDown, nFormat, nStride,
|
|
 |
a9add1 |
+ m_aDevice = createBitmapDevice( aDevSize, bTopDown, nFormat,
|
|
 |
a9add1 |
PaletteMemorySharedVector( new std::vector< basebmp::Color >(aDevPal) ) );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
else
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
m_aDevice = pBuffer ?
|
|
 |
a9add1 |
- createBitmapDevice( aDevSize, bTopDown, nFormat, nStride, pBuffer, PaletteMemorySharedVector() )
|
|
 |
a9add1 |
- : createBitmapDevice( aDevSize, bTopDown, nFormat, nStride );
|
|
 |
a9add1 |
+ createBitmapDevice( aDevSize, bTopDown, nFormat, pBuffer, PaletteMemorySharedVector() )
|
|
 |
a9add1 |
+ : createBitmapDevice( aDevSize, bTopDown, nFormat );
|
|
 |
a9add1 |
}
|
|
 |
a9add1 |
|
|
 |
a9add1 |
// update device in existing graphics
|
|
 |
a9add1 |
diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx
|
|
 |
a9add1 |
index a5437c1..384afc7 100644
|
|
 |
a9add1 |
--- a/vcl/qa/cppunit/BitmapTest.cxx
|
|
 |
a9add1 |
+++ b/vcl/qa/cppunit/BitmapTest.cxx
|
|
 |
a9add1 |
@@ -51,17 +51,12 @@ void BitmapTest::testConvert()
|
|
 |
a9add1 |
{
|
|
 |
a9add1 |
Bitmap::ScopedReadAccess pReadAccess(aBitmap);
|
|
 |
a9add1 |
CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(8), pReadAccess->GetBitCount());
|
|
 |
a9add1 |
-#if defined WNT
|
|
 |
a9add1 |
- if (!OpenGLHelper::isVCLOpenGLEnabled())
|
|
 |
a9add1 |
- {
|
|
 |
a9add1 |
- // GDI Scanlines padded to DWORD multiples, it seems
|
|
 |
a9add1 |
- CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(12), pReadAccess->GetScanlineSize());
|
|
 |
a9add1 |
- }
|
|
 |
a9add1 |
- else
|
|
 |
a9add1 |
+#if defined MACOSX || defined IOS
|
|
 |
a9add1 |
+ //it would be nice to find and change the stride for quartz to be the same as everyone else
|
|
 |
a9add1 |
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(10), pReadAccess->GetScanlineSize());
|
|
 |
a9add1 |
+#else
|
|
 |
a9add1 |
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(12), pReadAccess->GetScanlineSize());
|
|
 |
a9add1 |
#endif
|
|
 |
a9add1 |
- {
|
|
 |
a9add1 |
- CPPUNIT_ASSERT_EQUAL(static_cast<sal_uLong>(10), pReadAccess->GetScanlineSize());
|
|
 |
a9add1 |
- }
|
|
 |
a9add1 |
CPPUNIT_ASSERT(pReadAccess->HasPalette());
|
|
 |
a9add1 |
const BitmapColor& rColor = pReadAccess->GetPaletteColor(pReadAccess->GetPixelIndex(1, 1));
|
|
 |
a9add1 |
CPPUNIT_ASSERT_EQUAL(sal_Int32(204), sal_Int32(rColor.GetRed()));
|
|
 |
a9add1 |
diff --git a/vcl/unx/gtk/window/gtksalframe.cxx b/vcl/unx/gtk/window/gtksalframe.cxx
|
|
 |
a9add1 |
index a28c144..eef48cd 100644
|
|
 |
a9add1 |
--- a/vcl/unx/gtk/window/gtksalframe.cxx
|
|
 |
a9add1 |
+++ b/vcl/unx/gtk/window/gtksalframe.cxx
|
|
 |
a9add1 |
@@ -2063,9 +2063,8 @@ void GtkSalFrame::AllocateFrame()
|
|
 |
a9add1 |
aFrameSize.setX( 1 );
|
|
 |
a9add1 |
if( aFrameSize.getY() == 0 )
|
|
 |
a9add1 |
aFrameSize.setY( 1 );
|
|
 |
a9add1 |
- int cairo_stride = cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, aFrameSize.getX());
|
|
 |
a9add1 |
m_aFrame = basebmp::createBitmapDevice(aFrameSize, true,
|
|
 |
a9add1 |
- basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX, cairo_stride);
|
|
 |
a9add1 |
+ basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX);
|
|
 |
a9add1 |
m_aFrame->setDamageTracker(
|
|
 |
a9add1 |
basebmp::IBitmapDeviceDamageTrackerSharedPtr(new DamageTracker(*this)) );
|
|
 |
a9add1 |
SAL_INFO("vcl.gtk3", "allocated m_aFrame size of " << maGeometry.nWidth << " x " << maGeometry.nHeight);
|
|
 |
a9add1 |
--
|
|
 |
a9add1 |
2.5.0
|
|
 |
a9add1 |
|