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 16:39:55 +0000
commit5694b4970e3af096130e172ac6968b10ed587a6f (patch)
tree4e1285389cbd88c318beda765bf7becc0795a0cf /svx
parent2beb90a041bc99644330977f13bfaa10a05b9a39 (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.cxx10
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;
+ }
}
}