diff options
Diffstat (limited to 'filter/source/graphicfilter/epict/epict.cxx')
-rw-r--r-- | filter/source/graphicfilter/epict/epict.cxx | 41 |
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; |