Nikolay Sivov : dwrite/layout: Simplify run direction check condition.

Alexandre Julliard julliard at winehq.org
Wed Dec 8 15:46:30 CST 2021


Module: wine
Branch: master
Commit: 828e7173bcb46378108aefa03bfa494d557ef98b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=828e7173bcb46378108aefa03bfa494d557ef98b

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Dec  8 14:10:44 2021 +0300

dwrite/layout: Simplify run direction check condition.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dwrite/layout.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index b7ab855d1f1..51fa6cbfbe6 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -1594,10 +1594,9 @@ static HRESULT layout_add_effective_run(struct dwrite_textlayout *layout, const
     run->width = get_cluster_range_width(layout, first_cluster, first_cluster + cluster_count);
     memset(&run->bbox, 0, sizeof(run->bbox));
 
-    /* Check if run direction matches paragraph direction, if it doesn't adjust by
-       run width */
-    if (is_run_rtl(run) ^ is_rtl)
-        run->origin.x = is_rtl ? origin_x - run->width : origin_x + run->width;
+    /* Adjust by run width if direction differs. */
+    if (is_run_rtl(run) != is_rtl)
+        run->origin.x = origin_x + (is_rtl ? -run->width : run->width);
     else
         run->origin.x = origin_x;
 




More information about the wine-cvs mailing list