summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2016-12-17 16:11:06 +0100
committerTamás Zolnai <tamas.zolnai@collabora.com>2016-12-17 18:24:08 +0100
commit46f3fb53194969431fb8f08081e5b57658cd70ce (patch)
treec22522987632654b225aa14fb11f591752da5556 /svx
parent6bd899f3fa44f2d78092333a399e141889b43dca (diff)
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 <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 5694b4970e3af096130e172ac6968b10ed587a6f)
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 4630658bf8f1..f3fb7554de80 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;
+ }
}
}