freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 4c3bd2a 28/68: [stroker] Minor clean-up.


From: Werner Lemberg
Subject: [freetype2] master 4c3bd2a 28/68: [stroker] Minor clean-up.
Date: Fri, 5 Mar 2021 09:29:38 -0500 (EST)

branch: master
commit 4c3bd2ab9372658ba2a3f09935db0c774abdff41
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>

    [stroker] Minor clean-up.
    
    * src/base/ftstroke.c (FT_Stroker_{ConicTo,CubicTo}): Reset the last
    line length.
    (FT_Stroker_EndSubPath): Call `ft_stroker_process_corner'.
---
 ChangeLog           |  8 ++++++++
 src/base/ftstroke.c | 36 ++++++++----------------------------
 2 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 758bec7..1668f7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2021-01-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+       [stroker] Minor clean-up.
+
+       * src/base/ftstroke.c (FT_Stroker_{ConicTo,CubicTo}): Reset the last
+       line length.
+       (FT_Stroker_EndSubPath): Call `ft_stroker_process_corner'.
+
 2021-01-27  Vincent Torri  <vincent.torri@gmail.com>
 
        * builds/windows/ftsystem.c: Add shared memory support on Windows.
diff --git a/src/base/ftstroke.c b/src/base/ftstroke.c
index e209639..d0ad833 100644
--- a/src/base/ftstroke.c
+++ b/src/base/ftstroke.c
@@ -1528,7 +1528,8 @@
       stroker->angle_in = angle_out;
     }
 
-    stroker->center = *to;
+    stroker->center      = *to;
+    stroker->line_length = 0;
 
   Exit:
     return error;
@@ -1744,7 +1745,8 @@
       stroker->angle_in = angle_out;
     }
 
-    stroker->center = *to;
+    stroker->center      = *to;
+    stroker->line_length = 0;
 
   Exit:
     return error;
@@ -1897,10 +1899,6 @@
     }
     else
     {
-      FT_Angle  turn;
-      FT_Int    inside_side;
-
-
       /* close the path if needed */
       if ( stroker->center.x != stroker->subpath_start.x ||
            stroker->center.y != stroker->subpath_start.y )
@@ -1912,29 +1910,11 @@
 
       /* process the corner */
       stroker->angle_out = stroker->subpath_angle;
-      turn               = FT_Angle_Diff( stroker->angle_in,
-                                          stroker->angle_out );
-
-      /* no specific corner processing is required if the turn is 0 */
-      if ( turn != 0 )
-      {
-        /* when we turn to the right, the inside side is 0 */
-        /* otherwise, the inside side is 1 */
-        inside_side = ( turn < 0 );
-
-        error = ft_stroker_inside( stroker,
-                                   inside_side,
-                                   stroker->subpath_line_length );
-        if ( error )
-          goto Exit;
 
-        /* process the outside side */
-        error = ft_stroker_outside( stroker,
-                                    !inside_side,
-                                    stroker->subpath_line_length );
-        if ( error )
-          goto Exit;
-      }
+      error = ft_stroker_process_corner( stroker,
+                                         stroker->subpath_line_length );
+      if ( error )
+        goto Exit;
 
       /* then end our two subpaths */
       ft_stroke_border_close( stroker->borders + 0, FALSE );



reply via email to

[Prev in Thread] Current Thread [Next in Thread]