summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-01-22 14:37:29 +0000
committerCaolán McNamara <caolanm@redhat.com>2015-01-22 14:37:43 +0000
commita8835936e9d3e19443c63b7b365174254741cf76 (patch)
tree66d048c68ab5259d679ee2c2765972e7c8d6acfd
parentb4be810b7fcf404de01a1420716f7da69da304ff (diff)
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
-rw-r--r--sw/source/ui/frmdlg/frmpage.cxx30
1 files changed, 15 insertions, 15 deletions
diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 460b894bfe4e..f989dc8b1398 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 );
}