svx/source/svdraw/svdotextdecomposition.cxx |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 46f3fb53194969431fb8f08081e5b57658cd70ce
Author: Tamás Zolnai <[email protected]>
Date:   Sat Dec 17 16:11:06 2016 +0100

    tdf#104722: Wrong text alignment when text box is smaller than the text 
inside
    
    The default TextHorizontalAlignment is block. Setting
    paragraph alignment (on UI) works when this text
    alignment property is set to block (otherwise has no effect).
    In general this works on this way, but the existing
    algorithm did not work in those cases when the
    text was bigger than the container shape.
    
    Change-Id: I02dba76f8e3033a465bb14dc826521966bb30987
    Reviewed-on: https://gerrit.libreoffice.org/32123
    Reviewed-by: Tamás Zolnai <[email protected]>
    Tested-by: Tamás Zolnai <[email protected]>
    (cherry picked from commit 5694b4970e3af096130e172ac6968b10ed587a6f)

diff --git a/svx/source/svdraw/svdotextdecomposition.cxx 
b/svx/source/svdraw/svdotextdecomposition.cxx
index 4630658..f3fb755 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -43,6 +43,7 @@
 #include <editeng/escapementitem.hxx>
 #include <editeng/svxenum.hxx>
 #include <editeng/flditem.hxx>
+#include <editeng/adjustitem.hxx>
 #include <drawinglayer/primitive2d/texthierarchyprimitive2d.hxx>
 #include <vcl/metaact.hxx>
 #include <drawinglayer/primitive2d/wrongspellprimitive2d.hxx>
@@ -1008,7 +1009,14 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
             // else the alignment is wanted.
             if(SDRTEXTHORZADJUST_BLOCK == eHAdj)
             {
-                eHAdj = SDRTEXTHORZADJUST_CENTER;
+                SvxAdjust eAdjust = static_cast<const 
SvxAdjustItem&>(GetObjectItemSet().Get(EE_PARA_JUST)).GetAdjust();
+                switch(eAdjust)
+                {
+                    case SVX_ADJUST_LEFT:   eHAdj = SDRTEXTHORZADJUST_LEFT; 
break;
+                    case SVX_ADJUST_RIGHT:  eHAdj = SDRTEXTHORZADJUST_RIGHT; 
break;
+                    case SVX_ADJUST_CENTER: eHAdj = SDRTEXTHORZADJUST_CENTER; 
break;
+                    default: break;
+                }
             }
         }
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to