[Libreoffice-commits] core.git: sw/source
Caolán McNamara
caolanm at redhat.com
Thu Jan 22 06:40:17 PST 2015
sw/source/ui/frmdlg/frmpage.cxx | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
New commits:
commit a8835936e9d3e19443c63b7b365174254741cf76
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Jan 22 14:37:29 2015 +0000
Resolves: fdo#88378 flipping by reversing co-ord system no longer works
not entirely sure when this stopped working, but our contempory code is riddled
with asserts and throws for negative sizes so rework this to explicitly mirror
the preview rather than try the no longer working technique
Change-Id: Ie90283cad2797ab1c37848469b007dc01a2c9d75
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 460b894..f989dc8 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -2649,25 +2649,25 @@ void BmpWindow::Paint( const Rectangle& )
aPntPos.X() += nWidth - aPntSz.Width() ;
}
- if ( bHorz )
- {
- aPntPos.Y() += aPntSz.Height();
- aPntPos.Y() --;
- aPntSz.Height() *= -1;
- }
- if ( bVert )
- {
- aPntPos.X() += aPntSz.Width();
- aPntPos.X()--;
- aPntSz.Width() *= -1;
- }
-
// #i119307# clear window background, the graphic might have transparency
DrawRect(Rectangle(aPntPos, aPntSz));
- if ( bGraphic )
+ if (bHorz || bVert)
+ {
+ BitmapEx aTmpBmp(bGraphic ? aGraphic.GetBitmapEx() : aBmp);
+ sal_uLong nMirrorFlags(BMP_MIRROR_NONE);
+ if (bHorz)
+ nMirrorFlags |= BMP_MIRROR_VERT;
+ if (bVert)
+ nMirrorFlags |= BMP_MIRROR_HORZ;
+ aTmpBmp.Mirror(nMirrorFlags);
+ DrawBitmapEx( aPntPos, aPntSz, aTmpBmp );
+ }
+ else if (bGraphic) //draw unmirrored preview graphic
+ {
aGraphic.Draw( this, aPntPos, aPntSz );
- else
+ }
+ else //draw unmirrored stock sample image
{
DrawBitmapEx( aPntPos, aPntSz, aBmp );
}
More information about the Libreoffice-commits
mailing list