diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2016-12-17 16:11:06 +0100 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2016-12-17 16:39:55 +0000 |
commit | 5694b4970e3af096130e172ac6968b10ed587a6f (patch) | |
tree | 4e1285389cbd88c318beda765bf7becc0795a0cf /svx | |
parent | 2beb90a041bc99644330977f13bfaa10a05b9a39 (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>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdotextdecomposition.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index a7211172784f..c567477a0f1a 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> @@ -1022,7 +1023,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; + } } } |