summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/vcl/gdimtf.hxx49
-rw-r--r--vcl/inc/vcl/metaact.hxx2
-rw-r--r--vcl/source/gdi/cvtgrf.cxx14
-rw-r--r--vcl/source/gdi/cvtsvm.cxx46
-rw-r--r--vcl/source/gdi/gdimtf.cxx550
-rw-r--r--vcl/source/gdi/impvect.cxx6
-rw-r--r--vcl/source/gdi/pdfextoutdevdata.cxx10
-rw-r--r--vcl/source/gdi/pdfwriter_impl2.cxx104
-rw-r--r--vcl/source/gdi/print2.cxx146
9 files changed, 500 insertions, 427 deletions
diff --git a/vcl/inc/vcl/gdimtf.hxx b/vcl/inc/vcl/gdimtf.hxx
index 2f5f0a2940..fcc60ab4e7 100644
--- a/vcl/inc/vcl/gdimtf.hxx
+++ b/vcl/inc/vcl/gdimtf.hxx
@@ -32,9 +32,9 @@
#include <vcl/dllapi.h>
#include <tools/gen.hxx>
#include <tools/link.hxx>
-#include <tools/list.hxx>
#include <tools/string.hxx>
#include <vcl/mapmod.hxx>
+#include <vector>
class OutputDevice;
class ImpLabelList;
@@ -51,8 +51,8 @@ class Gradient;
// - GDIMetaFile-Types -
// ---------------------
-#define GDI_METAFILE_END ((sal_uLong)0xFFFFFFFF)
-#define GDI_METAFILE_LABEL_NOTFOUND ((sal_uLong)0xFFFFFFFF)
+#define GDI_METAFILE_END ((size_t)0xFFFFFFFF)
+#define GDI_METAFILE_LABEL_NOTFOUND ((size_t)0xFFFFFFFF)
#ifndef METAFILE_END
#define METAFILE_END GDI_METAFILE_END
@@ -93,9 +93,11 @@ typedef BitmapEx (*BmpExchangeFnc)( const BitmapEx& rBmpEx, const void* pBmpPara
// - GDIMetaFile -
// ---------------
-class VCL_DLLPUBLIC GDIMetaFile : protected List
+class VCL_DLLPUBLIC GDIMetaFile
{
private:
+ ::std::vector< MetaAction* > aList;
+ size_t nCurrentActionElement;
MapMode aPrefMapMode;
Size aPrefSize;
@@ -134,7 +136,7 @@ private:
const OutputDevice& rMapDev,
const PolyPolygon& rPolyPoly,
const Gradient& rGrad );
- SAL_DLLPRIVATE bool ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rDestSize );
+ SAL_DLLPRIVATE bool ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rDestSize );
SAL_DLLPRIVATE void ImplDelegate2PluggableRenderer( const MetaCommentAction* pAct, OutputDevice* pOut );
@@ -148,9 +150,7 @@ public:
GDIMetaFile( const GDIMetaFile& rMtf );
virtual ~GDIMetaFile();
- using List::operator==;
- using List::operator!=;
- GDIMetaFile& operator=( const GDIMetaFile& rMtf );
+ GDIMetaFile& operator=( const GDIMetaFile& rMtf );
sal_Bool operator==( const GDIMetaFile& rMtf ) const;
sal_Bool operator!=( const GDIMetaFile& rMtf ) const { return !( *this == rMtf ); }
@@ -186,10 +186,10 @@ public:
void Record( OutputDevice* pOutDev );
sal_Bool IsRecord() const { return bRecord; }
- void Play( GDIMetaFile& rMtf, sal_uLong nPos = GDI_METAFILE_END );
- void Play( OutputDevice* pOutDev, sal_uLong nPos = GDI_METAFILE_END );
+ void Play( GDIMetaFile& rMtf, size_t nPos = GDI_METAFILE_END );
+ void Play( OutputDevice* pOutDev, size_t nPos = GDI_METAFILE_END );
void Play( OutputDevice* pOutDev, const Point& rPos,
- const Size& rSize, sal_uLong nPos = GDI_METAFILE_END );
+ const Size& rSize, size_t nPos = GDI_METAFILE_END );
void Pause( sal_Bool bPause );
sal_Bool IsPause() const { return bPause; }
@@ -198,22 +198,25 @@ public:
void WindStart();
void WindEnd();
- void Wind( sal_uLong nAction );
+ void Wind( size_t nAction );
void WindPrev();
void WindNext();
- sal_uLong GetActionCount() const { return Count(); }
+ size_t GetActionSize() const;
+ size_t GetActionPos( const String& rLabel );
+
void AddAction( MetaAction* pAction );
- void AddAction( MetaAction* pAction, sal_uLong nPos );
- void RemoveAction( sal_uLong nPos );
- MetaAction* CopyAction( sal_uLong nPos ) const;
- MetaAction* GetCurAction() const { return (MetaAction*) GetCurObject(); }
- MetaAction* GetAction( sal_uLong nAction ) const { return (MetaAction*) GetObject( nAction ); }
- MetaAction* FirstAction() { return (MetaAction*) First(); }
- MetaAction* NextAction() { return (MetaAction*) Next(); }
- MetaAction* ReplaceAction( MetaAction* pAction, sal_uLong nAction ) { return (MetaAction*) Replace( pAction, nAction ); }
-
- sal_uLong GetActionPos( const String& rLabel );
+ void AddAction( MetaAction* pAction, size_t nPos );
+ void RemoveAction( size_t nPos );
+ void push_back( MetaAction* pAction );
+
+ MetaAction* FirstAction();
+ MetaAction* NextAction();
+ MetaAction* GetAction( size_t nAction ) const;
+ MetaAction* CopyAction( size_t nPos ) const;
+ MetaAction* GetCurAction() const { return GetAction( nCurrentActionElement ); }
+ MetaAction* ReplaceAction( MetaAction* pAction, sal_uLong nAction );
+
sal_Bool InsertLabel( const String& rLabel, sal_uLong nActionPos );
void RemoveLabel( const String& rLabel );
void RenameLabel( const String& rLabel, const String& rNewLabel );
diff --git a/vcl/inc/vcl/metaact.hxx b/vcl/inc/vcl/metaact.hxx
index acd2a41b08..7937592e74 100644
--- a/vcl/inc/vcl/metaact.hxx
+++ b/vcl/inc/vcl/metaact.hxx
@@ -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
diff --git a/vcl/source/gdi/cvtgrf.cxx b/vcl/source/gdi/cvtgrf.cxx
index a20fd2eb0c..42147218ee 100644
--- a/vcl/source/gdi/cvtgrf.cxx
+++ b/vcl/source/gdi/cvtgrf.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
@@ -76,7 +76,7 @@ sal_uLong GraphicConverter::ImplConvert( sal_uLong nInFormat, void* pInBuffer, s
SvMemoryStream aOStm( 64535, 64535 );
mpConvertData = new ConvertData( aGraphic, aOStm, nOutFormat );
-
+
if( maFilterHdl.IsSet() && maFilterHdl.Call( mpConvertData ) )
{
nRetBufSize = aOStm.Seek( STREAM_SEEK_TO_END );
@@ -94,7 +94,7 @@ sal_uLong GraphicConverter::ImplConvert( sal_uLong nInFormat, void* pInBuffer, s
aIStm.SetBuffer( (char*) pInBuffer, nInBufSize, sal_False, nInBufSize );
mpConvertData = new ConvertData( Graphic(), aIStm, nInFormat );
-
+
if( maFilterHdl.IsSet() && maFilterHdl.Call( mpConvertData ) )
{
SvMemoryStream aOStm( 645535, 64535 );
@@ -140,7 +140,7 @@ sal_uLong GraphicConverter::Import( SvStream& rIStm, Graphic& rGraphic, sal_uLon
if( pCvt && pCvt->GetFilterHdl().IsSet() )
{
ConvertData aData( rGraphic, rIStm, nFormat );
-
+
if( pCvt->GetFilterHdl().Call( &aData ) )
{
rGraphic = aData.maGraphic;
@@ -149,7 +149,7 @@ sal_uLong GraphicConverter::Import( SvStream& rIStm, Graphic& rGraphic, sal_uLon
else if( rIStm.GetError() )
nRet = rIStm.GetError();
}
-
+
return nRet;
}
@@ -163,13 +163,13 @@ sal_uLong GraphicConverter::Export( SvStream& rOStm, const Graphic& rGraphic, sa
if( pCvt && pCvt->GetFilterHdl().IsSet() )
{
ConvertData aData( rGraphic, rOStm, nFormat );
-
+
if( pCvt->GetFilterHdl().Call( &aData ) )
nRet = ERRCODE_NONE;
else if( rOStm.GetError() )
nRet = rOStm.GetError();
}
-
+
return nRet;
}
diff --git a/vcl/source/gdi/cvtsvm.cxx b/vcl/source/gdi/cvtsvm.cxx
index e1cd8be702..cc5e891c7f 100644
--- a/vcl/source/gdi/cvtsvm.cxx
+++ b/vcl/source/gdi/cvtsvm.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
@@ -337,7 +337,7 @@ void ImplReadUnicodeComment( sal_uInt32 nStrmPos, SvStream& rIStm, String& rStri
sal_uInt16 nType;
sal_uInt32 nActionSize;
xub_StrLen nStringLen;
-
+
rIStm.Seek( nStrmPos );
rIStm >> nType
>> nActionSize;
@@ -401,7 +401,7 @@ bool ImplWriteExtendedPolyPolygonAction(SvStream& rOStm, const PolyPolygon& rPol
if((bOnlyWhenCurve && nAllFlagCount) || (!bOnlyWhenCurve && nAllPointCount))
{
rOStm << (sal_Int16) GDI_EXTENDEDPOLYGON_ACTION;
-
+
const sal_Int32 nActionSize(
4 + // Action size
2 + // PolygonCount
@@ -528,7 +528,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
// check header-magic and version
if( rIStm.GetError()
- || ( memcmp( aCode, "SVGDI", sizeof( aCode ) ) != 0 )
+ || ( memcmp( aCode, "SVGDI", sizeof( aCode ) ) != 0 )
|| ( nVersion != 200 ) )
{
rIStm.SetError( SVSTREAM_FILEFORMAT_ERROR );
@@ -562,12 +562,12 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
rMtf.SetPrefSize( aPrefSz );
rMtf.SetPrefMapMode( aMapMode );
- sal_uInt32 nLastPolygonAction(0);
+ size_t nLastPolygonAction(0);
for( sal_Int32 i = 0L; i < nActions; i++ )
{
rIStm >> nType;
- sal_Int32 nActBegin = rIStm.Tell();
+ sal_Int32 nActBegin = rIStm.Tell();
rIStm >> nActionSize;
DBG_ASSERT( ( nType <= 33 ) || ( nType >= 1024 ), "Unknown GDIMetaAction while converting!" );
@@ -631,7 +631,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
ImplReadExtendedPolyPolygonAction(rIStm, aInputPolyPolygon);
// now check if it can be set somewhere
- if(nLastPolygonAction < rMtf.GetActionCount())
+ if(nLastPolygonAction < rMtf.GetActionSize())
{
MetaPolyLineAction* pPolyLineAction = dynamic_cast< MetaPolyLineAction* >(rMtf.GetAction(nLastPolygonAction));
@@ -644,7 +644,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
{
rMtf.ReplaceAction(
new MetaPolyLineAction(
- aInputPolyPolygon.GetObject(0),
+ aInputPolyPolygon.GetObject(0),
pPolyLineAction->GetLineInfo()),
nLastPolygonAction);
pPolyLineAction->Delete();
@@ -779,7 +779,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
case( GDI_POLYLINE_ACTION ):
{
ImplReadPoly( rIStm, aActionPoly );
- nLastPolygonAction = rMtf.GetActionCount();
+ nLastPolygonAction = rMtf.GetActionSize();
if( bFatLine )
rMtf.AddAction( new MetaPolyLineAction( aActionPoly, aLineInfo ) );
@@ -802,7 +802,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
}
else
{
- nLastPolygonAction = rMtf.GetActionCount();
+ nLastPolygonAction = rMtf.GetActionSize();
rMtf.AddAction( new MetaPolygonAction( aActionPoly ) );
}
}
@@ -826,7 +826,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
}
else
{
- nLastPolygonAction = rMtf.GetActionCount();
+ nLastPolygonAction = rMtf.GetActionSize();
rMtf.AddAction( new MetaPolyPolygonAction( aPolyPoly ) );
}
}
@@ -868,7 +868,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
eActualCharSet = aFont.GetCharSet();
if ( eActualCharSet == RTL_TEXTENCODING_DONTKNOW )
eActualCharSet = gsl_getSystemTextEncoding();
-
+
rMtf.AddAction( new MetaFontAction( aFont ) );
rMtf.AddAction( new MetaTextAlignAction( aFont.GetAlign() ) );
rMtf.AddAction( new MetaTextColorAction( aFont.GetColor() ) );
@@ -883,7 +883,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
{
ByteString aByteStr;
sal_Int32 nIndex, nLen;
-
+
rIStm >> aPt >> nIndex >> nLen >> nTmp;
if ( nTmp && ( static_cast< sal_uInt32 >( nTmp ) < ( SAL_MAX_UINT16 - 1 ) ) )
{
@@ -926,7 +926,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf )
sal_Int32* pTmpAry = new sal_Int32[nStrLen];
aFontVDev.GetTextArray( aStr, pTmpAry, (sal_uInt16) nIndex, (sal_uInt16) nLen );
-
+
// now, the difference between the
// last and the second last DX array
// is the advancement for the last
@@ -1425,7 +1425,7 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
rtl_TextEncoding& rActualCharSet )
{
sal_uLong nCount = 0;
- for( sal_uLong i = 0, nActionCount = rMtf.GetActionCount(); i < nActionCount; i++ )
+ for( size_t i = 0, nActionCount = rMtf.GetActionSize(); i < nActionCount; i++ )
{
const MetaAction* pAction = rMtf.GetAction( i );
@@ -1496,12 +1496,12 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
{
ImplWritePopAction( rOStm );
nCount += 3;
-
+
if(bLineJoin)
{
nCount += 1;
}
-
+
if(bLineDashDot)
{
nCount += 1;
@@ -1650,13 +1650,13 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
{
ImplWritePopAction( rOStm );
nCount += 3;
-
+
if(bLineJoin)
{
nCount += 1;
}
}
-
+
if(bLineDashDot)
{
nCount += 1;
@@ -1682,7 +1682,7 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
rOStm << aSimplePoly[ n ];
nCount++;
-
+
const PolyPolygon aPolyPolygon(pAct->GetPolygon());
if(ImplWriteExtendedPolyPolygonAction(rOStm, aPolyPolygon, true))
{
@@ -1696,7 +1696,7 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
MetaPolyPolygonAction* pAct = (MetaPolyPolygonAction*) pAction;
ImplWritePolyPolyAction( rOStm, pAct->GetPolyPolygon() );
nCount++;
-
+
if(ImplWriteExtendedPolyPolygonAction(rOStm, pAct->GetPolyPolygon(), true))
{
nCount++;
@@ -2379,8 +2379,8 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf,
rOStm.SeekRel( 4 );
// write data
- rOStm << rStartPt << nWidth <<
- static_cast<sal_uInt32>(eStrikeout) <<
+ rOStm << rStartPt << nWidth <<
+ static_cast<sal_uInt32>(eStrikeout) <<
static_cast<sal_uInt32>(eUnderline);
rOStm << (sal_Int32) 0; // number of actions that follow this comment
diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx
index 5c787bb1f6..37638d5acd 100644
--- a/vcl/source/gdi/gdimtf.cxx
+++ b/vcl/source/gdi/gdimtf.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
@@ -31,6 +31,7 @@
#include <rtl/crc.h>
#include <tools/stream.hxx>
#include <tools/vcompat.hxx>
+#include <tools/list.hxx>
#include <vcl/metaact.hxx>
#include <vcl/salbtype.hxx>
#include <vcl/outdev.hxx>
@@ -209,7 +210,6 @@ sal_uLong ImpLabelList::ImplGetLabelPos( const String& rLabelName )
// ---------------
GDIMetaFile::GDIMetaFile() :
- List ( 0x3EFF, 64, 64 ),
aPrefSize ( 1, 1 ),
pPrev ( NULL ),
pNext ( NULL ),
@@ -224,7 +224,6 @@ GDIMetaFile::GDIMetaFile() :
// ------------------------------------------------------------------------
GDIMetaFile::GDIMetaFile( const GDIMetaFile& rMtf ) :
- List ( rMtf ),
aPrefMapMode ( rMtf.aPrefMapMode ),
aPrefSize ( rMtf.aPrefSize ),
aHookHdlLink ( rMtf.aHookHdlLink ),
@@ -236,8 +235,11 @@ GDIMetaFile::GDIMetaFile( const GDIMetaFile& rMtf ) :
bUseCanvas ( rMtf.bUseCanvas )
{
// RefCount der MetaActions erhoehen
- for( void* pAct = First(); pAct; pAct = Next() )
- ( (MetaAction*) pAct )->Duplicate();
+ for( size_t i = 0, n = rMtf.GetActionSize(); i < n; ++i )
+ {
+ rMtf.GetAction( i )->Duplicate();
+ aList.push_back( rMtf.GetAction( i ) );
+ }
if( rMtf.pLabelList )
pLabelList = new ImpLabelList( *rMtf.pLabelList );
@@ -262,17 +264,62 @@ GDIMetaFile::~GDIMetaFile()
// ------------------------------------------------------------------------
+size_t GDIMetaFile::GetActionSize() const
+{
+ return aList.size();
+}
+
+// ------------------------------------------------------------------------
+
+MetaAction* GDIMetaFile::GetAction( size_t nAction ) const
+{
+ return (nAction < aList.size()) ? aList[ nAction ] : NULL;
+}
+
+// ------------------------------------------------------------------------
+
+MetaAction* GDIMetaFile::FirstAction()
+{
+ nCurrentActionElement = 0;
+ return aList.empty() ? NULL : aList[ 0 ];
+}
+
+// ------------------------------------------------------------------------
+
+MetaAction* GDIMetaFile::NextAction()
+{
+ return ( nCurrentActionElement + 1 < aList.size() ) ? aList[ ++nCurrentActionElement ] : NULL;
+}
+
+// ------------------------------------------------------------------------
+
+MetaAction* GDIMetaFile::ReplaceAction( MetaAction* pAction, size_t nAction )
+{
+ if ( nAction < aList.size() )
+ {
+ ::std::vector< MetaAction* >::iterator it = aList.begin();
+ ::std::advance( it, nAction );
+ (*it)->Delete();
+ *it = pAction;
+ }
+ return pAction;
+}
+
+
+// ------------------------------------------------------------------------
+
GDIMetaFile& GDIMetaFile::operator=( const GDIMetaFile& rMtf )
{
if( this != &rMtf )
{
Clear();
- List::operator=( rMtf );
-
// RefCount der MetaActions erhoehen
- for( void* pAct = First(); pAct; pAct = Next() )
- ( (MetaAction*) pAct )->Duplicate();
+ for( size_t i = 0, n = rMtf.GetActionSize(); i < n; ++i )
+ {
+ rMtf.GetAction( i )->Duplicate();
+ aList.push_back( rMtf.GetAction( i ) );
+ }
if( rMtf.pLabelList )
pLabelList = new ImpLabelList( *rMtf.pLabelList );
@@ -305,20 +352,20 @@ GDIMetaFile& GDIMetaFile::operator=( const GDIMetaFile& rMtf )
sal_Bool GDIMetaFile::operator==( const GDIMetaFile& rMtf ) const
{
- const sal_uLong nObjCount = Count();
- sal_Bool bRet = sal_False;
+ const size_t nObjCount = aList.size();
+ sal_Bool bRet = sal_False;
if( this == &rMtf )
bRet = sal_True;
- else if( rMtf.GetActionCount() == nObjCount &&
- rMtf.GetPrefSize() == aPrefSize &&
+ else if( rMtf.GetActionSize() == nObjCount &&
+ rMtf.GetPrefSize() == aPrefSize &&
rMtf.GetPrefMapMode() == aPrefMapMode )
{
bRet = sal_True;
- for( sal_uLong n = 0UL; n < nObjCount; n++ )
+ for( size_t n = 0; n < nObjCount; n++ )
{
- if( GetObject( n ) != rMtf.GetObject( n ) )
+ if( aList[ n ] != rMtf.GetAction( n ) )
{
bRet = sal_False;
break;
@@ -333,20 +380,20 @@ sal_Bool GDIMetaFile::operator==( const GDIMetaFile& rMtf ) const
sal_Bool GDIMetaFile::IsEqual( const GDIMetaFile& rMtf ) const
{
- const sal_uLong nObjCount = Count();
+ const size_t nObjCount = aList.size();
sal_Bool bRet = sal_False;
if( this == &rMtf )
bRet = sal_True;
- else if( rMtf.GetActionCount() == nObjCount &&
- rMtf.GetPrefSize() == aPrefSize &&
+ else if( rMtf.GetActionSize() == nObjCount &&
+ rMtf.GetPrefSize() == aPrefSize &&
rMtf.GetPrefMapMode() == aPrefMapMode )
{
bRet = sal_True;
- for( sal_uLong n = 0UL; n < nObjCount; n++ )
+ for( size_t n = 0; n < nObjCount; n++ )
{
- if(!((MetaAction*)GetObject( n ))->IsEqual(*((MetaAction*)rMtf.GetObject( n ))))
+ if( !aList[ n ]->IsEqual( *(rMtf.GetAction( n )) ) )
{
bRet = sal_False;
break;
@@ -364,10 +411,9 @@ void GDIMetaFile::Clear()
if( bRecord )
Stop();
- for( void* pAct = First(); pAct; pAct = Next() )
- ( (MetaAction*) pAct )->Delete();
-
- List::Clear();
+ for( size_t i = 0, n = aList.size(); i < n; ++i )
+ aList[ i ]->Delete();
+ aList.clear();
delete pLabelList;
pLabelList = NULL;
@@ -422,7 +468,7 @@ void GDIMetaFile::Record( OutputDevice* pOut )
if( bRecord )
Stop();
- Last();
+ nCurrentActionElement = aList.empty() ? 0 : (aList.size() - 1);
pOutDev = pOut;
bRecord = sal_True;
Linker( pOut, sal_True );
@@ -430,19 +476,19 @@ void GDIMetaFile::Record( OutputDevice* pOut )
// ------------------------------------------------------------------------
-void GDIMetaFile::Play( GDIMetaFile& rMtf, sal_uLong nPos )
+void GDIMetaFile::Play( GDIMetaFile& rMtf, size_t nPos )
{
if ( !bRecord && !rMtf.bRecord )
{
MetaAction* pAction = GetCurAction();
- const sal_uLong nObjCount = Count();
+ const size_t nObjCount = aList.size();
rMtf.UseCanvas( rMtf.GetUseCanvas() || bUseCanvas );
if( nPos > nObjCount )
nPos = nObjCount;
- for( sal_uLong nCurPos = GetCurPos(); nCurPos < nPos; nCurPos++ )
+ for( size_t nCurPos = nCurrentActionElement; nCurPos < nPos; nCurPos++ )
{
if( !Hook() )
{
@@ -450,20 +496,21 @@ void GDIMetaFile::Play( GDIMetaFile& rMtf, sal_uLong nPos )
rMtf.AddAction( pAction );
}
- pAction = (MetaAction*) Next();
+ pAction = NextAction();
}
}
}
// ------------------------------------------------------------------------
-void GDIMetaFile::Play( OutputDevice* pOut, sal_uLong nPos )
+void GDIMetaFile::Play( OutputDevice* pOut, size_t nPos )
{
if( !bRecord )
{
MetaAction* pAction = GetCurAction();
- const sal_uLong nObjCount = Count();
- sal_uLong i = 0, nSyncCount = ( pOut->GetOutDevType() == OUTDEV_WINDOW ) ? 0x000000ff : 0xffffffff;
+ const size_t nObjCount = aList.size();
+ size_t i = 0;
+ size_t nSyncCount = ( pOut->GetOutDevType() == OUTDEV_WINDOW ) ? 0x000000ff : 0xffffffff;
if( nPos > nObjCount )
nPos = nObjCount;
@@ -476,7 +523,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, sal_uLong nPos )
pOut->SetLayoutMode( 0 );
pOut->SetDigitLanguage( 0 );
- for( sal_uLong nCurPos = GetCurPos(); nCurPos < nPos; nCurPos++ )
+ for( size_t nCurPos = nCurrentActionElement; nCurPos < nPos; nCurPos++ )
{
if( !Hook() )
{
@@ -496,7 +543,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, sal_uLong nPos )
( (Window*) pOut )->Flush(), i = 0;
}
- pAction = (MetaAction*) Next();
+ pAction = NextAction();
}
pOut->Pop();
@@ -680,7 +727,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, const Point& rPos,
aScaleX *= aDrawMap.GetScaleX(); aDrawMap.SetScaleX( aScaleX );
aScaleY *= aDrawMap.GetScaleY(); aDrawMap.SetScaleY( aScaleY );
-
+
// #i47260# Convert logical output position to offset within
// the metafile's mapmode. Therefore, disable pixel offset on
// outdev, it's inverse mnOutOffLogicX/Y is calculated for a
@@ -758,7 +805,7 @@ void GDIMetaFile::Stop()
void GDIMetaFile::WindStart()
{
if( !bRecord )
- First();
+ nCurrentActionElement = 0;
}
// ------------------------------------------------------------------------
@@ -766,15 +813,15 @@ void GDIMetaFile::WindStart()
void GDIMetaFile::WindEnd()
{
if( !bRecord )
- Last();
+ nCurrentActionElement = aList.empty() ? 0 : (aList.size() - 1);
}
// ------------------------------------------------------------------------
-void GDIMetaFile::Wind( sal_uLong nActionPos )
+void GDIMetaFile::Wind( size_t nActionPos )
{
if( !bRecord )
- Seek( nActionPos );
+ nCurrentActionElement = nActionPos < aList.size() ? nActionPos : nCurrentActionElement;
}
// ------------------------------------------------------------------------
@@ -782,7 +829,7 @@ void GDIMetaFile::Wind( sal_uLong nActionPos )
void GDIMetaFile::WindPrev()
{
if( !bRecord )
- Prev();
+ nCurrentActionElement = ( nCurrentActionElement > 0 ) ? --nCurrentActionElement : 0;
}
// ------------------------------------------------------------------------
@@ -790,14 +837,15 @@ void GDIMetaFile::WindPrev()
void GDIMetaFile::WindNext()
{
if( !bRecord )
- Next();
+ if ( nCurrentActionElement + 1 < aList.size() )
+ ++nCurrentActionElement;
}
// ------------------------------------------------------------------------
void GDIMetaFile::AddAction( MetaAction* pAction )
{
- Insert( pAction, LIST_APPEND );
+ aList.push_back( pAction );
if( pPrev )
{
@@ -808,9 +856,18 @@ void GDIMetaFile::AddAction( MetaAction* pAction )
// ------------------------------------------------------------------------
-void GDIMetaFile::AddAction( MetaAction* pAction, sal_uLong nPos )
+void GDIMetaFile::AddAction( MetaAction* pAction, size_t nPos )
{
- Insert( pAction, nPos );
+ if ( nPos < aList.size() )
+ {
+ ::std::vector< MetaAction* >::iterator it = aList.begin();
+ ::std::advance( it, nPos );
+ aList.insert( it, pAction );
+ }
+ else
+ {
+ aList.push_back( pAction );
+ }
if( pPrev )
{
@@ -821,10 +878,24 @@ void GDIMetaFile::AddAction( MetaAction* pAction, sal_uLong nPos )
// ------------------------------------------------------------------------
+void GDIMetaFile::push_back( MetaAction* pAction )
+{
+ aList.push_back( pAction );
+}
+
+// ------------------------------------------------------------------------
+
// @since #110496#
-void GDIMetaFile::RemoveAction( sal_uLong nPos )
+void GDIMetaFile::RemoveAction( size_t nPos )
{
- Remove( nPos );
+ if ( nPos < aList.size() )
+ {
+ ::std::vector< MetaAction* >::iterator it = aList.begin();
+ ::std::advance( it, nPos );
+ (*it)->Delete();
+ aList.erase( it );
+
+ }
if( pPrev )
pPrev->RemoveAction( nPos );
@@ -832,9 +903,9 @@ void GDIMetaFile::RemoveAction( sal_uLong nPos )
// ------------------------------------------------------------------------
-MetaAction* GDIMetaFile::CopyAction( sal_uLong nPos ) const
+MetaAction* GDIMetaFile::CopyAction( size_t nPos ) const
{
- return ( (MetaAction*) GetObject( nPos ) )->Clone();
+ return ( nPos < aList.size() ) ? aList[ nPos ]->Clone() : NULL;
}
// ------------------------------------------------------------------------
@@ -997,21 +1068,21 @@ void GDIMetaFile::Move( long nX, long nY )
aMapVDev.EnableOutput( sal_False );
aMapVDev.SetMapMode( GetPrefMapMode() );
-
- for( MetaAction* pAct = (MetaAction*) First(); pAct; pAct = (MetaAction*) Next() )
+
+ for( MetaAction* pAct = FirstAction(); pAct; pAct = NextAction() )
{
const long nType = pAct->GetType();
MetaAction* pModAct;
if( pAct->GetRefCount() > 1 )
{
- Replace( pModAct = pAct->Clone(), GetCurPos() );
+ aList[ nCurrentActionElement ] = pModAct = pAct->Clone();
pAct->Delete();
}
else
pModAct = pAct;
- if( ( META_MAPMODE_ACTION == nType ) ||
+ if( ( META_MAPMODE_ACTION == nType ) ||
( META_PUSH_ACTION == nType ) ||
( META_POP_ACTION == nType ) )
{
@@ -1032,21 +1103,21 @@ void GDIMetaFile::Move( long nX, long nY, long nDPIX, long nDPIY )
aMapVDev.EnableOutput( sal_False );
aMapVDev.SetReferenceDevice( nDPIX, nDPIY );
aMapVDev.SetMapMode( GetPrefMapMode() );
-
- for( MetaAction* pAct = (MetaAction*) First(); pAct; pAct = (MetaAction*) Next() )
+
+ for( MetaAction* pAct = FirstAction(); pAct; pAct = NextAction() )
{
const long nType = pAct->GetType();
MetaAction* pModAct;
if( pAct->GetRefCount() > 1 )
{
- Replace( pModAct = pAct->Clone(), GetCurPos() );
+ aList[ nCurrentActionElement ] = pModAct = pAct->Clone();
pAct->Delete();
}
else
pModAct = pAct;
- if( ( META_MAPMODE_ACTION == nType ) ||
+ if( ( META_MAPMODE_ACTION == nType ) ||
( META_PUSH_ACTION == nType ) ||
( META_POP_ACTION == nType ) )
{
@@ -1070,13 +1141,13 @@ void GDIMetaFile::Move( long nX, long nY, long nDPIX, long nDPIY )
void GDIMetaFile::Scale( double fScaleX, double fScaleY )
{
- for( MetaAction* pAct = (MetaAction*) First(); pAct; pAct = (MetaAction*) Next() )
+ for( MetaAction* pAct = FirstAction(); pAct; pAct = NextAction() )
{
MetaAction* pModAct;
if( pAct->GetRefCount() > 1 )
{
- Replace( pModAct = pAct->Clone(), GetCurPos() );
+ aList[ nCurrentActionElement ] = pModAct = pAct->Clone();
pAct->Delete();
}
else
@@ -1106,11 +1177,11 @@ void GDIMetaFile::Clip( const Rectangle& i_rClipRect )
aMapVDev.EnableOutput( sal_False );
aMapVDev.SetMapMode( GetPrefMapMode() );
- for( MetaAction* pAct = (MetaAction*) First(); pAct; pAct = (MetaAction*) Next() )
+ for( MetaAction* pAct = FirstAction(); pAct; pAct = NextAction() )
{
const long nType = pAct->GetType();
- if( ( META_MAPMODE_ACTION == nType ) ||
+ if( ( META_MAPMODE_ACTION == nType ) ||
( META_PUSH_ACTION == nType ) ||
( META_POP_ACTION == nType ) )
{
@@ -1124,7 +1195,7 @@ void GDIMetaFile::Clip( const Rectangle& i_rClipRect )
if( pOldAct->IsClipping() )
aNewReg.Intersect( pOldAct->GetRegion() );
MetaClipRegionAction* pNewAct = new MetaClipRegionAction( aNewReg, sal_True );
- Replace( pNewAct, GetCurPos() );
+ aList[ nCurrentActionElement ] = pNewAct;
pOldAct->Delete();
}
}
@@ -1144,7 +1215,7 @@ Point GDIMetaFile::ImplGetRotatedPoint( const Point& rPt, const Point& rRotatePt
// ------------------------------------------------------------------------
-Polygon GDIMetaFile::ImplGetRotatedPolygon( const Polygon& rPoly, const Point& rRotatePt,
+Polygon GDIMetaFile::ImplGetRotatedPolygon( const Polygon& rPoly, const Point& rRotatePt,
const Size& rOffset, double fSin, double fCos )
{
Polygon aRet( rPoly );
@@ -1157,7 +1228,7 @@ Polygon GDIMetaFile::ImplGetRotatedPolygon( const Polygon& rPoly, const Point& r
// ------------------------------------------------------------------------
-PolyPolygon GDIMetaFile::ImplGetRotatedPolyPolygon( const PolyPolygon& rPolyPoly, const Point& rRotatePt,
+PolyPolygon GDIMetaFile::ImplGetRotatedPolyPolygon( const PolyPolygon& rPolyPoly, const Point& rRotatePt,
const Size& rOffset, double fSin, double fCos )
{
PolyPolygon aRet( rPolyPoly );
@@ -1170,7 +1241,7 @@ PolyPolygon GDIMetaFile::ImplGetRotatedPolyPolygon( const PolyPolygon& rPolyPoly
// ------------------------------------------------------------------------
-void GDIMetaFile::ImplAddGradientEx( GDIMetaFile& rMtf,
+void GDIMetaFile::ImplAddGradientEx( GDIMetaFile& rMtf,
const OutputDevice& rMapDev,
const PolyPolygon& rPolyPoly,
const Gradient& rGrad )
@@ -1185,10 +1256,10 @@ void GDIMetaFile::ImplAddGradientEx( GDIMetaFile& rMtf,
aVDev.DrawGradient( rPolyPoly, rGrad );
aGradMtf.Stop();
- int i, nAct( aGradMtf.GetActionCount() );
- for( i=0; i<nAct; ++i )
+ size_t i, nAct( aGradMtf.GetActionSize() );
+ for( i=0; i < nAct; ++i )
{
- MetaAction* pMetaAct = aGradMtf.GetAction(i);
+ MetaAction* pMetaAct = aGradMtf.GetAction( i );
pMetaAct->Duplicate();
rMtf.AddAction( pMetaAct );
}
@@ -1217,14 +1288,14 @@ void GDIMetaFile::Rotate( long nAngle10 )
aMapVDev.SetMapMode( GetPrefMapMode() );
const Rectangle aNewBound( aPoly.GetBoundRect() );
-
+
const Point aOrigin( GetPrefMapMode().GetOrigin().X(), GetPrefMapMode().GetOrigin().Y() );
const Size aOffset( -aNewBound.Left(), -aNewBound.Top() );
-
+
Point aRotAnchor( aOrigin );
Size aRotOffset( aOffset );
- for( MetaAction* pAction = (MetaAction*) First(); pAction; pAction = (MetaAction*) Next() )
+ for( MetaAction* pAction = FirstAction(); pAction; pAction = NextAction() )
{
const sal_uInt16 nActionType = pAction->GetType();
@@ -1233,8 +1304,8 @@ void GDIMetaFile::Rotate( long nAngle10 )
case( META_PIXEL_ACTION ):
{
MetaPixelAction* pAct = (MetaPixelAction*) pAction;
- aMtf.AddAction( new MetaPixelAction( ImplGetRotatedPoint( pAct->GetPoint(), aRotAnchor, aRotOffset, fSin, fCos ),
- pAct->GetColor() ) );
+ aMtf.AddAction( new MetaPixelAction( ImplGetRotatedPoint( pAct->GetPoint(), aRotAnchor, aRotOffset, fSin, fCos ),
+ pAct->GetColor() ) );
}
break;
@@ -1248,60 +1319,60 @@ void GDIMetaFile::Rotate( long nAngle10 )
case( META_LINE_ACTION ):
{
MetaLineAction* pAct = (MetaLineAction*) pAction;
- aMtf.AddAction( new MetaLineAction( ImplGetRotatedPoint( pAct->GetStartPoint(), aRotAnchor, aRotOffset, fSin, fCos ),
+ aMtf.AddAction( new MetaLineAction( ImplGetRotatedPoint( pAct->GetStartPoint(), aRotAnchor, aRotOffset, fSin, fCos ),
ImplGetRotatedPoint( pAct->GetEndPoint(), aRotAnchor, aRotOffset, fSin, fCos ),
pAct->GetLineInfo() ) );
}
break;
-
+
case( META_RECT_ACTION ):
{
MetaRectAction* pAct = (MetaRectAction*) pAction;
- aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( pAct->GetRect(), aRotAnchor, aRotOffset, fSin, fCos ) ) );
+ aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( pAct->GetRect(), aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
-
+
case( META_ROUNDRECT_ACTION ):
{
MetaRoundRectAction* pAct = (MetaRoundRectAction*) pAction;
const Polygon aRoundRectPoly( pAct->GetRect(), pAct->GetHorzRound(), pAct->GetVertRound() );
-
- aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aRoundRectPoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
+
+ aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aRoundRectPoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
-
+
case( META_ELLIPSE_ACTION ):
{
MetaEllipseAction* pAct = (MetaEllipseAction*) pAction;
const Polygon aEllipsePoly( pAct->GetRect().Center(), pAct->GetRect().GetWidth() >> 1, pAct->GetRect().GetHeight() >> 1 );
-
- aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aEllipsePoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
+
+ aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aEllipsePoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
-
+
case( META_ARC_ACTION ):
{
MetaArcAction* pAct = (MetaArcAction*) pAction;
const Polygon aArcPoly( pAct->GetRect(), pAct->GetStartPoint(), pAct->GetEndPoint(), POLY_ARC );
-
+
aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aArcPoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
-
+
case( META_PIE_ACTION ):
{
MetaPieAction* pAct = (MetaPieAction*) pAction;
const Polygon aPiePoly( pAct->GetRect(), pAct->GetStartPoint(), pAct->GetEndPoint(), POLY_PIE );
-
+
aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aPiePoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
-
+
case( META_CHORD_ACTION ):
{
MetaChordAction* pAct = (MetaChordAction*) pAction;
const Polygon aChordPoly( pAct->GetRect(), pAct->GetStartPoint(), pAct->GetEndPoint(), POLY_CHORD );
-
+
aMtf.AddAction( new MetaPolygonAction( ImplGetRotatedPolygon( aChordPoly, aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
@@ -1342,7 +1413,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
pAct->GetText(), pAct->GetDXArray(), pAct->GetIndex(), pAct->GetLen() ) );
}
break;
-
+
case( META_STRETCHTEXT_ACTION ):
{
MetaStretchTextAction* pAct = (MetaStretchTextAction*) pAction;
@@ -1350,7 +1421,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
pAct->GetWidth(), pAct->GetText(), pAct->GetIndex(), pAct->GetLen() ) );
}
break;
-
+
case( META_TEXTLINE_ACTION ):
{
MetaTextLineAction* pAct = (MetaTextLineAction*) pAction;
@@ -1366,8 +1437,8 @@ void GDIMetaFile::Rotate( long nAngle10 )
Rectangle aBmpRect( aBmpPoly.GetBoundRect() );
BitmapEx aBmpEx( pAct->GetBitmap() );
- aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
- aMtf.AddAction( new MetaBmpExScaleAction( aBmpRect.TopLeft(), aBmpRect.GetSize(),
+ aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
+ aMtf.AddAction( new MetaBmpExScaleAction( aBmpRect.TopLeft(), aBmpRect.GetSize(),
aBmpEx ) );
}
break;
@@ -1381,7 +1452,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
aBmpEx.Crop( Rectangle( pAct->GetSrcPoint(), pAct->GetSrcSize() ) );
aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
-
+
aMtf.AddAction( new MetaBmpExScaleAction( aBmpRect.TopLeft(), aBmpRect.GetSize(), aBmpEx ) );
}
break;
@@ -1393,8 +1464,8 @@ void GDIMetaFile::Rotate( long nAngle10 )
Rectangle aBmpRect( aBmpPoly.GetBoundRect() );
BitmapEx aBmpEx( pAct->GetBitmapEx() );
- aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
-
+ aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
+
aMtf.AddAction( new MetaBmpExScaleAction( aBmpRect.TopLeft(), aBmpRect.GetSize(), aBmpEx ) );
}
break;
@@ -1408,7 +1479,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
aBmpEx.Crop( Rectangle( pAct->GetSrcPoint(), pAct->GetSrcSize() ) );
aBmpEx.Rotate( nAngle10, Color( COL_TRANSPARENT ) );
-
+
aMtf.AddAction( new MetaBmpExScaleAction( aBmpRect.TopLeft(), aBmpRect.GetSize(), aBmpEx ) );
}
break;
@@ -1417,7 +1488,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
{
MetaGradientAction* pAct = (MetaGradientAction*) pAction;
- ImplAddGradientEx( aMtf, aMapVDev,
+ ImplAddGradientEx( aMtf, aMapVDev,
ImplGetRotatedPolygon( pAct->GetRect(), aRotAnchor, aRotOffset, fSin, fCos ),
pAct->GetGradient() );
}
@@ -1438,18 +1509,18 @@ void GDIMetaFile::Rotate( long nAngle10 )
if( pCommentAct->GetComment().Equals( "XGRAD_SEQ_BEGIN" ) )
{
int nBeginComments( 1 );
- pAction = (MetaAction*) Next();
-
+ pAction = NextAction();
+
// skip everything, except gradientex action
while( pAction )
{
const sal_uInt16 nType = pAction->GetType();
-
+
if( META_GRADIENTEX_ACTION == nType )
{
// Add rotated gradientex
MetaGradientExAction* pAct = (MetaGradientExAction*) pAction;
- ImplAddGradientEx( aMtf, aMapVDev,
+ ImplAddGradientEx( aMtf, aMapVDev,
ImplGetRotatedPolyPolygon( pAct->GetPolyPolygon(), aRotAnchor, aRotOffset, fSin, fCos ),
pAct->GetGradient() );
}
@@ -1473,7 +1544,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
}
- pAction = (MetaAction*) Next();
+ pAction =NextAction();
}
}
else
@@ -1526,7 +1597,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
Hatch aHatch( pAct->GetHatch() );
aHatch.SetAngle( aHatch.GetAngle() + (sal_uInt16) nAngle10 );
- aMtf.AddAction( new MetaHatchAction( ImplGetRotatedPolyPolygon( pAct->GetPolyPolygon(), aRotAnchor, aRotOffset, fSin, fCos ),
+ aMtf.AddAction( new MetaHatchAction( ImplGetRotatedPolyPolygon( pAct->GetPolyPolygon(), aRotAnchor, aRotOffset, fSin, fCos ),
aHatch ) );
}
break;
@@ -1547,7 +1618,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
Rectangle aMtfRect( aMtfPoly.GetBoundRect() );
aTransMtf.Rotate( nAngle10 );
- aMtf.AddAction( new MetaFloatTransparentAction( aTransMtf, aMtfRect.TopLeft(), aMtfRect.GetSize(),
+ aMtf.AddAction( new MetaFloatTransparentAction( aTransMtf, aMtfRect.TopLeft(), aMtfRect.GetSize(),
pAct->GetGradient() ) );
}
break;
@@ -1582,7 +1653,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
case( META_ISECTRECTCLIPREGION_ACTION ):
{
MetaISectRectClipRegionAction* pAct = (MetaISectRectClipRegionAction*) pAction;
- aMtf.AddAction( new MetaISectRegionClipRegionAction( ImplGetRotatedPolygon( pAct->GetRect(), aRotAnchor, aRotOffset, fSin, fCos ) ) );
+ aMtf.AddAction( new MetaISectRegionClipRegionAction( ImplGetRotatedPolygon( pAct->GetRect(), aRotAnchor, aRotOffset, fSin, fCos ) ) );
}
break;
@@ -1638,7 +1709,7 @@ void GDIMetaFile::Rotate( long nAngle10 )
aMtf.AddAction( pAction );
// update rotation point and offset, if necessary
- if( ( META_MAPMODE_ACTION == nActionType ) ||
+ if( ( META_MAPMODE_ACTION == nActionType ) ||
( META_PUSH_ACTION == nActionType ) ||
( META_POP_ACTION == nActionType ) )
{
@@ -1679,19 +1750,19 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
{
GDIMetaFile aMtf;
VirtualDevice aMapVDev( i_rReference );
-
+
aMapVDev.EnableOutput( sal_False );
aMapVDev.SetMapMode( GetPrefMapMode() );
-
+
std::vector<Rectangle> aClipStack( 1, Rectangle() );
std::vector<sal_uInt16> aPushFlagStack;
-
+
Rectangle aBound;
-
- for( MetaAction* pAction = (MetaAction*) First(); pAction; pAction = (MetaAction*) Next() )
+
+ for( MetaAction* pAction = FirstAction(); pAction; pAction = NextAction() )
{
const sal_uInt16 nActionType = pAction->GetType();
-
+
switch( nActionType )
{
case( META_PIXEL_ACTION ):
@@ -1703,7 +1774,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aClipStack );
}
break;
-
+
case( META_POINT_ACTION ):
{
MetaPointAction* pAct = (MetaPointAction*) pAction;
@@ -1713,7 +1784,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aClipStack );
}
break;
-
+
case( META_LINE_ACTION ):
{
MetaLineAction* pAct = (MetaLineAction*) pAction;
@@ -1723,28 +1794,28 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_RECT_ACTION ):
{
MetaRectAction* pAct = (MetaRectAction*) pAction;
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_ROUNDRECT_ACTION ):
{
MetaRoundRectAction* pAct = (MetaRoundRectAction*) pAction;
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_ELLIPSE_ACTION ):
{
MetaEllipseAction* pAct = (MetaEllipseAction*) pAction;
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_ARC_ACTION ):
{
MetaArcAction* pAct = (MetaArcAction*) pAction;
@@ -1753,7 +1824,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_PIE_ACTION ):
{
MetaPieAction* pAct = (MetaPieAction*) pAction;
@@ -1762,7 +1833,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_CHORD_ACTION ):
{
MetaChordAction* pAct = (MetaChordAction*) pAction;
@@ -1771,7 +1842,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( pAct->GetRect(), aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_POLYLINE_ACTION ):
{
MetaPolyLineAction* pAct = (MetaPolyLineAction*) pAction;
@@ -1779,7 +1850,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_POLYGON_ACTION ):
{
MetaPolygonAction* pAct = (MetaPolygonAction*) pAction;
@@ -1787,7 +1858,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_POLYPOLYGON_ACTION ):
{
MetaPolyPolygonAction* pAct = (MetaPolyPolygonAction*) pAction;
@@ -1795,7 +1866,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_TEXT_ACTION ):
{
MetaTextAction* pAct = (MetaTextAction*) pAction;
@@ -1807,7 +1878,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_TEXTARRAY_ACTION ):
{
MetaTextArrayAction* pAct = (MetaTextArrayAction*) pAction;
@@ -1820,10 +1891,10 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_STRETCHTEXT_ACTION ):
{
- MetaStretchTextAction* pAct = (MetaStretchTextAction*) pAction;
+ MetaStretchTextAction* pAct = (MetaStretchTextAction*) pAction;
Rectangle aRect;
// hdu said base = index
aMapVDev.GetTextBoundRect( aRect, pAct->GetText(), pAct->GetIndex(), pAct->GetIndex(), pAct->GetLen(),
@@ -1833,14 +1904,14 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_TEXTLINE_ACTION ):
{
MetaTextLineAction* pAct = (MetaTextLineAction*) pAction;
// measure a test string to get ascend and descent right
static const sal_Unicode pStr[] = { 0xc4, 0x67, 0 };
String aStr( pStr );
-
+
Rectangle aRect;
aMapVDev.GetTextBoundRect( aRect, aStr, 0, 0, aStr.Len(), 0, NULL );
Point aPt( pAct->GetStartPoint() );
@@ -1849,7 +1920,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_BMPSCALE_ACTION ):
{
MetaBmpScaleAction* pAct = (MetaBmpScaleAction*) pAction;
@@ -1857,7 +1928,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_BMPSCALEPART_ACTION ):
{
MetaBmpScalePartAction* pAct = (MetaBmpScalePartAction*) pAction;
@@ -1865,7 +1936,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_BMPEXSCALE_ACTION ):
{
MetaBmpExScaleAction* pAct = (MetaBmpExScaleAction*) pAction;
@@ -1873,7 +1944,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_BMPEXSCALEPART_ACTION ):
{
MetaBmpExScalePartAction* pAct = (MetaBmpExScalePartAction*) pAction;
@@ -1881,7 +1952,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_GRADIENT_ACTION ):
{
MetaGradientAction* pAct = (MetaGradientAction*) pAction;
@@ -1889,7 +1960,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_GRADIENTEX_ACTION ):
{
MetaGradientExAction* pAct = (MetaGradientExAction*) pAction;
@@ -1897,13 +1968,13 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_COMMENT_ACTION ):
{
// nothing to do
};
break;
-
+
case( META_HATCH_ACTION ):
{
MetaHatchAction* pAct = (MetaHatchAction*) pAction;
@@ -1911,7 +1982,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_TRANSPARENT_ACTION ):
{
MetaTransparentAction* pAct = (MetaTransparentAction*) pAction;
@@ -1919,7 +1990,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_FLOATTRANSPARENT_ACTION ):
{
MetaFloatTransparentAction* pAct = (MetaFloatTransparentAction*) pAction;
@@ -1937,14 +2008,14 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aRect.Right() = long(double(aRect.Right())*fX);
aRect.Top() = long(double(aRect.Top())*fY);
aRect.Bottom() = long(double(aRect.Bottom())*fY);
-
+
// transform the rect to current VDev state
aRect = aMapVDev.LogicToLogic( aRect, aTransMtf.GetPrefMapMode(), aMapVDev.GetMapMode() );
-
+
ImplActionBounds( aBound, aRect, aClipStack );
}
break;
-
+
case( META_EPS_ACTION ):
{
MetaEPSAction* pAct = (MetaEPSAction*) pAction;
@@ -1952,7 +2023,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_CLIPREGION_ACTION ):
{
MetaClipRegionAction* pAct = (MetaClipRegionAction*) pAction;
@@ -1962,7 +2033,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aClipStack.back() = Rectangle();
}
break;
-
+
case( META_ISECTRECTCLIPREGION_ACTION ):
{
MetaISectRectClipRegionAction* pAct = (MetaISectRectClipRegionAction*) pAction;
@@ -1973,7 +2044,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aClipStack.back().Intersection( aRect );
}
break;
-
+
case( META_ISECTREGIONCLIPREGION_ACTION ):
{
MetaISectRegionClipRegionAction* pAct = (MetaISectRegionClipRegionAction*) pAction;
@@ -1984,7 +2055,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
aClipStack.back().Intersection( aRect );
}
break;
-
+
case( META_BMP_ACTION ):
{
MetaBmpAction* pAct = (MetaBmpAction*) pAction;
@@ -1992,7 +2063,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_BMPEX_ACTION ):
{
MetaBmpExAction* pAct = (MetaBmpExAction*) pAction;
@@ -2000,7 +2071,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_MASK_ACTION ):
{
MetaMaskAction* pAct = (MetaMaskAction*) pAction;
@@ -2008,7 +2079,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_MASKSCALE_ACTION ):
{
MetaMaskScalePartAction* pAct = (MetaMaskScalePartAction*) pAction;
@@ -2016,7 +2087,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_MASKSCALEPART_ACTION ):
{
MetaMaskScalePartAction* pAct = (MetaMaskScalePartAction*) pAction;
@@ -2024,7 +2095,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_WALLPAPER_ACTION ):
{
MetaWallpaperAction* pAct = (MetaWallpaperAction*) pAction;
@@ -2032,7 +2103,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_TEXTRECT_ACTION ):
{
MetaTextRectAction* pAct = (MetaTextRectAction*) pAction;
@@ -2040,7 +2111,7 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
ImplActionBounds( aBound, aMapVDev.LogicToLogic( aRect, aMapVDev.GetMapMode(), GetPrefMapMode() ), aClipStack );
}
break;
-
+
case( META_MOVECLIPREGION_ACTION ):
{
MetaMoveClipRegionAction* pAct = (MetaMoveClipRegionAction*) pAction;
@@ -2052,11 +2123,11 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
}
}
break;
-
+
default:
{
pAction->Execute( &aMapVDev );
-
+
if( nActionType == META_PUSH_ACTION )
{
MetaPushAction* pAct = (MetaPushAction*) pAction;
@@ -2091,9 +2162,9 @@ Rectangle GDIMetaFile::GetBoundRect( OutputDevice& i_rReference )
Color GDIMetaFile::ImplColAdjustFnc( const Color& rColor, const void* pColParam )
{
- return Color( rColor.GetTransparency(),
- ( (const ImplColAdjustParam*) pColParam )->pMapR[ rColor.GetRed() ],
- ( (const ImplColAdjustParam*) pColParam )->pMapG[ rColor.GetGreen() ],
+ return Color( rColor.GetTransparency(),
+ ( (const ImplColAdjustParam*) pColParam )->pMapR[ rColor.GetRed() ],
+ ( (const ImplColAdjustParam*) pColParam )->pMapG[ rColor.GetGreen() ],
( (const ImplColAdjustParam*) pColParam )->pMapB[ rColor.GetBlue() ] );
}
@@ -2106,7 +2177,7 @@ BitmapEx GDIMetaFile::ImplBmpAdjustFnc( const BitmapEx& rBmpEx, const void* pBmp
BitmapEx aRet( rBmpEx );
aRet.Adjust( p->nLuminancePercent, p->nContrastPercent,
- p->nChannelRPercent, p->nChannelGPercent, p->nChannelBPercent,
+ p->nChannelRPercent, p->nChannelGPercent, p->nChannelBPercent,
p->fGamma, p->bInvert );
return aRet;
@@ -2170,17 +2241,17 @@ Color GDIMetaFile::ImplColReplaceFnc( const Color& rColor, const void* pColParam
const sal_uLong nR = rColor.GetRed(), nG = rColor.GetGreen(), nB = rColor.GetBlue();
for( sal_uLong i = 0; i < ( (const ImplColReplaceParam*) pColParam )->nCount; i++ )
- {
- if( ( ( (const ImplColReplaceParam*) pColParam )->pMinR[ i ] <= nR ) &&
+ {
+ if( ( ( (const ImplColReplaceParam*) pColParam )->pMinR[ i ] <= nR ) &&
( ( (const ImplColReplaceParam*) pColParam )->pMaxR[ i ] >= nR ) &&
( ( (const ImplColReplaceParam*) pColParam )->pMinG[ i ] <= nG ) &&
( ( (const ImplColReplaceParam*) pColParam )->pMaxG[ i ] >= nG ) &&
( ( (const ImplColReplaceParam*) pColParam )->pMinB[ i ] <= nB ) &&
( ( (const ImplColReplaceParam*) pColParam )->pMaxB[ i ] >= nB ) )
- {
+ {
return( ( (const ImplColReplaceParam*) pColParam )->pDstCols[ i ] );
- }
- }
+ }
+ }
return rColor;
}
@@ -2199,7 +2270,7 @@ BitmapEx GDIMetaFile::ImplBmpReplaceFnc( const BitmapEx& rBmpEx, const void* pBm
// ------------------------------------------------------------------------
-void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pColParam,
+void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pColParam,
BmpExchangeFnc pFncBmp, const void* pBmpParam )
{
GDIMetaFile aMtf;
@@ -2207,7 +2278,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
aMtf.aPrefSize = aPrefSize;
aMtf.aPrefMapMode = aPrefMapMode;
- for( MetaAction* pAction = (MetaAction*) First(); pAction; pAction = (MetaAction*) Next() )
+ for( MetaAction* pAction = FirstAction(); pAction; pAction = NextAction() )
{
const sal_uInt16 nType = pAction->GetType();
@@ -2216,7 +2287,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
case( META_PIXEL_ACTION ):
{
MetaPixelAction* pAct = (MetaPixelAction*) pAction;
- aMtf.Insert( new MetaPixelAction( pAct->GetPoint(), pFncCol( pAct->GetColor(), pColParam ) ), LIST_APPEND );
+ aMtf.push_back( new MetaPixelAction( pAct->GetPoint(), pFncCol( pAct->GetColor(), pColParam ) ) );
}
break;
@@ -2229,7 +2300,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
else
pAct = new MetaLineColorAction( pFncCol( pAct->GetColor(), pColParam ), sal_True );
- aMtf.Insert( pAct, LIST_APPEND );
+ aMtf.push_back( pAct );
}
break;
@@ -2242,14 +2313,14 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
else
pAct = new MetaFillColorAction( pFncCol( pAct->GetColor(), pColParam ), sal_True );
- aMtf.Insert( pAct, LIST_APPEND );
+ aMtf.push_back( pAct );
}
break;
case( META_TEXTCOLOR_ACTION ):
{
MetaTextColorAction* pAct = (MetaTextColorAction*) pAction;
- aMtf.Insert( new MetaTextColorAction( pFncCol( pAct->GetColor(), pColParam ) ), LIST_APPEND );
+ aMtf.push_back( new MetaTextColorAction( pFncCol( pAct->GetColor(), pColParam ) ) );
}
break;
@@ -2262,7 +2333,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
else
pAct = new MetaTextFillColorAction( pFncCol( pAct->GetColor(), pColParam ), sal_True );
- aMtf.Insert( pAct, LIST_APPEND );
+ aMtf.push_back( pAct );
}
break;
@@ -2275,7 +2346,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
else
pAct = new MetaTextLineColorAction( pFncCol( pAct->GetColor(), pColParam ), sal_True );
- aMtf.Insert( pAct, LIST_APPEND );
+ aMtf.push_back( pAct );
}
break;
@@ -2288,7 +2359,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
else
pAct = new MetaOverlineColorAction( pFncCol( pAct->GetColor(), pColParam ), sal_True );
- aMtf.Insert( pAct, LIST_APPEND );
+ aMtf.push_back( pAct );
}
break;
@@ -2299,7 +2370,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
aFont.SetColor( pFncCol( aFont.GetColor(), pColParam ) );
aFont.SetFillColor( pFncCol( aFont.GetFillColor(), pColParam ) );
- aMtf.Insert( new MetaFontAction( aFont ), LIST_APPEND );
+ aMtf.push_back( new MetaFontAction( aFont ) );
}
break;
@@ -2323,7 +2394,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
aWall.SetGradient( aGradient );
}
- aMtf.Insert( new MetaWallpaperAction( rRect, aWall ), LIST_APPEND );
+ aMtf.push_back( new MetaWallpaperAction( rRect, aWall ) );
}
break;
@@ -2338,59 +2409,58 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
case( META_BMPSCALE_ACTION ):
{
MetaBmpScaleAction* pAct = (MetaBmpScaleAction*) pAction;
- aMtf.Insert( new MetaBmpScaleAction( pAct->GetPoint(), pAct->GetSize(),
- pFncBmp( pAct->GetBitmap(), pBmpParam ).GetBitmap() ),
- LIST_APPEND );
+ aMtf.push_back( new MetaBmpScaleAction( pAct->GetPoint(), pAct->GetSize(),
+ pFncBmp( pAct->GetBitmap(), pBmpParam ).GetBitmap() ) );
}
break;
case( META_BMPSCALEPART_ACTION ):
{
MetaBmpScalePartAction* pAct = (MetaBmpScalePartAction*) pAction;
- aMtf.Insert( new MetaBmpScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
- pAct->GetSrcPoint(), pAct->GetSrcSize(),
- pFncBmp( pAct->GetBitmap(), pBmpParam ).GetBitmap() ),
- LIST_APPEND );
+ aMtf.push_back( new MetaBmpScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
+ pAct->GetSrcPoint(), pAct->GetSrcSize(),
+ pFncBmp( pAct->GetBitmap(), pBmpParam ).GetBitmap() )
+ );
}
break;
case( META_BMPEXSCALE_ACTION ):
{
MetaBmpExScaleAction* pAct = (MetaBmpExScaleAction*) pAction;
- aMtf.Insert( new MetaBmpExScaleAction( pAct->GetPoint(), pAct->GetSize(),
- pFncBmp( pAct->GetBitmapEx(), pBmpParam ) ),
- LIST_APPEND );
+ aMtf.push_back( new MetaBmpExScaleAction( pAct->GetPoint(), pAct->GetSize(),
+ pFncBmp( pAct->GetBitmapEx(), pBmpParam ) )
+ );
}
break;
case( META_BMPEXSCALEPART_ACTION ):
{
MetaBmpExScalePartAction* pAct = (MetaBmpExScalePartAction*) pAction;
- aMtf.Insert( new MetaBmpExScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
- pAct->GetSrcPoint(), pAct->GetSrcSize(),
- pFncBmp( pAct->GetBitmapEx(), pBmpParam ) ),
- LIST_APPEND );
+ aMtf.push_back( new MetaBmpExScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
+ pAct->GetSrcPoint(), pAct->GetSrcSize(),
+ pFncBmp( pAct->GetBitmapEx(), pBmpParam ) )
+ );
}
break;
case( META_MASKSCALE_ACTION ):
{
MetaMaskScaleAction* pAct = (MetaMaskScaleAction*) pAction;
- aMtf.Insert( new MetaMaskScaleAction( pAct->GetPoint(), pAct->GetSize(),
- pAct->GetBitmap(),
- pFncCol( pAct->GetColor(), pColParam ) ),
- LIST_APPEND );
+ aMtf.push_back( new MetaMaskScaleAction( pAct->GetPoint(), pAct->GetSize(),
+ pAct->GetBitmap(),
+ pFncCol( pAct->GetColor(), pColParam ) )
+ );
}
break;
case( META_MASKSCALEPART_ACTION ):
{
MetaMaskScalePartAction* pAct = (MetaMaskScalePartAction*) pAction;
- aMtf.Insert( new MetaMaskScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
- pAct->GetSrcPoint(), pAct->GetSrcSize(),
- pAct->GetBitmap(),
- pFncCol( pAct->GetColor(), pColParam ) ),
- LIST_APPEND );
+ aMtf.push_back( new MetaMaskScalePartAction( pAct->GetDestPoint(), pAct->GetDestSize(),
+ pAct->GetSrcPoint(), pAct->GetSrcSize(),
+ pAct->GetBitmap(),
+ pFncCol( pAct->GetColor(), pColParam ) )
+ );
}
break;
@@ -2401,7 +2471,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
aGradient.SetStartColor( pFncCol( aGradient.GetStartColor(), pColParam ) );
aGradient.SetEndColor( pFncCol( aGradient.GetEndColor(), pColParam ) );
- aMtf.Insert( new MetaGradientAction( pAct->GetRect(), aGradient ), LIST_APPEND );
+ aMtf.push_back( new MetaGradientAction( pAct->GetRect(), aGradient ) );
}
break;
@@ -2412,7 +2482,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
aGradient.SetStartColor( pFncCol( aGradient.GetStartColor(), pColParam ) );
aGradient.SetEndColor( pFncCol( aGradient.GetEndColor(), pColParam ) );
- aMtf.Insert( new MetaGradientExAction( pAct->GetPolyPolygon(), aGradient ), LIST_APPEND );
+ aMtf.push_back( new MetaGradientExAction( pAct->GetPolyPolygon(), aGradient ) );
}
break;
@@ -2422,7 +2492,7 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
Hatch aHatch( pAct->GetHatch() );
aHatch.SetColor( pFncCol( aHatch.GetColor(), pColParam ) );
- aMtf.Insert( new MetaHatchAction( pAct->GetPolyPolygon(), aHatch ), LIST_APPEND );
+ aMtf.push_back( new MetaHatchAction( pAct->GetPolyPolygon(), aHatch ) );
}
break;
@@ -2432,10 +2502,10 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
GDIMetaFile aTransMtf( pAct->GetGDIMetaFile() );
aTransMtf.ImplExchangeColors( pFncCol, pColParam, pFncBmp, pBmpParam );
- aMtf.Insert( new MetaFloatTransparentAction( aTransMtf,
- pAct->GetPoint(), pAct->GetSize(),
- pAct->GetGradient() ),
- LIST_APPEND );
+ aMtf.push_back( new MetaFloatTransparentAction( aTransMtf,
+ pAct->GetPoint(), pAct->GetSize(),
+ pAct->GetGradient() )
+ );
}
break;
@@ -2445,16 +2515,16 @@ void GDIMetaFile::ImplExchangeColors( ColorExchangeFnc pFncCol, const void* pCol
GDIMetaFile aSubst( pAct->GetSubstitute() );
aSubst.ImplExchangeColors( pFncCol, pColParam, pFncBmp, pBmpParam );
- aMtf.Insert( new MetaEPSAction( pAct->GetPoint(), pAct->GetSize(),
- pAct->GetLink(), aSubst ),
- LIST_APPEND );
+ aMtf.push_back( new MetaEPSAction( pAct->GetPoint(), pAct->GetSize(),
+ pAct->GetLink(), aSubst )
+ );
}
break;
default:
{
pAction->Duplicate();
- aMtf.Insert( pAction, LIST_APPEND );
+ aMtf.push_back( pAction );
}
break;
}
@@ -2641,7 +2711,7 @@ sal_uLong GDIMetaFile::GetChecksum() const
SVBT32 aBT32;
sal_uLong nCrc = 0;
- for( sal_uLong i = 0, nObjCount = GetActionCount(); i < nObjCount; i++ )
+ for( size_t i = 0, nObjCount = GetActionSize(); i < nObjCount; i++ )
{
MetaAction* pAction = GetAction( i );
@@ -2823,7 +2893,7 @@ sal_uLong GDIMetaFile::GetChecksum() const
nCrc = rtl_crc32( nCrc, aBT32, 4 );
}
break;
-
+
case( META_MASKSCALE_ACTION ):
{
MetaMaskScaleAction* pAct = (MetaMaskScaleAction*) pAction;
@@ -2916,7 +2986,7 @@ sal_uLong GDIMetaFile::GetSizeBytes() const
{
sal_uLong nSizeBytes = 0;
- for( sal_uLong i = 0, nObjCount = GetActionCount(); i < nObjCount; ++i )
+ for( size_t i = 0, nObjCount = GetActionSize(); i < nObjCount; ++i )
{
MetaAction* pAction = GetAction( i );
@@ -2929,21 +2999,21 @@ sal_uLong GDIMetaFile::GetSizeBytes() const
case( META_BMP_ACTION ): nSizeBytes += ( (MetaBmpAction*) pAction )->GetBitmap().GetSizeBytes(); break;
case( META_BMPSCALE_ACTION ): nSizeBytes += ( (MetaBmpScaleAction*) pAction )->GetBitmap().GetSizeBytes(); break;
case( META_BMPSCALEPART_ACTION ): nSizeBytes += ( (MetaBmpScalePartAction*) pAction )->GetBitmap().GetSizeBytes(); break;
-
+
case( META_BMPEX_ACTION ): nSizeBytes += ( (MetaBmpExAction*) pAction )->GetBitmapEx().GetSizeBytes(); break;
case( META_BMPEXSCALE_ACTION ): nSizeBytes += ( (MetaBmpExScaleAction*) pAction )->GetBitmapEx().GetSizeBytes(); break;
case( META_BMPEXSCALEPART_ACTION ): nSizeBytes += ( (MetaBmpExScalePartAction*) pAction )->GetBitmapEx().GetSizeBytes(); break;
-
+
case( META_MASK_ACTION ): nSizeBytes += ( (MetaMaskAction*) pAction )->GetBitmap().GetSizeBytes(); break;
case( META_MASKSCALE_ACTION ): nSizeBytes += ( (MetaMaskScaleAction*) pAction )->GetBitmap().GetSizeBytes(); break;
case( META_MASKSCALEPART_ACTION ): nSizeBytes += ( (MetaMaskScalePartAction*) pAction )->GetBitmap().GetSizeBytes(); break;
-
+
case( META_POLYLINE_ACTION ): nSizeBytes += ( ( (MetaPolyLineAction*) pAction )->GetPolygon().GetSize() * sizeof( Point ) ); break;
case( META_POLYGON_ACTION ): nSizeBytes += ( ( (MetaPolygonAction*) pAction )->GetPolygon().GetSize() * sizeof( Point ) ); break;
case( META_POLYPOLYGON_ACTION ):
{
const PolyPolygon& rPolyPoly = ( (MetaPolyPolygonAction*) pAction )->GetPolyPolygon();
-
+
for( sal_uInt16 n = 0; n < rPolyPoly.Count(); ++n )
nSizeBytes += ( rPolyPoly[ n ].GetSize() * sizeof( Point ) );
}
@@ -2952,22 +3022,22 @@ sal_uLong GDIMetaFile::GetSizeBytes() const
case( META_TEXT_ACTION ): nSizeBytes += ( ( (MetaTextAction*) pAction )->GetText().Len() * sizeof( sal_Unicode ) ); break;
case( META_STRETCHTEXT_ACTION ): nSizeBytes += ( ( (MetaStretchTextAction*) pAction )->GetText().Len() * sizeof( sal_Unicode ) ); break;
case( META_TEXTRECT_ACTION ): nSizeBytes += ( ( (MetaTextRectAction*) pAction )->GetText().Len() * sizeof( sal_Unicode ) ); break;
- case( META_TEXTARRAY_ACTION ):
+ case( META_TEXTARRAY_ACTION ):
{
MetaTextArrayAction* pTextArrayAction = (MetaTextArrayAction*) pAction;
-
+
nSizeBytes += ( pTextArrayAction->GetText().Len() * sizeof( sal_Unicode ) );
-
+
if( pTextArrayAction->GetDXArray() )
nSizeBytes += ( pTextArrayAction->GetLen() << 2 );
}
break;
-
+
default:
break;
}
}
-
+
return( nSizeBytes );
}
@@ -3076,18 +3146,18 @@ SvStream& GDIMetaFile::Write( SvStream& rOStm )
rOStm << nStmCompressMode;
rOStm << aPrefMapMode;
rOStm << aPrefSize;
- rOStm << (sal_uInt32) GetActionCount();
+ rOStm << (sal_uInt32) GetActionSize();
delete pCompat;
ImplMetaWriteData aWriteData;
aWriteData.meActualCharSet = rOStm.GetStreamCharSet();
- MetaAction* pAct = (MetaAction*)First();
+ MetaAction* pAct = FirstAction();
while ( pAct )
{
pAct->Write( rOStm, &aWriteData );
- pAct = (MetaAction*)Next();
+ pAct = NextAction();
}
rOStm.SetNumberFormatInt( nOldFormat );
@@ -3098,7 +3168,7 @@ SvStream& GDIMetaFile::Write( SvStream& rOStm )
// ------------------------------------------------------------------------
sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
- BitmapEx& rBmpEx,
+ BitmapEx& rBmpEx,
const BitmapEx* pOverlay,
const Rectangle* pOverlayRect ) const
{
@@ -3112,7 +3182,7 @@ sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
Size aDrawSize( aVDev.LogicToPixel( GetPrefSize(), GetPrefMapMode() ) );
Size aSizePix( labs( aBRPix.X() - aTLPix.X() ) + 1, labs( aBRPix.Y() - aTLPix.Y() ) + 1 );
Point aPosPix;
-
+
if ( !rBmpEx.IsEmpty() )
rBmpEx.SetEmpty();
@@ -3137,11 +3207,11 @@ sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
aSizePix.Width() = nMaximumExtent;
aSizePix.Height() = FRound( nMaximumExtent / fWH );
}
-
+
aDrawSize.Width() = FRound( ( static_cast< double >( aDrawSize.Width() ) * aSizePix.Width() ) / aOldSizePix.Width() );
aDrawSize.Height() = FRound( ( static_cast< double >( aDrawSize.Height() ) * aSizePix.Height() ) / aOldSizePix.Height() );
}
-
+
Size aFullSize;
Point aBackPosPix;
Rectangle aOverlayRect;
@@ -3151,9 +3221,9 @@ sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
{
aFullSize = Size( nMaximumExtent, nMaximumExtent );
aOverlayRect = Rectangle( aNullPt, aFullSize );
-
+
aOverlayRect.Intersection( pOverlayRect ? *pOverlayRect : Rectangle( aNullPt, pOverlay->GetSizePixel() ) );
-
+
if ( !aOverlayRect.IsEmpty() )
aBackPosPix = Point( ( nMaximumExtent - aSizePix.Width() ) >> 1, ( nMaximumExtent - aSizePix.Height() ) >> 1 );
else
@@ -3164,36 +3234,36 @@ sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
aFullSize = aSizePix;
pOverlay = NULL;
}
-
+
// draw image(s) into VDev and get resulting image
if ( aVDev.SetOutputSizePixel( aFullSize ) )
{
// draw metafile into VDev
const_cast<GDIMetaFile *>(this)->WindStart();
const_cast<GDIMetaFile *>(this)->Play( &aVDev, aBackPosPix, aDrawSize );
-
+
// draw overlay if neccessary
if ( pOverlay )
aVDev.DrawBitmapEx( aOverlayRect.TopLeft(), aOverlayRect.GetSize(), *pOverlay );
-
+
// get paint bitmap
Bitmap aBmp( aVDev.GetBitmap( aNullPt, aVDev.GetOutputSizePixel() ) );
-
+
// assure that we have a true color image
if ( aBmp.GetBitCount() != 24 )
aBmp.Convert( BMP_CONVERSION_24BIT );
-
+
// create resulting mask bitmap with metafile output set to black
GDIMetaFile aMonchromeMtf( GetMonochromeMtf( COL_BLACK ) );
aVDev.DrawWallpaper( Rectangle( aNullPt, aSizePix ), Wallpaper( Color( COL_WHITE ) ) );
aMonchromeMtf.WindStart();
aMonchromeMtf.Play( &aVDev, aBackPosPix, aDrawSize );
-
+
// watch for overlay mask
if ( pOverlay )
{
Bitmap aOverlayMergeBmp( aVDev.GetBitmap( aOverlayRect.TopLeft(), aOverlayRect.GetSize() ) );
-
+
// create ANDed resulting mask at overlay area
if ( pOverlay->IsTransparent() )
aVDev.DrawBitmap( aOverlayRect.TopLeft(), aOverlayRect.GetSize(), pOverlay->GetMask() );
@@ -3202,15 +3272,15 @@ sal_Bool GDIMetaFile::CreateThumbnail( sal_uInt32 nMaximumExtent,
aVDev.SetLineColor( COL_BLACK );
aVDev.SetFillColor( COL_BLACK );
aVDev.DrawRect( aOverlayRect);
- }
-
+ }
+
aOverlayMergeBmp.CombineSimple( aVDev.GetBitmap( aOverlayRect.TopLeft(), aOverlayRect.GetSize() ), BMP_COMBINE_AND );
aVDev.DrawBitmap( aOverlayRect.TopLeft(), aOverlayRect.GetSize(), aOverlayMergeBmp );
}
-
+
rBmpEx = BitmapEx( aBmp, aVDev.GetBitmap( aNullPt, aVDev.GetOutputSizePixel() ) );
}
-
+
return !rBmpEx.IsEmpty();
}
diff --git a/vcl/source/gdi/impvect.cxx b/vcl/source/gdi/impvect.cxx
index 9394fd165d..75ebe6fcde 100644
--- a/vcl/source/gdi/impvect.cxx
+++ b/vcl/source/gdi/impvect.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
@@ -820,7 +820,7 @@ sal_Bool ImplVectorizer::ImplVectorize( const Bitmap& rColorBmp, GDIMetaFile& rM
delete[] (sal_uInt8*) pColorSet;
- if( rMtf.GetActionCount() )
+ if( rMtf.GetActionSize() )
{
MapMode aMap( MAP_100TH_MM );
VirtualDevice aVDev;
@@ -929,7 +929,7 @@ sal_Bool ImplVectorizer::ImplVectorize( const Bitmap& rMonoBmp,
rPolyPoly.Remove( static_cast< sal_uInt16 >( nFirstPoly ) );
rPolyPoly.Insert( aFirst, 0 );
}
-
+
bRet = sal_True;
}
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx b/vcl/source/gdi/pdfextoutdevdata.cxx
index 3c82204b3d..4c18c4b8f9 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.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
@@ -119,7 +119,7 @@ sal_Int32 GlobalSyncData::GetMappedId()
nLinkId = mParaIds[ nLinkId ];
else
nLinkId = -1;
-
+
DBG_ASSERT( nLinkId >= 0, "unmapped id in GlobalSyncData" );
}
@@ -300,7 +300,7 @@ void PageSyncData::PushAction( const OutputDevice& rOutDev, const PDFExtOutDevDa
PDFExtOutDevDataSync aSync;
aSync.eAct = eAct;
if ( pMtf )
- aSync.nIdx = pMtf->GetActionCount();
+ aSync.nIdx = pMtf->GetActionSize();
else
aSync.nIdx = 0x7fffffff; // sync not possible
mActions.push_back( aSync );
@@ -377,7 +377,7 @@ sal_Bool PageSyncData::PlaySyncPageAct( PDFWriter& rWriter, sal_uInt32& rCurGDIM
break;
case PDFExtOutDevDataSync::BeginGroup :
{
- /* first determining if this BeginGroup is starting a GfxLink,
+ /* first determining if this BeginGroup is starting a GfxLink,
by searching for a EndGroup or a EndGroupGfxLink */
mbGroupIgnoreGDIMtfActions = sal_False;
std::deque< PDFExtOutDevDataSync >::iterator aBeg = mActions.begin();
@@ -610,7 +610,7 @@ void PDFExtOutDevData::PlayGlobalActions( PDFWriter& rWriter )
//--->i56629
sal_Int32 PDFExtOutDevData::CreateNamedDest(const String& sDestName, const Rectangle& rRect, sal_Int32 nPageNr, PDFWriter::DestAreaType eType )
{
- mpGlobalSyncData->mActions.push_back( PDFExtOutDevDataSync::CreateNamedDest );
+ mpGlobalSyncData->mActions.push_back( PDFExtOutDevDataSync::CreateNamedDest );
mpGlobalSyncData->mParaOUStrings.push_back( sDestName );
mpGlobalSyncData->mParaRects.push_back( rRect );
mpGlobalSyncData->mParaMapModes.push_back( mrOutDev.GetMapMode() );
diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx b/vcl/source/gdi/pdfwriter_impl2.cxx
index 28e35d93aa..0f78f592cf 100644
--- a/vcl/source/gdi/pdfwriter_impl2.cxx
+++ b/vcl/source/gdi/pdfwriter_impl2.cxx
@@ -1,7 +1,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
@@ -214,7 +214,7 @@ void PDFWriterImpl::implWriteBitmapEx( const Point& i_rPoint, const Size& i_rSiz
else
{
aStrm.Seek( STREAM_SEEK_TO_END );
-
+
xSeekable->seek( 0 );
Sequence< PropertyValue > aArgs( 1 );
aArgs[ 0 ].Name = ::rtl::OUString::createFromAscii( "InputStream" );
@@ -264,7 +264,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
}
GDIMetaFile aMtf( i_rMtf );
- for( sal_uInt32 i = 0, nCount = aMtf.GetActionCount(); i < nCount; )
+ for( size_t i = 0, nCount = aMtf.GetActionSize(); i < nCount; )
{
if ( !i_pOutDevData || !i_pOutDevData->PlaySyncPageAct( m_rOuterFace, i ) )
{
@@ -408,7 +408,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
const Point& rPos = pA->GetPoint();
const Size& rSize= pA->GetSize();
const Gradient& rTransparenceGradient = pA->GetGradient();
-
+
// special case constant alpha value
if( rTransparenceGradient.GetStartColor() == rTransparenceGradient.GetEndColor() )
{
@@ -438,12 +438,12 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
Bitmap aPaint, aMask;
AlphaMask aAlpha;
Point aPoint;
-
+
MapMode aMapMode( pDummyVDev->GetMapMode() );
aMapMode.SetOrigin( aPoint );
pVDev->SetMapMode( aMapMode );
Size aDstSize( pVDev->PixelToLogic( aDstSizePixel ) );
-
+
Point aMtfOrigin( aTmpMtf.GetPrefMapMode().GetOrigin() );
if ( aMtfOrigin.X() || aMtfOrigin.Y() )
aTmpMtf.Move( -aMtfOrigin.X(), -aMtfOrigin.Y() );
@@ -452,16 +452,16 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
if( fScaleX != 1.0 || fScaleY != 1.0 )
aTmpMtf.Scale( fScaleX, fScaleY );
aTmpMtf.SetPrefMapMode( aMapMode );
-
+
// create paint bitmap
aTmpMtf.WindStart();
aTmpMtf.Play( pVDev, aPoint, aDstSize );
aTmpMtf.WindStart();
-
+
pVDev->EnableMapMode( sal_False );
aPaint = pVDev->GetBitmap( aPoint, aDstSizePixel );
pVDev->EnableMapMode( sal_True );
-
+
// create mask bitmap
pVDev->SetLineColor( COL_BLACK );
pVDev->SetFillColor( COL_BLACK );
@@ -474,7 +474,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
pVDev->EnableMapMode( sal_False );
aMask = pVDev->GetBitmap( aPoint, aDstSizePixel );
pVDev->EnableMapMode( sal_True );
-
+
// create alpha mask from gradient
pVDev->SetDrawMode( DRAWMODE_GRAYGRADIENT );
pVDev->DrawGradient( Rectangle( aPoint, aDstSize ), rTransparenceGradient );
@@ -613,21 +613,21 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa
for(sal_uInt16 a(0); a + 1 < nPoints; a++)
{
- if(bCurve
+ if(bCurve
&& POLY_NORMAL != aPath.GetFlags(a + 1)
&& a + 2 < nPoints
&& POLY_NORMAL != aPath.GetFlags(a + 2)
&& a + 3 < nPoints)
{
- const Polygon aSnippet(4,
- aPath.GetConstPointAry() + a,
+ const Polygon aSnippet(4,
+ aPath.GetConstPointAry() + a,
aPath.GetConstFlagAry() + a);
m_rOuterFace.DrawPolyLine( aSnippet, aInfo );
a += 2;
}
else
{
- const Polygon aSnippet(2,
+ const Polygon aSnippet(2,
aPath.GetConstPointAry() + a);
m_rOuterFace.DrawPolyLine( aSnippet, aInfo );
}
@@ -1076,7 +1076,7 @@ class EncHashTransporter : public cppu::WeakImplHelper1 < com::sun::star::beans:
rtlDigest maUDigest;
sal_IntPtr maID;
std::vector< sal_uInt8 > maOValue;
-
+
static std::map< sal_IntPtr, EncHashTransporter* > sTransporters;
public:
EncHashTransporter()
@@ -1087,7 +1087,7 @@ public:
maID++;
sTransporters[ maID ] = this;
}
-
+
virtual ~EncHashTransporter()
{
sTransporters.erase( maID );
@@ -1095,7 +1095,7 @@ public:
rtl_digest_destroyMD5( maUDigest );
OSL_TRACE( "EncHashTransporter freed\n" );
}
-
+
rtlDigest getUDigest() const { return maUDigest; };
std::vector< sal_uInt8 >& getOValue() { return maOValue; }
void invalidate()
@@ -1106,15 +1106,15 @@ public:
maUDigest = NULL;
}
}
-
+
// XMaterialHolder
virtual uno::Any SAL_CALL getMaterial() throw()
{
return uno::makeAny( sal_Int64(maID) );
}
-
+
static EncHashTransporter* getEncHashTransporter( const uno::Reference< beans::XMaterialHolder >& );
-
+
};
std::map< sal_IntPtr, EncHashTransporter* > EncHashTransporter::sTransporters;
@@ -1164,7 +1164,7 @@ void PDFWriterImpl::checkAndEnableStreamEncryption( register sal_Int32 nObject )
// do the MD5 hash
sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
// the i+2 to take into account the generation number, always zero
- rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
+ rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
// initialize the RC4 with the key
// key legth: see algoritm 3.1, step 4: (N+5) max 16
rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
@@ -1183,7 +1183,7 @@ void PDFWriterImpl::enableStringEncryption( register sal_Int32 nObject )
// do the MD5 hash
sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
// the i+2 to take into account the generation number, always zero
- rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
+ rtl_digest_MD5( &m_aContext.Encryption.EncryptionKey[0], i+2, nMD5Sum, sizeof(nMD5Sum) );
// initialize the RC4 with the key
// key legth: see algoritm 3.1, step 4: (N+5) max 16
rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum, m_nRC4KeyLength, NULL, 0 );
@@ -1204,7 +1204,7 @@ uno::Reference< beans::XMaterialHolder > PDFWriterImpl::initEncryption( const rt
{
EncHashTransporter* pTransporter = new EncHashTransporter;
xResult = pTransporter;
-
+
// get padded passwords
sal_uInt8 aPadUPW[ENCRYPTED_PWD_SIZE], aPadOPW[ENCRYPTED_PWD_SIZE];
padPassword( i_rOwnerPassword.getLength() ? i_rOwnerPassword : i_rUserPassword, aPadOPW );
@@ -1212,7 +1212,7 @@ uno::Reference< beans::XMaterialHolder > PDFWriterImpl::initEncryption( const rt
sal_Int32 nKeyLength = SECUR_40BIT_KEY;
if( b128Bit )
nKeyLength = SECUR_128BIT_KEY;
-
+
if( computeODictionaryValue( aPadOPW, aPadUPW, pTransporter->getOValue(), nKeyLength ) )
{
rtlDigest aDig = pTransporter->getUDigest();
@@ -1221,7 +1221,7 @@ uno::Reference< beans::XMaterialHolder > PDFWriterImpl::initEncryption( const rt
}
else
xResult.clear();
-
+
// trash temporary padded cleartext PWDs
rtl_zeroMemory( aPadOPW, sizeof(aPadOPW) );
rtl_zeroMemory( aPadUPW, sizeof(aPadUPW) );
@@ -1255,13 +1255,13 @@ sal_Int32 PDFWriterImpl::computeAccessPermissions( const vcl::PDFWriter::PDFEncr
{
/*
2) compute the access permissions, in numerical form
-
+
the default value depends on the revision 2 (40 bit) or 3 (128 bit security):
- for 40 bit security the unused bit must be set to 1, since they are not used
- for 128 bit security the same bit must be preset to 0 and set later if needed
according to the table 3.15, pdf v 1.4 */
sal_Int32 nAccessPermissions = ( i_rProperties.Security128bit ) ? 0xfffff0c0 : 0xffffffc0 ;
-
+
/* check permissions for 40 bit security case */
nAccessPermissions |= ( i_rProperties.CanPrintTheDocument ) ? 1 << 2 : 0;
nAccessPermissions |= ( i_rProperties.CanModifyTheContent ) ? 1 << 3 : 0;
@@ -1269,7 +1269,7 @@ sal_Int32 PDFWriterImpl::computeAccessPermissions( const vcl::PDFWriter::PDFEncr
nAccessPermissions |= ( i_rProperties.CanAddOrModify ) ? 1 << 5 : 0;
o_rKeyLength = SECUR_40BIT_KEY;
o_rRC4KeyLength = SECUR_40BIT_KEY+5; // for this value see PDF spec v 1.4, algorithm 3.1 step 4, where n is 5
-
+
if( i_rProperties.Security128bit )
{
o_rKeyLength = SECUR_128BIT_KEY;
@@ -1304,7 +1304,7 @@ void PDFWriterImpl::padPassword( const rtl::OUString& i_rPassword, sal_uInt8* o_
sal_Int32 i,y;
for( i = nCurrentChar, y = 0 ; i < ENCRYPTED_PWD_SIZE; i++, y++ )
o_pPaddedPW[i] = s_nPadString[y];
-
+
// trash memory of temporary clear text password
rtl_zeroMemory( (sal_Char*)aString.getStr(), aString.getLength() );
}
@@ -1336,15 +1336,15 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc
bSuccess = false;
//Step 4
sal_uInt8 nPerm[4];
-
+
nPerm[0] = (sal_uInt8)i_nAccessPermissions;
nPerm[1] = (sal_uInt8)( i_nAccessPermissions >> 8 );
nPerm[2] = (sal_uInt8)( i_nAccessPermissions >> 16 );
nPerm[3] = (sal_uInt8)( i_nAccessPermissions >> 24 );
-
+
if( nError == rtl_Digest_E_None )
nError = rtl_digest_updateMD5( aDigest, nPerm , sizeof( nPerm ) );
-
+
//step 5, get the document ID, binary form
if( nError == rtl_Digest_E_None )
nError = rtl_digest_updateMD5( aDigest, &io_rProperties.DocumentIdentifier[0], sal_Int32(io_rProperties.DocumentIdentifier.size()) );
@@ -1352,7 +1352,7 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc
if( nError == rtl_Digest_E_None )
{
rtl_digest_getMD5( aDigest, nMD5Sum, sizeof( nMD5Sum ) );
-
+
//step 6, only if 128 bit
if( io_rProperties.Security128bit )
{
@@ -1371,9 +1371,9 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc
}
else
bSuccess = false;
-
+
i_pTransporter->invalidate();
-
+
//Step 7
if( bSuccess )
{
@@ -1383,7 +1383,7 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc
}
else
io_rProperties.EncryptionKey.clear();
-
+
return bSuccess;
}
@@ -1407,7 +1407,7 @@ bool PDFWriterImpl::computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPass
{
//step 1 already done, data is in i_pPaddedOwnerPassword
//step 2
-
+
rtlDigestError nError = rtl_digest_updateMD5( aDigest, i_pPaddedOwnerPassword, ENCRYPTED_PWD_SIZE );
if( nError == rtl_Digest_E_None )
{
@@ -1466,7 +1466,7 @@ bool PDFWriterImpl::computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPass
rtl_digest_destroyMD5( aDigest );
if( aCipher )
rtl_cipher_destroyARCFOUR( aCipher );
-
+
if( ! bSuccess )
io_rOValue.clear();
return bSuccess;
@@ -1520,7 +1520,7 @@ bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter,
nError = rtl_digest_updateMD5( aDigest, &io_rProperties.DocumentIdentifier[0], sal_Int32(io_rProperties.DocumentIdentifier.size()) );
else
bSuccess = false;
-
+
sal_uInt8 nMD5Sum[ RTL_DIGEST_LENGTH_MD5 ];
rtl_digest_getMD5( aDigest, nMD5Sum, sizeof(nMD5Sum) );
//Step 4
@@ -1531,12 +1531,12 @@ bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter,
//step 5
sal_uInt32 i, y;
sal_uInt8 nLocalKey[SECUR_128BIT_KEY];
-
+
for( i = 1; i <= 19; i++ ) // do it 19 times, start with 1
{
for( y = 0; y < sizeof( nLocalKey ) ; y++ )
nLocalKey[y] = (sal_uInt8)( io_rProperties.EncryptionKey[y] ^ i );
-
+
rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode,
nLocalKey, SECUR_128BIT_KEY, // key and key length
NULL, 0 ); //destination data area, on init can be NULL
@@ -1555,7 +1555,7 @@ bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter,
rtl_digest_destroyMD5( aDigest );
if( aCipher )
rtl_cipher_destroyARCFOUR( aCipher );
-
+
if( ! bSuccess )
io_rProperties.UValue.clear();
return bSuccess;
@@ -1612,7 +1612,7 @@ long findBitRun( const Scanline i_pLine, long i_nStartIndex, long i_nW, bool i_b
{
if( i_nStartIndex < 0 )
return i_nW;
-
+
long nIndex = i_nStartIndex;
if( nIndex < i_nW )
{
@@ -1638,7 +1638,7 @@ long findBitRun( const Scanline i_pLine, long i_nStartIndex, long i_nW, bool i_b
nByte = *pByte;
}
}
-
+
sal_uInt8 nRunByte;
const long* pRunTable;
if( i_bSet )
@@ -1651,7 +1651,7 @@ long findBitRun( const Scanline i_pLine, long i_nStartIndex, long i_nW, bool i_b
nRunByte = 0;
pRunTable = unsetRun;
}
-
+
while( nByte == nRunByte && nIndex < i_nW )
{
nIndex += 8;
@@ -1670,13 +1670,13 @@ struct BitStreamState
{
sal_uInt8 mnBuffer;
sal_uInt32 mnNextBitPos;
-
+
BitStreamState()
: mnBuffer( 0 )
, mnNextBitPos( 8 )
{
}
-
+
const sal_uInt8* getByte() const { return &mnBuffer; }
void flush() { mnNextBitPos = 8; mnBuffer = 0; }
};
@@ -1954,12 +1954,12 @@ void PDFWriterImpl::writeG4Stream( BitmapReadAccess* i_pBitmap )
return;
if( i_pBitmap->GetBitCount() != 1 )
return;
-
+
BitStreamState aBitState;
-
+
// the first reference line is virtual and completely empty
const Scanline pFirstRefLine = (Scanline)rtl_allocateZeroMemory( nW/8 + 1 );
- Scanline pRefLine = pFirstRefLine;
+ Scanline pRefLine = pFirstRefLine;
for( long nY = 0; nY < nH; nY++ )
{
const Scanline pCurLine = i_pBitmap->GetScanline( nY );
@@ -2020,7 +2020,7 @@ void PDFWriterImpl::writeG4Stream( BitmapReadAccess* i_pBitmap )
nRefIndex1 = findBitRun( pRefLine, nRefIndex1, nW, bSet );
}
}
-
+
// the current line is the reference for the next line
pRefLine = pCurLine;
}
@@ -2032,6 +2032,6 @@ void PDFWriterImpl::writeG4Stream( BitmapReadAccess* i_pBitmap )
writeBuffer( aBitState.getByte(), 1 );
aBitState.flush();
}
-
+
rtl_freeMemory( pFirstRefLine );
}
diff --git a/vcl/source/gdi/print2.cxx b/vcl/source/gdi/print2.cxx
index 8e8f8ae254..0613eb0810 100644
--- a/vcl/source/gdi/print2.cxx
+++ b/vcl/source/gdi/print2.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
@@ -67,7 +67,7 @@ typedef ::std::list< Component > ComponentList;
// List of (intersecting) actions, plus overall bounds
struct ConnectedComponents
{
- ConnectedComponents() :
+ ConnectedComponents() :
aComponentList(),
aBounds(),
aBgColor(COL_WHITE),
@@ -82,7 +82,7 @@ struct ConnectedComponents
bool bIsFullyTransparent;
};
-typedef ::std::list< ConnectedComponents > ConnectedComponentsList;
+typedef ::std::list< ConnectedComponents > ConnectedComponentsList;
// -----------
@@ -127,7 +127,7 @@ static bool checkRect( Rectangle& io_rPrevRect,
{
// shape needs to fully cover previous content, and have uniform
// color
- const bool bRet(
+ const bool bRet(
rMapModeVDev.LogicToPixel(rCurrRect).IsInside(io_rPrevRect) &&
rMapModeVDev.IsFillColor() );
@@ -136,7 +136,7 @@ static bool checkRect( Rectangle& io_rPrevRect,
io_rPrevRect = rCurrRect;
o_rBgColor = rMapModeVDev.GetFillColor();
}
-
+
return bRet;
}
@@ -190,7 +190,7 @@ static void ImplConvertTransparentAction( GDIMetaFile& o_rMtf,
case META_BMPEX_ACTION:
aBmpEx = static_cast<const MetaBmpExAction&>(rAct).GetBitmapEx();
break;
-
+
case META_BMPEXSCALE_ACTION:
aBmpEx = static_cast<const MetaBmpExScaleAction&>(rAct).GetBitmapEx();
break;
@@ -219,7 +219,7 @@ static void ImplConvertTransparentAction( GDIMetaFile& o_rMtf,
if( pRA->HasPalette() )
aActualColor = pRA->GetBestPaletteColor( aBgColor ).operator Color();
-
+
aBmp.ReleaseAccess(pRA);
// did we get true white?
@@ -248,22 +248,22 @@ static void ImplConvertTransparentAction( GDIMetaFile& o_rMtf,
switch( rAct.GetType() )
{
case META_BMPEX_ACTION:
- o_rMtf.AddAction( new MetaBmpAction(
- static_cast<const MetaBmpExAction&>(rAct).GetPoint(),
+ o_rMtf.AddAction( new MetaBmpAction(
+ static_cast<const MetaBmpExAction&>(rAct).GetPoint(),
aBmp ));
break;
case META_BMPEXSCALE_ACTION:
- o_rMtf.AddAction( new MetaBmpScaleAction(
- static_cast<const MetaBmpExScaleAction&>(rAct).GetPoint(),
- static_cast<const MetaBmpExScaleAction&>(rAct).GetSize(),
+ o_rMtf.AddAction( new MetaBmpScaleAction(
+ static_cast<const MetaBmpExScaleAction&>(rAct).GetPoint(),
+ static_cast<const MetaBmpExScaleAction&>(rAct).GetSize(),
aBmp ));
break;
case META_BMPEXSCALEPART_ACTION:
- o_rMtf.AddAction( new MetaBmpScalePartAction(
- static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestPoint(),
- static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestSize(),
- static_cast<const MetaBmpExScalePartAction&>(rAct).GetSrcPoint(),
- static_cast<const MetaBmpExScalePartAction&>(rAct).GetSrcSize(),
+ o_rMtf.AddAction( new MetaBmpScalePartAction(
+ static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestPoint(),
+ static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestSize(),
+ static_cast<const MetaBmpExScalePartAction&>(rAct).GetSrcPoint(),
+ static_cast<const MetaBmpExScalePartAction&>(rAct).GetSrcSize(),
aBmp ));
break;
default:
@@ -483,47 +483,47 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
break;
case META_BMP_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpAction&>(rAct).GetPoint(),
rOut.PixelToLogic( static_cast<const MetaBmpAction&>(rAct).GetBitmap().GetSizePixel() ) );
break;
case META_BMPSCALE_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpScaleAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpScaleAction&>(rAct).GetPoint(),
static_cast<const MetaBmpScaleAction&>(rAct).GetSize() );
break;
case META_BMPSCALEPART_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpScalePartAction&>(rAct).GetDestPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpScalePartAction&>(rAct).GetDestPoint(),
static_cast<const MetaBmpScalePartAction&>(rAct).GetDestSize() );
break;
case META_BMPEX_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpExAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpExAction&>(rAct).GetPoint(),
rOut.PixelToLogic( static_cast<const MetaBmpExAction&>(rAct).GetBitmapEx().GetSizePixel() ) );
break;
case META_BMPEXSCALE_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpExScaleAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpExScaleAction&>(rAct).GetPoint(),
static_cast<const MetaBmpExScaleAction&>(rAct).GetSize() );
break;
case META_BMPEXSCALEPART_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestPoint(),
static_cast<const MetaBmpExScalePartAction&>(rAct).GetDestSize() );
break;
case META_MASK_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaMaskAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaMaskAction&>(rAct).GetPoint(),
rOut.PixelToLogic( static_cast<const MetaMaskAction&>(rAct).GetBitmap().GetSizePixel() ) );
break;
case META_MASKSCALE_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaMaskScaleAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaMaskScaleAction&>(rAct).GetPoint(),
static_cast<const MetaMaskScaleAction&>(rAct).GetSize() );
break;
case META_MASKSCALEPART_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaMaskScalePartAction&>(rAct).GetDestPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaMaskScalePartAction&>(rAct).GetDestPoint(),
static_cast<const MetaMaskScalePartAction&>(rAct).GetDestSize() );
break;
@@ -548,12 +548,12 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
break;
case META_FLOATTRANSPARENT_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaFloatTransparentAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaFloatTransparentAction&>(rAct).GetPoint(),
static_cast<const MetaFloatTransparentAction&>(rAct).GetSize() );
break;
case META_EPS_ACTION:
- aActionBounds = Rectangle( static_cast<const MetaEPSAction&>(rAct).GetPoint(),
+ aActionBounds = Rectangle( static_cast<const MetaEPSAction&>(rAct).GetPoint(),
static_cast<const MetaEPSAction&>(rAct).GetSize() );
break;
@@ -568,7 +568,7 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
// #105987# Use API method instead of Impl* methods
// #107490# Set base parameter equal to index parameter
- rOut.GetTextBoundRect( aActionBounds, rTextAct.GetText(), rTextAct.GetIndex(),
+ rOut.GetTextBoundRect( aActionBounds, rTextAct.GetText(), rTextAct.GetIndex(),
rTextAct.GetIndex(), rTextAct.GetLen() );
aActionBounds.Move( aPtLog.X(), aPtLog.Y() );
}
@@ -584,8 +584,8 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
if( nLen )
{
// #105987# ImplLayout takes everything in logical coordinates
- SalLayout* pSalLayout = rOut.ImplLayout( rTextAct.GetText(), rTextAct.GetIndex(),
- rTextAct.GetLen(), rTextAct.GetPoint(),
+ SalLayout* pSalLayout = rOut.ImplLayout( rTextAct.GetText(), rTextAct.GetIndex(),
+ rTextAct.GetLen(), rTextAct.GetPoint(),
0, rTextAct.GetDXArray() );
if( pSalLayout )
{
@@ -615,8 +615,8 @@ static Rectangle ImplCalcActionBounds( const MetaAction& rAct, const OutputDevic
if( nLen )
{
// #105987# ImplLayout takes everything in logical coordinates
- SalLayout* pSalLayout = rOut.ImplLayout( rTextAct.GetText(), rTextAct.GetIndex(),
- rTextAct.GetLen(), rTextAct.GetPoint(),
+ SalLayout* pSalLayout = rOut.ImplLayout( rTextAct.GetText(), rTextAct.GetIndex(),
+ rTextAct.GetLen(), rTextAct.GetPoint(),
rTextAct.GetWidth() );
if( pSalLayout )
{
@@ -665,7 +665,7 @@ static bool ImplIsActionHandlingTransparency( const MetaAction& rAct )
}
// remove comment to enable highlighting of generated output
-bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf, GDIMetaFile& rOutMtf,
+bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf, GDIMetaFile& rOutMtf,
long nMaxBmpDPIX, long nMaxBmpDPIY,
bool bReduceTransparency, bool bTransparencyAutoMode,
bool bDownsampleBitmaps,
@@ -680,8 +680,8 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
if( ! bReduceTransparency || bTransparencyAutoMode )
{
// watch for transparent drawing actions
- for( pCurrAct = ( (GDIMetaFile&) rInMtf ).FirstAction();
- pCurrAct && !bTransparent;
+ for( pCurrAct = ( (GDIMetaFile&) rInMtf ).FirstAction();
+ pCurrAct && !bTransparent;
pCurrAct = ( (GDIMetaFile&) rInMtf ).NextAction() )
{
// #i10613# Extracted "specialness" predicate into extra method
@@ -700,7 +700,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
}
}
- // #i10613# Determine set of connected components containing transparent objects. These are
+ // #i10613# Determine set of connected components containing transparent objects. These are
// then processed as bitmaps, the original actions are removed from the metafile.
if( !bTransparent )
{
@@ -709,7 +709,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
}
else
{
- // #i10613#
+ // #i10613#
// This works as follows: we want a number of distinct sets of
// connected components, where each set contains metafile
// actions that are intersecting (note: there are possibly
@@ -851,17 +851,17 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// execute action to get correct MapModes etc.
pCurrAct->Execute( &aMapModeVDev );
-
+
pCurrAct=const_cast<GDIMetaFile&>(rInMtf).NextAction();
++nActionNum;
}
-
+
// clean up aMapModeVDev
sal_uInt32 nCount = aMapModeVDev.GetGCStackDepth();
while( nCount-- )
aMapModeVDev.Pop();
- ConnectedComponentsList aCCList; // list containing distinct sets of connected components as elements.
+ ConnectedComponentsList aCCList; // list containing distinct sets of connected components as elements.
// fast-forward until one after the last background action
// (need to reconstruct map mode vdev state)
@@ -871,7 +871,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
{
// up to and including last ink-generating background
// action go to background component
- aBackgroundComponent.aComponentList.push_back(
+ aBackgroundComponent.aComponentList.push_back(
::std::make_pair(
pCurrAct, nActionNum) );
@@ -888,14 +888,14 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// iterate over all actions (start where background action
// search left off)
- for( ;
- pCurrAct;
+ for( ;
+ pCurrAct;
pCurrAct=const_cast<GDIMetaFile&>(rInMtf).NextAction(), ++nActionNum )
{
// execute action to get correct MapModes etc.
pCurrAct->Execute( &aMapModeVDev );
- // cache bounds of current action
+ // cache bounds of current action
const Rectangle aBBCurrAct( ImplCalcActionBounds(*pCurrAct, aMapModeVDev) );
// accumulate collected bounds here, initialize with current action
@@ -927,7 +927,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// component.
aTotalComponents.bIsFullyTransparent = !ImplIsNotTransparent(*pCurrAct, aMapModeVDev);
- if( !aBBCurrAct.IsEmpty() &&
+ if( !aBBCurrAct.IsEmpty() &&
!aTotalComponents.bIsFullyTransparent )
{
if( !aBackgroundComponent.aComponentList.empty() &&
@@ -936,11 +936,11 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// it seems the background is not large enough. to
// be on the safe side, combine with this component.
aTotalBounds.Union( aBackgroundComponent.aBounds );
-
+
// extract all aCurr actions to aTotalComponents
- aTotalComponents.aComponentList.splice( aTotalComponents.aComponentList.end(),
+ aTotalComponents.aComponentList.splice( aTotalComponents.aComponentList.end(),
aBackgroundComponent.aComponentList );
-
+
if( aBackgroundComponent.bIsSpecial )
bTreatSpecial = true;
}
@@ -981,11 +981,11 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// calc union bounding box
aTotalBounds.Union( aCurrCC->aBounds );
-
+
// extract all aCurr actions to aTotalComponents
- aTotalComponents.aComponentList.splice( aTotalComponents.aComponentList.end(),
+ aTotalComponents.aComponentList.splice( aTotalComponents.aComponentList.end(),
aCurrCC->aComponentList );
-
+
if( aCurrCC->bIsSpecial )
bTreatSpecial = true;
@@ -1038,7 +1038,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
{
// added action is special and none of prev components
// special -> do the detailed tests
-
+
// can the action handle transparency correctly
// (i.e. when painted on white background, does the
// action still look correct)?
@@ -1082,19 +1082,19 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// set new bounds and add action to list
aTotalComponents.aBounds = aTotalBounds;
- aTotalComponents.aComponentList.push_back(
+ aTotalComponents.aComponentList.push_back(
::std::make_pair(
pCurrAct, nActionNum) );
// add aTotalComponents as a new entry to aCCList
aCCList.push_back( aTotalComponents );
- DBG_ASSERT( !aTotalComponents.aComponentList.empty(),
+ DBG_ASSERT( !aTotalComponents.aComponentList.empty(),
"Printer::GetPreparedMetaFile empty component" );
- DBG_ASSERT( !aTotalComponents.aBounds.IsEmpty() ||
+ DBG_ASSERT( !aTotalComponents.aBounds.IsEmpty() ||
(aTotalComponents.aBounds.IsEmpty() && aTotalComponents.aComponentList.size() == 1),
"Printer::GetPreparedMetaFile non-output generating actions must be solitary");
- DBG_ASSERT( !aTotalComponents.bIsFullyTransparent ||
+ DBG_ASSERT( !aTotalComponents.bIsFullyTransparent ||
(aTotalComponents.bIsFullyTransparent && aTotalComponents.aComponentList.size() == 1),
"Printer::GetPreparedMetaFile fully transparent actions must be solitary");
}
@@ -1109,7 +1109,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// settings for all cases.
// maps mtf actions to CC list entries
- ::std::vector< const ConnectedComponents* > aCCList_MemberMap( rInMtf.GetActionCount() );
+ ::std::vector< const ConnectedComponents* > aCCList_MemberMap( rInMtf.GetActionSize() );
// iterate over all aCCList members and their contained metaactions
ConnectedComponentsList::iterator aCurr( aCCList.begin() );
@@ -1151,7 +1151,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
{
aTmpSize = mpPDFWriter->getCurPageSize();
aTmpSize = LogicToPixel( aTmpSize, MapMode( MAP_POINT ) );
-
+
// also add error code to PDFWriter
mpPDFWriter->insertError( vcl::PDFWriter::Warning_Transparency_Converted );
}
@@ -1170,7 +1170,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
{
if( aCurr->bIsSpecial )
{
- Rectangle aBoundRect( aCurr->aBounds );
+ Rectangle aBoundRect( aCurr->aBounds );
aBoundRect.Intersection( aOutputRect );
const double fBmpArea( (double) aBoundRect.GetWidth() * aBoundRect.GetHeight() );
@@ -1201,7 +1201,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
rOutMtf.AddAction( new MetaMapModeAction() );
aPaintVDev.SetDrawMode( GetDrawMode() );
-
+
while( aDstPtPix.Y() <= aBoundRect.Bottom() )
{
aDstPtPix.X() = aBoundRect.Left();
@@ -1227,8 +1227,8 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
aPaintVDev.EnableOutput(sal_False);
// iterate over all actions
- for( pCurrAct=const_cast<GDIMetaFile&>(rInMtf).FirstAction(), nActionNum=0;
- pCurrAct;
+ for( pCurrAct=const_cast<GDIMetaFile&>(rInMtf).FirstAction(), nActionNum=0;
+ pCurrAct;
pCurrAct=const_cast<GDIMetaFile&>(rInMtf).NextAction(), ++nActionNum )
{
// enable output only for
@@ -1282,7 +1282,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// scale down bitmap, if requested
if( bDownsampleBitmaps )
{
- aBandBmp = GetDownsampledBitmap( aDstSzPix,
+ aBandBmp = GetDownsampledBitmap( aDstSzPix,
Point(), aBandBmp.GetSizePixel(),
aBandBmp, nMaxBmpDPIX, nMaxBmpDPIY );
}
@@ -1315,7 +1315,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
nCount = aMapModeVDev.GetGCStackDepth();
while( nCount-- )
aMapModeVDev.Pop();
-
+
//
// STAGE 4: Copy actions to output metafile
// ========================================
@@ -1323,8 +1323,8 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// iterate over all actions and duplicate the ones not in a
// special aCCList member into rOutMtf
- for( pCurrAct=const_cast<GDIMetaFile&>(rInMtf).FirstAction(), nActionNum=0;
- pCurrAct;
+ for( pCurrAct=const_cast<GDIMetaFile&>(rInMtf).FirstAction(), nActionNum=0;
+ pCurrAct;
pCurrAct=const_cast<GDIMetaFile&>(rInMtf).NextAction(), ++nActionNum )
{
const ConnectedComponents* pCurrAssociatedComponent = aCCList_MemberMap[nActionNum];
@@ -1369,7 +1369,7 @@ bool OutputDevice::RemoveTransparenciesFromMetaFile( const GDIMetaFile& rInMtf,
// -----------------------------------------------------------------------------
-Bitmap OutputDevice::GetDownsampledBitmap( const Size& rDstSz,
+Bitmap OutputDevice::GetDownsampledBitmap( const Size& rDstSz,
const Point& rSrcPt, const Size& rSrcSz,
const Bitmap& rBmp, long nMaxBmpDPIX, long nMaxBmpDPIY )
{
@@ -1405,8 +1405,8 @@ Bitmap OutputDevice::GetDownsampledBitmap( const Size& rDstSz,
const double fMaxPixelY = aDstSizeTwip.Height() * nMaxBmpDPIY / 1440.0;
// check, if the bitmap DPI exceeds the maximum DPI (allow 4 pixel rounding tolerance)
- if( ( ( fBmpPixelX > ( fMaxPixelX + 4 ) ) ||
- ( fBmpPixelY > ( fMaxPixelY + 4 ) ) ) &&
+ if( ( ( fBmpPixelX > ( fMaxPixelX + 4 ) ) ||
+ ( fBmpPixelY > ( fMaxPixelY + 4 ) ) ) &&
( fBmpPixelY > 0.0 ) && ( fMaxPixelY > 0.0 ) )
{
// do scaling
@@ -1463,7 +1463,7 @@ BitmapEx OutputDevice::GetDownsampledBitmapEx( const Size& rDstSz,
{
// do downsampling if neccessary
Size aDstSizeTwip( PixelToLogic( LogicToPixel( rDstSz ), MAP_TWIP ) );
-
+
// #103209# Normalize size (mirroring has to happen outside of this method)
aDstSizeTwip = Size( labs(aDstSizeTwip.Width()), labs(aDstSizeTwip.Height()) );
@@ -1474,8 +1474,8 @@ BitmapEx OutputDevice::GetDownsampledBitmapEx( const Size& rDstSz,
const double fMaxPixelY = aDstSizeTwip.Height() * nMaxBmpDPIY / 1440.0;
// check, if the bitmap DPI exceeds the maximum DPI (allow 4 pixel rounding tolerance)
- if( ( ( fBmpPixelX > ( fMaxPixelX + 4 ) ) ||
- ( fBmpPixelY > ( fMaxPixelY + 4 ) ) ) &&
+ if( ( ( fBmpPixelX > ( fMaxPixelX + 4 ) ) ||
+ ( fBmpPixelY > ( fMaxPixelY + 4 ) ) ) &&
( fBmpPixelY > 0.0 ) && ( fMaxPixelY > 0.0 ) )
{
// do scaling