diff options
Diffstat (limited to 'vcl/source/gdi/bitmap4.cxx')
-rw-r--r-- | vcl/source/gdi/bitmap4.cxx | 302 |
1 files changed, 151 insertions, 151 deletions
diff --git a/vcl/source/gdi/bitmap4.cxx b/vcl/source/gdi/bitmap4.cxx index 1f18b9375ea9..ab8bf914bf46 100644 --- a/vcl/source/gdi/bitmap4.cxx +++ b/vcl/source/gdi/bitmap4.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -37,13 +37,13 @@ // - Defines - // ----------- -#define S2(a,b) { register long t; if( ( t = b - a ) < 0 ) { a += t; b -= t; } } -#define MN3(a,b,c) S2(a,b); S2(a,c); -#define MX3(a,b,c) S2(b,c); S2(a,c); -#define MNMX3(a,b,c) MX3(a,b,c); S2(a,b); -#define MNMX4(a,b,c,d) S2(a,b); S2(c,d); S2(a,c); S2(b,d); -#define MNMX5(a,b,c,d,e) S2(a,b); S2(c,d); MN3(a,c,e); MX3(b,d,e); -#define MNMX6(a,b,c,d,e,f) S2(a,d); S2(b,e); S2(c,f); MN3(a,b,c); MX3(d,e,f); +#define S2(a,b) { register long t; if( ( t = b - a ) < 0 ) { a += t; b -= t; } } +#define MN3(a,b,c) S2(a,b); S2(a,c); +#define MX3(a,b,c) S2(b,c); S2(a,c); +#define MNMX3(a,b,c) MX3(a,b,c); S2(a,b); +#define MNMX4(a,b,c,d) S2(a,b); S2(c,d); S2(a,c); S2(b,d); +#define MNMX5(a,b,c,d,e) S2(a,b); S2(c,d); MN3(a,c,e); MX3(b,d,e); +#define MNMX6(a,b,c,d,e,f) S2(a,d); S2(b,e); S2(c,f); MN3(a,b,c); MX3(d,e,f); // ---------- // - Bitmap - @@ -110,30 +110,30 @@ BOOL Bitmap::Filter( BmpFilter eFilter, const BmpFilterParam* pFilterParam, cons BOOL Bitmap::ImplConvolute3( const long* pMatrix, long nDivisor, const BmpFilterParam* /*pFilterParam*/, const Link* /*pProgress*/ ) { - BitmapReadAccess* pReadAcc = AcquireReadAccess(); - BOOL bRet = FALSE; + BitmapReadAccess* pReadAcc = AcquireReadAccess(); + BOOL bRet = FALSE; if( pReadAcc ) { - Bitmap aNewBmp( GetSizePixel(), 24 ); - BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); + Bitmap aNewBmp( GetSizePixel(), 24 ); + BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); if( pWriteAcc ) { - const long nWidth = pWriteAcc->Width(), nWidth2 = nWidth + 2; - const long nHeight = pWriteAcc->Height(), nHeight2 = nHeight + 2; - long* pColm = new long[ nWidth2 ]; - long* pRows = new long[ nHeight2 ]; - BitmapColor* pColRow1 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pColRow2 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pColRow3 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pRowTmp1 = pColRow1; - BitmapColor* pRowTmp2 = pColRow2; - BitmapColor* pRowTmp3 = pColRow3; - BitmapColor* pColor; - long nY, nX, i, nSumR, nSumG, nSumB, nMatrixVal, nTmp; - long (*pKoeff)[ 256 ] = new long[ 9 ][ 256 ]; - long* pTmp; + const long nWidth = pWriteAcc->Width(), nWidth2 = nWidth + 2; + const long nHeight = pWriteAcc->Height(), nHeight2 = nHeight + 2; + long* pColm = new long[ nWidth2 ]; + long* pRows = new long[ nHeight2 ]; + BitmapColor* pColRow1 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pColRow2 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pColRow3 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pRowTmp1 = pColRow1; + BitmapColor* pRowTmp2 = pColRow2; + BitmapColor* pRowTmp3 = pColRow3; + BitmapColor* pColor; + long nY, nX, i, nSumR, nSumG, nSumB, nMatrixVal, nTmp; + long (*pKoeff)[ 256 ] = new long[ 9 ][ 256 ]; + long* pTmp; // create LUT of products of matrix value and possible color component values for( nY = 0; nY < 9; nY++ ) @@ -143,13 +143,13 @@ BOOL Bitmap::ImplConvolute3( const long* pMatrix, long nDivisor, // create column LUT for( i = 0; i < nWidth2; i++ ) pColm[ i ] = ( i > 0 ) ? ( i - 1 ) : 0; - + pColm[ nWidth + 1 ] = pColm[ nWidth ]; // create row LUT for( i = 0; i < nHeight2; i++ ) pRows[ i ] = ( i > 0 ) ? ( i - 1 ) : 0; - + pRows[ nHeight + 1 ] = pRows[ nHeight ]; // read first three rows of bitmap color @@ -240,8 +240,8 @@ BOOL Bitmap::ImplConvolute3( const long* pMatrix, long nDivisor, if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = aNewBmp; @@ -257,42 +257,42 @@ BOOL Bitmap::ImplConvolute3( const long* pMatrix, long nDivisor, BOOL Bitmap::ImplMedianFilter( const BmpFilterParam* /*pFilterParam*/, const Link* /*pProgress*/ ) { - BitmapReadAccess* pReadAcc = AcquireReadAccess(); - BOOL bRet = FALSE; + BitmapReadAccess* pReadAcc = AcquireReadAccess(); + BOOL bRet = FALSE; if( pReadAcc ) { - Bitmap aNewBmp( GetSizePixel(), 24 ); - BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); + Bitmap aNewBmp( GetSizePixel(), 24 ); + BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); if( pWriteAcc ) { - const long nWidth = pWriteAcc->Width(), nWidth2 = nWidth + 2; - const long nHeight = pWriteAcc->Height(), nHeight2 = nHeight + 2; - long* pColm = new long[ nWidth2 ]; - long* pRows = new long[ nHeight2 ]; - BitmapColor* pColRow1 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pColRow2 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pColRow3 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; - BitmapColor* pRowTmp1 = pColRow1; - BitmapColor* pRowTmp2 = pColRow2; - BitmapColor* pRowTmp3 = pColRow3; - BitmapColor* pColor; - long nY, nX, i; - long nR1, nR2, nR3, nR4, nR5, nR6, nR7, nR8, nR9; - long nG1, nG2, nG3, nG4, nG5, nG6, nG7, nG8, nG9; - long nB1, nB2, nB3, nB4, nB5, nB6, nB7, nB8, nB9; + const long nWidth = pWriteAcc->Width(), nWidth2 = nWidth + 2; + const long nHeight = pWriteAcc->Height(), nHeight2 = nHeight + 2; + long* pColm = new long[ nWidth2 ]; + long* pRows = new long[ nHeight2 ]; + BitmapColor* pColRow1 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pColRow2 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pColRow3 = (BitmapColor*) new BYTE[ sizeof( BitmapColor ) * nWidth2 ]; + BitmapColor* pRowTmp1 = pColRow1; + BitmapColor* pRowTmp2 = pColRow2; + BitmapColor* pRowTmp3 = pColRow3; + BitmapColor* pColor; + long nY, nX, i; + long nR1, nR2, nR3, nR4, nR5, nR6, nR7, nR8, nR9; + long nG1, nG2, nG3, nG4, nG5, nG6, nG7, nG8, nG9; + long nB1, nB2, nB3, nB4, nB5, nB6, nB7, nB8, nB9; // create column LUT for( i = 0; i < nWidth2; i++ ) pColm[ i ] = ( i > 0 ) ? ( i - 1 ) : 0; - + pColm[ nWidth + 1 ] = pColm[ nWidth ]; // create row LUT for( i = 0; i < nHeight2; i++ ) pRows[ i ] = ( i > 0 ) ? ( i - 1 ) : 0; - + pRows[ nHeight + 1 ] = pRows[ nHeight ]; // read first three rows of bitmap color @@ -314,7 +314,7 @@ BOOL Bitmap::ImplMedianFilter( const BmpFilterParam* /*pFilterParam*/, const Lin nR1 = ( pColor = pRowTmp1 + nX )->GetRed(), nG1 = pColor->GetGreen(), nB1 = pColor->GetBlue(); nR2 = ( ++pColor )->GetRed(), nG2 = pColor->GetGreen(), nB2 = pColor->GetBlue(); nR3 = ( ++pColor )->GetRed(), nG3 = pColor->GetGreen(), nB3 = pColor->GetBlue(); - + nR4 = ( pColor = pRowTmp2 + nX )->GetRed(), nG4 = pColor->GetGreen(), nB4 = pColor->GetBlue(); nR5 = ( ++pColor )->GetRed(), nG5 = pColor->GetGreen(), nB5 = pColor->GetBlue(); nR6 = ( ++pColor )->GetRed(), nG6 = pColor->GetGreen(), nB6 = pColor->GetBlue(); @@ -322,7 +322,7 @@ BOOL Bitmap::ImplMedianFilter( const BmpFilterParam* /*pFilterParam*/, const Lin nR7 = ( pColor = pRowTmp3 + nX )->GetRed(), nG7 = pColor->GetGreen(), nB7 = pColor->GetBlue(); nR8 = ( ++pColor )->GetRed(), nG8 = pColor->GetGreen(), nB8 = pColor->GetBlue(); nR9 = ( ++pColor )->GetRed(), nG9 = pColor->GetGreen(), nB9 = pColor->GetBlue(); - + MNMX6( nR1, nR2, nR3, nR4, nR5, nR6 ); MNMX5( nR7, nR2, nR3, nR4, nR5 ); MNMX4( nR8, nR2, nR3, nR4 ); @@ -337,7 +337,7 @@ BOOL Bitmap::ImplMedianFilter( const BmpFilterParam* /*pFilterParam*/, const Lin MNMX5( nB7, nB2, nB3, nB4, nB5 ); MNMX4( nB8, nB2, nB3, nB4 ); MNMX3( nB9, nB2, nB3 ); - + // set destination color pWriteAcc->SetPixel( nY, nX, BitmapColor( (BYTE) nR2, (BYTE) nG2, (BYTE) nB2 ) ); } @@ -371,8 +371,8 @@ BOOL Bitmap::ImplMedianFilter( const BmpFilterParam* /*pFilterParam*/, const Lin if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = aNewBmp; @@ -395,29 +395,29 @@ BOOL Bitmap::ImplSobelGrey( const BmpFilterParam* /*pFilterParam*/, const Link* bRet = FALSE; BitmapReadAccess* pReadAcc = AcquireReadAccess(); - + if( pReadAcc ) { - Bitmap aNewBmp( GetSizePixel(), 8, &pReadAcc->GetPalette() ); - BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); + Bitmap aNewBmp( GetSizePixel(), 8, &pReadAcc->GetPalette() ); + BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); if( pWriteAcc ) { - BitmapColor aGrey( (BYTE) 0 ); - const long nWidth = pWriteAcc->Width(); - const long nHeight = pWriteAcc->Height(); - const long nMask111 = -1, nMask121 = 0, nMask131 = 1; - const long nMask211 = -2, nMask221 = 0, nMask231 = 2; - const long nMask311 = -1, nMask321 = 0, nMask331 = 1; - const long nMask112 = 1, nMask122 = 2, nMask132 = 1; - const long nMask212 = 0, nMask222 = 0, nMask232 = 0; - const long nMask312 = -1, nMask322 = -2, nMask332 = -1; - long nGrey11, nGrey12, nGrey13; - long nGrey21, nGrey22, nGrey23; - long nGrey31, nGrey32, nGrey33; - long* pHMap = new long[ nWidth + 2 ]; - long* pVMap = new long[ nHeight + 2 ]; - long nX, nY, nSum1, nSum2; + BitmapColor aGrey( (BYTE) 0 ); + const long nWidth = pWriteAcc->Width(); + const long nHeight = pWriteAcc->Height(); + const long nMask111 = -1, nMask121 = 0, nMask131 = 1; + const long nMask211 = -2, nMask221 = 0, nMask231 = 2; + const long nMask311 = -1, nMask321 = 0, nMask331 = 1; + const long nMask112 = 1, nMask122 = 2, nMask132 = 1; + const long nMask212 = 0, nMask222 = 0, nMask232 = 0; + const long nMask312 = -1, nMask322 = -2, nMask332 = -1; + long nGrey11, nGrey12, nGrey13; + long nGrey21, nGrey22, nGrey23; + long nGrey31, nGrey32, nGrey33; + long* pHMap = new long[ nWidth + 2 ]; + long* pVMap = new long[ nHeight + 2 ]; + long nX, nY, nSum1, nSum2; // fill mapping tables pHMap[ 0 ] = 0; @@ -498,8 +498,8 @@ BOOL Bitmap::ImplSobelGrey( const BmpFilterParam* /*pFilterParam*/, const Link* if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = aNewBmp; @@ -523,33 +523,33 @@ BOOL Bitmap::ImplEmbossGrey( const BmpFilterParam* pFilterParam, const Link* /*p bRet = FALSE; BitmapReadAccess* pReadAcc = AcquireReadAccess(); - + if( pReadAcc ) { - Bitmap aNewBmp( GetSizePixel(), 8, &pReadAcc->GetPalette() ); - BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); + Bitmap aNewBmp( GetSizePixel(), 8, &pReadAcc->GetPalette() ); + BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); if( pWriteAcc ) { - BitmapColor aGrey( (BYTE) 0 ); - const long nWidth = pWriteAcc->Width(); - const long nHeight = pWriteAcc->Height(); - long nGrey11, nGrey12, nGrey13; - long nGrey21, nGrey22, nGrey23; - long nGrey31, nGrey32, nGrey33; - double fAzim = ( ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_EMBOSS_GREY ) ? + BitmapColor aGrey( (BYTE) 0 ); + const long nWidth = pWriteAcc->Width(); + const long nHeight = pWriteAcc->Height(); + long nGrey11, nGrey12, nGrey13; + long nGrey21, nGrey22, nGrey23; + long nGrey31, nGrey32, nGrey33; + double fAzim = ( ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_EMBOSS_GREY ) ? ( pFilterParam->maEmbossAngles.mnAzimuthAngle100 * 0.01 ) : 0.0 ) * F_PI180; - double fElev = ( ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_EMBOSS_GREY ) ? + double fElev = ( ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_EMBOSS_GREY ) ? ( pFilterParam->maEmbossAngles.mnElevationAngle100 * 0.01 ) : 90.0 ) * F_PI180; - long* pHMap = new long[ nWidth + 2 ]; - long* pVMap = new long[ nHeight + 2 ]; - long nX, nY, nNx, nNy, nDotL; - const long nLx = FRound( cos( fAzim ) * cos( fElev ) * 255.0 ); - const long nLy = FRound( sin( fAzim ) * cos( fElev ) * 255.0 ); - const long nLz = FRound( sin( fElev ) * 255.0 ); - const long nZ2 = ( ( 6 * 255 ) / 4 ) * ( ( 6 * 255 ) / 4 ); - const long nNzLz = ( ( 6 * 255 ) / 4 ) * nLz; - const BYTE cLz = (BYTE) SAL_BOUND( nLz, 0, 255 ); + long* pHMap = new long[ nWidth + 2 ]; + long* pVMap = new long[ nHeight + 2 ]; + long nX, nY, nNx, nNy, nDotL; + const long nLx = FRound( cos( fAzim ) * cos( fElev ) * 255.0 ); + const long nLy = FRound( sin( fAzim ) * cos( fElev ) * 255.0 ); + const long nLz = FRound( sin( fElev ) * 255.0 ); + const long nZ2 = ( ( 6 * 255 ) / 4 ) * ( ( 6 * 255 ) / 4 ); + const long nNzLz = ( ( 6 * 255 ) / 4 ) * nLz; + const BYTE cLz = (BYTE) SAL_BOUND( nLz, 0, 255 ); // fill mapping tables pHMap[ 0 ] = 0; @@ -588,7 +588,7 @@ BOOL Bitmap::ImplEmbossGrey( const BmpFilterParam* pFilterParam, const Link* /*p const double fGrey = nDotL / sqrt( (double)(nNx * nNx + nNy * nNy + nZ2) ); aGrey.SetIndex( (BYTE) SAL_BOUND( fGrey, 0, 255 ) ); } - + pWriteAcc->SetPixel( nY, nX, aGrey ); if( nX < ( nWidth - 1 ) ) @@ -612,8 +612,8 @@ BOOL Bitmap::ImplEmbossGrey( const BmpFilterParam* pFilterParam, const Link* /*p if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = aNewBmp; @@ -630,12 +630,12 @@ BOOL Bitmap::ImplEmbossGrey( const BmpFilterParam* pFilterParam, const Link* /*p BOOL Bitmap::ImplSolarize( const BmpFilterParam* pFilterParam, const Link* /*pProgress*/ ) { - BOOL bRet = FALSE; - BitmapWriteAccess* pWriteAcc = AcquireWriteAccess(); - + BOOL bRet = FALSE; + BitmapWriteAccess* pWriteAcc = AcquireWriteAccess(); + if( pWriteAcc ) { - const BYTE cThreshold = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_SOLARIZE ) ? + const BYTE cThreshold = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_SOLARIZE ) ? pFilterParam->mcSolarGreyThreshold : 128; if( pWriteAcc->HasPalette() ) @@ -653,16 +653,16 @@ BOOL Bitmap::ImplSolarize( const BmpFilterParam* pFilterParam, const Link* /*pPr } else { - BitmapColor aCol; - const long nWidth = pWriteAcc->Width(); - const long nHeight = pWriteAcc->Height(); + BitmapColor aCol; + const long nWidth = pWriteAcc->Width(); + const long nHeight = pWriteAcc->Height(); for( long nY = 0; nY < nHeight ; nY++ ) { for( long nX = 0; nX < nWidth; nX++ ) { aCol = pWriteAcc->GetPixel( nY, nX ); - + if( aCol.GetLuminance() >= cThreshold ) pWriteAcc->SetPixel( nY, nX, aCol.Invert() ); } @@ -680,43 +680,43 @@ BOOL Bitmap::ImplSolarize( const BmpFilterParam* pFilterParam, const Link* /*pPr BOOL Bitmap::ImplSepia( const BmpFilterParam* pFilterParam, const Link* /*pProgress*/ ) { - BitmapReadAccess* pReadAcc = AcquireReadAccess(); - BOOL bRet = FALSE; - + BitmapReadAccess* pReadAcc = AcquireReadAccess(); + BOOL bRet = FALSE; + if( pReadAcc ) { - long nSepiaPercent = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_SEPIA ) ? + long nSepiaPercent = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_SEPIA ) ? pFilterParam->mcSolarGreyThreshold : 10; - const long nSepia = 10000 - 100 * SAL_BOUND( nSepiaPercent, 0, 100 ); - BitmapPalette aSepiaPal( 256 ); + const long nSepia = 10000 - 100 * SAL_BOUND( nSepiaPercent, 0, 100 ); + BitmapPalette aSepiaPal( 256 ); DBG_ASSERT( nSepiaPercent <= 100, "Bitmap::ImplSepia(): sepia value out of range; defaulting to 100%" ); for( USHORT i = 0; i < 256; i++ ) { - BitmapColor& rCol = aSepiaPal[ i ]; - const BYTE cSepiaValue = (BYTE) ( ( nSepia * i ) / 10000 ); + BitmapColor& rCol = aSepiaPal[ i ]; + const BYTE cSepiaValue = (BYTE) ( ( nSepia * i ) / 10000 ); rCol.SetRed( (BYTE) i ); rCol.SetGreen( cSepiaValue ); rCol.SetBlue( cSepiaValue ); } - Bitmap aNewBmp( GetSizePixel(), 8, &aSepiaPal ); - BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); + Bitmap aNewBmp( GetSizePixel(), 8, &aSepiaPal ); + BitmapWriteAccess* pWriteAcc = aNewBmp.AcquireWriteAccess(); if( pWriteAcc ) { - BitmapColor aCol( (BYTE) 0 ); - const long nWidth = pWriteAcc->Width(); - const long nHeight = pWriteAcc->Height(); + BitmapColor aCol( (BYTE) 0 ); + const long nWidth = pWriteAcc->Width(); + const long nHeight = pWriteAcc->Height(); if( pReadAcc->HasPalette() ) { for( long nY = 0; nY < nHeight ; nY++ ) { - const USHORT nPalCount = pReadAcc->GetPaletteEntryCount(); - BYTE* pIndexMap = new BYTE[ nPalCount ]; + const USHORT nPalCount = pReadAcc->GetPaletteEntryCount(); + BYTE* pIndexMap = new BYTE[ nPalCount ]; for( USHORT i = 0; i < nPalCount; i++ ) pIndexMap[ i ] = pReadAcc->GetPaletteColor( i ).GetLuminance(); @@ -750,8 +750,8 @@ BOOL Bitmap::ImplSepia( const BmpFilterParam* pFilterParam, const Link* /*pProgr if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = aNewBmp; @@ -767,11 +767,11 @@ BOOL Bitmap::ImplSepia( const BmpFilterParam* pFilterParam, const Link* /*pProgr BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProgress*/ ) { - ULONG nTileWidth = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_MOSAIC ) ? + ULONG nTileWidth = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_MOSAIC ) ? pFilterParam->maMosaicTileSize.mnTileWidth : 4; - ULONG nTileHeight = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_MOSAIC ) ? + ULONG nTileHeight = ( pFilterParam && pFilterParam->meFilter == BMP_FILTER_MOSAIC ) ? pFilterParam->maMosaicTileSize.mnTileHeight : 4; - BOOL bRet = FALSE; + BOOL bRet = FALSE; if( !nTileWidth ) nTileWidth = 1; @@ -781,9 +781,9 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg if( nTileWidth > 1 || nTileHeight > 1 ) { - Bitmap* pNewBmp; - BitmapReadAccess* pReadAcc; - BitmapWriteAccess* pWriteAcc; + Bitmap* pNewBmp; + BitmapReadAccess* pReadAcc; + BitmapWriteAccess* pWriteAcc; if( GetBitCount() > 8 ) { @@ -796,14 +796,14 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg pReadAcc = AcquireReadAccess(); pWriteAcc = pNewBmp->AcquireWriteAccess(); } - + if( pReadAcc && pWriteAcc ) { - BitmapColor aCol; - long nWidth = pReadAcc->Width(); - long nHeight = pReadAcc->Height(); - long nX, nY, nX1, nX2, nY1, nY2, nSumR, nSumG, nSumB; - double fArea_1; + BitmapColor aCol; + long nWidth = pReadAcc->Width(); + long nHeight = pReadAcc->Height(); + long nX, nY, nX1, nX2, nY1, nY2, nSumR, nSumG, nSumB; + double fArea_1; nY1 = 0; nY2 = nTileHeight - 1; @@ -816,7 +816,7 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg if( nX2 >= nWidth ) nX2 = nWidth - 1; - + fArea_1 = 1.0 / ( ( nX2 - nX1 + 1 ) * ( nY2 - nY1 + 1 ) ); if( !pNewBmp ) @@ -904,8 +904,8 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg if( bRet ) { - const MapMode aMap( maPrefMapMode ); - const Size aSize( maPrefSize ); + const MapMode aMap( maPrefMapMode ); + const Size aSize( maPrefSize ); *this = *pNewBmp; @@ -918,7 +918,7 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg } else bRet = TRUE; - + return bRet; } @@ -926,8 +926,8 @@ BOOL Bitmap::ImplMosaic( const BmpFilterParam* pFilterParam, const Link* /*pProg struct PopArtEntry { - sal_uInt32 mnIndex; - sal_uInt32 mnCount; + sal_uInt32 mnIndex; + sal_uInt32 mnCount; }; // ------------------------------------------------------------------------ @@ -938,11 +938,11 @@ extern "C" int __LOADONCALLAPI ImplPopArtCmpFnc( const void* p1, const void* p2 if( ( (PopArtEntry*) p1 )->mnCount < ( (PopArtEntry*) p2 )->mnCount ) nRet = 1; - else if( ( (PopArtEntry*) p1 )->mnCount == ( (PopArtEntry*) p2 )->mnCount ) + else if( ( (PopArtEntry*) p1 )->mnCount == ( (PopArtEntry*) p2 )->mnCount ) nRet = 0; else nRet = -1; - + return nRet; } @@ -960,11 +960,11 @@ BOOL Bitmap::ImplPopArt( const BmpFilterParam* /*pFilterParam*/, const Link* /*p if( pWriteAcc ) { - const long nWidth = pWriteAcc->Width(); - const long nHeight = pWriteAcc->Height(); - const ULONG nEntryCount = 1 << pWriteAcc->GetBitCount(); - ULONG n; - PopArtEntry* pPopArtTable = new PopArtEntry[ nEntryCount ]; + const long nWidth = pWriteAcc->Width(); + const long nHeight = pWriteAcc->Height(); + const ULONG nEntryCount = 1 << pWriteAcc->GetBitCount(); + ULONG n; + PopArtEntry* pPopArtTable = new PopArtEntry[ nEntryCount ]; for( n = 0; n < nEntryCount; n++ ) { @@ -980,7 +980,7 @@ BOOL Bitmap::ImplPopArt( const BmpFilterParam* /*pFilterParam*/, const Link* /*p // sort table qsort( pPopArtTable, nEntryCount, sizeof( PopArtEntry ), ImplPopArtCmpFnc ); - + // get last used entry ULONG nFirstEntry; ULONG nLastEntry = 0; @@ -993,7 +993,7 @@ BOOL Bitmap::ImplPopArt( const BmpFilterParam* /*pFilterParam*/, const Link* /*p const BitmapColor aFirstCol( pWriteAcc->GetPaletteColor( sal::static_int_cast<USHORT>(pPopArtTable[ 0 ].mnIndex) ) ); for( nFirstEntry = 0; nFirstEntry < nLastEntry; nFirstEntry++ ) { - pWriteAcc->SetPaletteColor( sal::static_int_cast<USHORT>(pPopArtTable[ nFirstEntry ].mnIndex), + pWriteAcc->SetPaletteColor( sal::static_int_cast<USHORT>(pPopArtTable[ nFirstEntry ].mnIndex), pWriteAcc->GetPaletteColor( sal::static_int_cast<USHORT>(pPopArtTable[ nFirstEntry + 1 ].mnIndex) ) ); } pWriteAcc->SetPaletteColor( sal::static_int_cast<USHORT>(pPopArtTable[ nLastEntry ].mnIndex), aFirstCol ); |