summaryrefslogtreecommitdiff
path: root/filter/source/graphicfilter/epict/epict.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/graphicfilter/epict/epict.cxx')
-rw-r--r--filter/source/graphicfilter/epict/epict.cxx41
1 files changed, 20 insertions, 21 deletions
diff --git a/filter/source/graphicfilter/epict/epict.cxx b/filter/source/graphicfilter/epict/epict.cxx
index 6631bdfc3671..9bf395375689 100644
--- a/filter/source/graphicfilter/epict/epict.cxx
+++ b/filter/source/graphicfilter/epict/epict.cxx
@@ -1699,12 +1699,11 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
if ( aSrcFont.GetAlign() != ALIGN_BASELINE )
{
- VirtualDevice aVirDev;
-
+ ScopedVclPtrInstance< VirtualDevice > pVirDev;
if (aSrcFont.GetAlign()==ALIGN_TOP)
- aPt.Y()+=(long)aVirDev.GetFontMetric(aSrcFont).GetAscent();
+ aPt.Y()+=(long)pVirDev->GetFontMetric(aSrcFont).GetAscent();
else
- aPt.Y()-=(long)aVirDev.GetFontMetric(aSrcFont).GetDescent();
+ aPt.Y()-=(long)pVirDev->GetFontMetric(aSrcFont).GetDescent();
}
SetAttrForText();
@@ -1720,12 +1719,12 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
if (aSrcFont.GetAlign()!=ALIGN_BASELINE)
{
- VirtualDevice aVirDev;
+ ScopedVclPtrInstance< VirtualDevice > pVirDev;
if (aSrcFont.GetAlign()==ALIGN_TOP)
- aPt.Y()+=(long)aVirDev.GetFontMetric(aSrcFont).GetAscent();
+ aPt.Y()+=(long)pVirDev->GetFontMetric(aSrcFont).GetAscent();
else
- aPt.Y()-=(long)aVirDev.GetFontMetric(aSrcFont).GetDescent();
+ aPt.Y()-=(long)pVirDev->GetFontMetric(aSrcFont).GetDescent();
}
SetAttrForText();
OUString aStr = pA->GetText().copy( pA->GetIndex(),pA->GetLen() );
@@ -1738,16 +1737,16 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
const MetaStretchTextAction* pA = static_cast<const MetaStretchTextAction*>(pMA);
Point aPt( pA->GetPoint() );
OUString aStr = pA->GetText().copy( pA->GetIndex(),pA->GetLen() );
- VirtualDevice aVirDev;
+ ScopedVclPtrInstance< VirtualDevice > pVirDev;
boost::scoped_array<long> pDXAry(new long[ aStr.getLength() ]);
- sal_Int32 nNormSize( aVirDev.GetTextArray( aStr,pDXAry.get() ) );
+ sal_Int32 nNormSize( pVirDev->GetTextArray( aStr,pDXAry.get() ) );
if (aSrcFont.GetAlign()!=ALIGN_BASELINE)
{
if (aSrcFont.GetAlign()==ALIGN_TOP)
- aPt.Y()+=(long)aVirDev.GetFontMetric(aSrcFont).GetAscent();
+ aPt.Y()+=(long)pVirDev->GetFontMetric(aSrcFont).GetAscent();
else
- aPt.Y()-=(long)aVirDev.GetFontMetric(aSrcFont).GetDescent();
+ aPt.Y()-=(long)pVirDev->GetFontMetric(aSrcFont).GetDescent();
}
sal_Int32 nLength = aStr.getLength() - 1;
@@ -1774,9 +1773,9 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
{
const MetaBmpAction* pA = static_cast<const MetaBmpAction*>(pMA);
const Bitmap aBmp( pA->GetBitmap() );
- VirtualDevice aVirDev;
+ ScopedVclPtrInstance< VirtualDevice > pVirDev;
- WriteOpcode_BitsRect( pA->GetPoint(), aVirDev.PixelToLogic( aBmp.GetSizePixel(), aSrcMapMode ), aBmp );
+ WriteOpcode_BitsRect( pA->GetPoint(), pVirDev->PixelToLogic( aBmp.GetSizePixel(), aSrcMapMode ), aBmp );
}
break;
@@ -1801,9 +1800,9 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
{
const MetaBmpExAction* pA = static_cast<const MetaBmpExAction*>(pMA);
const Bitmap aBmp( Graphic( pA->GetBitmapEx() ).GetBitmap() );
- VirtualDevice aVirDev;
+ ScopedVclPtrInstance< VirtualDevice > pVirDev;
- WriteOpcode_BitsRect( pA->GetPoint(), aVirDev.PixelToLogic( aBmp.GetSizePixel(), aSrcMapMode ), aBmp );
+ WriteOpcode_BitsRect( pA->GetPoint(), pVirDev->PixelToLogic( aBmp.GetSizePixel(), aSrcMapMode ), aBmp );
}
break;
@@ -1855,24 +1854,24 @@ void PictWriter::WriteOpcodes( const GDIMetaFile & rMTF )
case META_GRADIENT_ACTION:
{
- VirtualDevice aVDev;
+ ScopedVclPtrInstance<VirtualDevice> aVDev;
GDIMetaFile aTmpMtf;
const MetaGradientAction* pA = static_cast<const MetaGradientAction*>(pMA);
- aVDev.SetMapMode( aTargetMapMode );
- aVDev.AddGradientActions( pA->GetRect(), pA->GetGradient(), aTmpMtf );
+ aVDev->SetMapMode( aTargetMapMode );
+ aVDev->AddGradientActions( pA->GetRect(), pA->GetGradient(), aTmpMtf );
WriteOpcodes( aTmpMtf );
}
break;
case META_HATCH_ACTION:
{
- VirtualDevice aVDev;
+ ScopedVclPtrInstance<VirtualDevice> aVDev;
GDIMetaFile aTmpMtf;
const MetaHatchAction* pA = static_cast<const MetaHatchAction*>(pMA);
- aVDev.SetMapMode( aTargetMapMode );
- aVDev.AddHatchActions( pA->GetPolyPolygon(), pA->GetHatch(), aTmpMtf );
+ aVDev->SetMapMode( aTargetMapMode );
+ aVDev->AddHatchActions( pA->GetPolyPolygon(), pA->GetHatch(), aTmpMtf );
WriteOpcodes( aTmpMtf );
}
break;