From 662fc8eaa94d766104bced33c18b4718722c6692 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 6 May 2015 09:00:50 +0200 Subject: convert BMP_MIRROR constants to scoped enum and fix bug in svx/source/xoutdev/_xoutbmp.cxx,XOutBitmap::MirrorGraphic where it was not correctly translating between different flags types. Change-Id: I78b4965544da2aa54b67ec18307fa54c8ffc3aee --- svx/source/sdr/contact/viewcontactofgraphic.cxx | 2 +- svx/source/svdraw/svdograf.cxx | 2 +- svx/source/xoutdev/_xoutbmp.cxx | 23 +++++++++++++++-------- 3 files changed, 17 insertions(+), 10 deletions(-) (limited to 'svx/source') diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx index 2a72cdeb03be..10bd3e0122d9 100644 --- a/svx/source/sdr/contact/viewcontactofgraphic.cxx +++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx @@ -355,7 +355,7 @@ namespace sdr if(bHMirr || bVMirr) { - aLocalGrafInfo.SetMirrorFlags((bHMirr ? BMP_MIRROR_HORZ : 0)|(bVMirr ? BMP_MIRROR_VERT : 0)); + aLocalGrafInfo.SetMirrorFlags((bHMirr ? BmpMirrorFlags::Horizontal : BmpMirrorFlags::NONE)|(bVMirr ? BmpMirrorFlags::Vertical : BmpMirrorFlags::NONE)); } // fill object matrix diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx index 15df383d7e29..170a4029dcc2 100644 --- a/svx/source/svdraw/svdograf.cxx +++ b/svx/source/svdraw/svdograf.cxx @@ -501,7 +501,7 @@ Graphic SdrGrafObj::GetTransformedGraphic( SdrGrafObjTransformsAttrs nTransformF bool bHMirr = nMirrorCase == 2 || nMirrorCase == 4; bool bVMirr = nMirrorCase == 3 || nMirrorCase == 4; - aActAttr.SetMirrorFlags( ( bHMirr ? BMP_MIRROR_HORZ : 0 ) | ( bVMirr ? BMP_MIRROR_VERT : 0 ) ); + aActAttr.SetMirrorFlags( ( bHMirr ? BmpMirrorFlags::Horizontal : BmpMirrorFlags::NONE ) | ( bVMirr ? BmpMirrorFlags::Vertical : BmpMirrorFlags::NONE ) ); } if( bRotate ) diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx index d03b43b19af3..6a477489a776 100644 --- a/svx/source/xoutdev/_xoutbmp.cxx +++ b/svx/source/xoutdev/_xoutbmp.cxx @@ -47,13 +47,13 @@ Animation XOutBitmap::MirrorAnimation( const Animation& rAnimation, bool bHMirr, if( bHMirr || bVMirr ) { const Size& rGlobalSize = aNewAnim.GetDisplaySizePixel(); - sal_uIntPtr nMirrorFlags = 0L; + BmpMirrorFlags nMirrorFlags = BmpMirrorFlags::NONE; if( bHMirr ) - nMirrorFlags |= BMP_MIRROR_HORZ; + nMirrorFlags |= BmpMirrorFlags::Horizontal; if( bVMirr ) - nMirrorFlags |= BMP_MIRROR_VERT; + nMirrorFlags |= BmpMirrorFlags::Vertical; for( sal_uInt16 i = 0, nCount = aNewAnim.Count(); i < nCount; i++ ) { @@ -78,17 +78,17 @@ Animation XOutBitmap::MirrorAnimation( const Animation& rAnimation, bool bHMirr, return aNewAnim; } -Graphic XOutBitmap::MirrorGraphic( const Graphic& rGraphic, const sal_uIntPtr nMirrorFlags ) +Graphic XOutBitmap::MirrorGraphic( const Graphic& rGraphic, const BmpMirrorFlags nMirrorFlags ) { Graphic aRetGraphic; - if( nMirrorFlags ) + if( nMirrorFlags != BmpMirrorFlags::NONE ) { if( rGraphic.IsAnimated() ) { aRetGraphic = MirrorAnimation( rGraphic.GetAnimation(), - ( nMirrorFlags & BMP_MIRROR_HORZ ) == BMP_MIRROR_HORZ, - ( nMirrorFlags & BMP_MIRROR_VERT ) == BMP_MIRROR_VERT ); + bool( nMirrorFlags & BmpMirrorFlags::Horizontal ), + bool( nMirrorFlags & BmpMirrorFlags::Vertical ) ); } else { @@ -300,7 +300,14 @@ sal_uInt16 XOutBitmap::WriteGraphic( const Graphic& rGraphic, OUString& rFileNam // mirror? if( ( nFlags & XOUTBMP_MIRROR_HORZ ) || ( nFlags & XOUTBMP_MIRROR_VERT ) ) - aGraphic = MirrorGraphic( aGraphic, nFlags ); + { + BmpMirrorFlags nBmpMirrorFlags = BmpMirrorFlags::NONE; + if( nFlags & XOUTBMP_MIRROR_HORZ ) + nBmpMirrorFlags |= BmpMirrorFlags::Horizontal; + if( nFlags & XOUTBMP_MIRROR_VERT ) + nBmpMirrorFlags |= BmpMirrorFlags::Vertical; + aGraphic = MirrorGraphic( aGraphic, nBmpMirrorFlags ); + } if( ( GRFILTER_FORMAT_NOTFOUND != nFilter ) && ( aGraphic.GetType() != GRAPHIC_NONE ) ) { -- cgit