summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-01-22 14:37:29 +0000
committerMichael Stahl <mstahl@redhat.com>2015-01-27 15:08:27 +0000
commita0ef8ea968c8b395ad4247f5efebed54657cfd93 (patch)
treeb29035c63f872b3c0a46915ab85a35cd03124c88
parentcd4de8452fc31b2b77374658145bdd1b7291733b (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 (cherry picked from commit a8835936e9d3e19443c63b7b365174254741cf76) Reviewed-on: https://gerrit.libreoffice.org/14111 Tested-by: Michael Stahl <mstahl@redhat.com> Reviewed-by: Michael Stahl <mstahl@redhat.com>
-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 ab0f069acca2..e400dafa0d6c 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -2651,25 +2651,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 );
}