[Libreoffice-commits] .: 2 commits - sw/source vcl/source

Jan Holesovsky kendy at kemper.freedesktop.org
Tue Dec 27 13:31:03 PST 2011


 sw/source/ui/frmdlg/frmpage.cxx |   18 ++++++++++++++----
 vcl/source/gdi/outdev2.cxx      |    2 +-
 2 files changed, 15 insertions(+), 5 deletions(-)

New commits:
commit e0e52ce536f6b4b69280d41d77fc6d43d23958f3
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Tue Dec 27 22:25:36 2011 +0100

    Fix drawing of the either horizontally, or vertically mirrored bitmaps.

diff --git a/vcl/source/gdi/outdev2.cxx b/vcl/source/gdi/outdev2.cxx
index 3ee7254..329f5f4 100644
--- a/vcl/source/gdi/outdev2.cxx
+++ b/vcl/source/gdi/outdev2.cxx
@@ -1783,7 +1783,7 @@ Bitmap OutputDevice::ImplBlend( Bitmap              aBmp,
             aTR.mnDestWidth = aOutSz.Width();
             aTR.mnDestHeight= aOutSz.Height();
 
-            if( !bHMirr || !bVMirr )
+            if( !bHMirr && !bVMirr )
                 bFastBlend = ImplFastBitmapBlending( *pB,*pP,*pA, aTR );
         }
 
commit 640c1788efe181bbf834fb78ebb3c08820847a7e
Author: Stefan Knorr (astron) <heinzlesspam at gmail.com>
Date:   Mon Dec 19 12:37:59 2011 +0100

    Try to draw replacement preview at original size

diff --git a/sw/source/ui/frmdlg/frmpage.cxx b/sw/source/ui/frmdlg/frmpage.cxx
index 288141b..de3c4df 100644
--- a/sw/source/ui/frmdlg/frmpage.cxx
+++ b/sw/source/ui/frmdlg/frmpage.cxx
@@ -224,7 +224,7 @@ static FrmMap aHFlyHtmlMap[] =
     {SwFPos::FROMLEFT,      SwFPos::MIR_FROMLEFT,   text::HoriOrientation::NONE,      LB_FLY_REL_PG_FRAME}
 };
 
-// own vertical alignment map for to frame anchored objects
+// own vertical alignment map for objects anchored to frame
 #define VERT_FRAME_REL   (LB_FLY_VERT_FRAME|LB_FLY_VERT_PRTAREA)
 
 static FrmMap aVFrameMap[] =
@@ -1941,7 +1941,7 @@ IMPL_LINK( SwFrmPage, PosHdl, ListBox *, pLB )
 }
 
 /*--------------------------------------------------------------------
-    Description:    horizonal Pos
+    Description:    horizontal Pos
  --------------------------------------------------------------------*/
 IMPL_LINK( SwFrmPage, RelHdl, ListBox *, pLB )
 {
@@ -2555,14 +2555,24 @@ void BmpWindow::Paint( const Rectangle& )
         aGrfSize = ::GetGraphicSizeTwip(aGraphic, this);
     //it should show the default bitmap also if no graphic can be found
     if(!aGrfSize.Width() && !aGrfSize.Height())
-        aGrfSize =  PixelToLogic(aBmp.GetSizePixel());
+        aGrfSize = PixelToLogic(aBmp.GetSizePixel());
 
     long nRelGrf = aGrfSize.Width() * 100L / aGrfSize.Height();
     long nRelWin = aPntSz.Width() * 100L / aPntSz.Height();
     if(nRelGrf < nRelWin)
     {
         const long nWidth = aPntSz.Width();
-        aPntSz.Width() = aPntSz.Height() * nRelGrf /100;
+        // if we use a replacement preview, try to draw at original size
+        if ( !bGraphic && ( aGrfSize.Width() <= aPntSz.Width() ) && ( aGrfSize.Height() <= aPntSz.Height() ) )
+        {
+            const long nHeight = aPntSz.Height();
+            aPntSz.Width() = aGrfSize.Width();
+            aPntSz.Height() = aGrfSize.Height();
+            aPntPos.Y() += (nHeight - aPntSz.Height()) / 2;
+        }
+        else
+            aPntSz.Width() = aPntSz.Height() * nRelGrf /100;
+
         if(!bLeftAlign)
             aPntPos.X() += nWidth - aPntSz.Width() ;
     }


More information about the Libreoffice-commits mailing list