summaryrefslogtreecommitdiffstats
path: root/canvas
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2018-10-06 15:12:29 +0800
committerMark Hung <marklh9@gmail.com>2018-10-09 01:28:37 +0200
commitd9ad59da50c1172fe98f94370221c9c1b688200a (patch)
tree10ec313be59c674cdd31d9c58cd5fa6f1c8655de /canvas
parenttdf#55361 adjust leftmost position for RTL text while animation. (diff)
downloadcore-d9ad59da50c1172fe98f94370221c9c1b688200a.tar.gz
core-d9ad59da50c1172fe98f94370221c9c1b688200a.zip
tdf#55361 fix result of showing RTL text in the animation.
Call drawTextArray with SalLayoutFlags::BiDiRTL if the text direction of a TextLayout is RTL. Change-Id: I1a3bfaee5521eea77b44350c21c104cbf72fac97 Reviewed-on: https://gerrit.libreoffice.org/61460 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
Diffstat (limited to 'canvas')
-rw-r--r--canvas/source/directx/dx_textlayout.cxx3
-rw-r--r--canvas/source/directx/dx_textlayout_drawhelper.cxx6
-rw-r--r--canvas/source/directx/dx_textlayout_drawhelper.hxx3
3 files changed, 8 insertions, 4 deletions
diff --git a/canvas/source/directx/dx_textlayout.cxx b/canvas/source/directx/dx_textlayout.cxx
index 16e2dc09129e..ff62ee5e0b80 100644
--- a/canvas/source/directx/dx_textlayout.cxx
+++ b/canvas/source/directx/dx_textlayout.cxx
@@ -207,7 +207,8 @@ namespace dxcanvas
maLogicalAdvancements,
mpFont.get(),
mpFont->getFontMatrix(),
- bAlphaSurface);
+ bAlphaSurface,
+ mnTextDirection != 0);
return true;
}
diff --git a/canvas/source/directx/dx_textlayout_drawhelper.cxx b/canvas/source/directx/dx_textlayout_drawhelper.cxx
index 3b1246cf15c9..f4d51e9d8d73 100644
--- a/canvas/source/directx/dx_textlayout_drawhelper.cxx
+++ b/canvas/source/directx/dx_textlayout_drawhelper.cxx
@@ -68,7 +68,8 @@ namespace dxcanvas
const css::uno::Reference<
css::rendering::XCanvasFont >& rCanvasFont,
const css::geometry::Matrix2D& rFontMatrix,
- bool bAlphaSurface )
+ bool bAlphaSurface,
+ bool bIsRTL)
{
HDC hdc = rGraphics->GetHDC();
@@ -209,7 +210,8 @@ namespace dxcanvas
aText,
pDXArray.get(),
rText.StartPosition,
- rText.Length );
+ rText.Length,
+ bIsRTL ? SalLayoutFlags::BiDiRtl : SalLayoutFlags::NONE);
}
else
{
diff --git a/canvas/source/directx/dx_textlayout_drawhelper.hxx b/canvas/source/directx/dx_textlayout_drawhelper.hxx
index 4bb82ec7c716..897d7eb1c727 100644
--- a/canvas/source/directx/dx_textlayout_drawhelper.hxx
+++ b/canvas/source/directx/dx_textlayout_drawhelper.hxx
@@ -57,7 +57,8 @@ namespace dxcanvas
const css::uno::Reference<
css::rendering::XCanvasFont >& rCanvasFont,
const css::geometry::Matrix2D& rFontMatrix,
- bool bAlphaSurface );
+ bool bAlphaSurface,
+ bool bIsRTL);
css::geometry::RealRectangle2D queryTextBounds(
const css::rendering::StringContext& rText,