freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master e92027377 2/2: * src/raster/ftraster.c (Bezier_Up): I


From: Werner Lemberg
Subject: [freetype2] master e92027377 2/2: * src/raster/ftraster.c (Bezier_Up): Improve flow.
Date: Sun, 5 Nov 2023 23:15:54 -0500 (EST)

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

    * src/raster/ftraster.c (Bezier_Up): Improve flow.
---
 src/raster/ftraster.c | 42 +++++++++++++++---------------------------
 1 file changed, 15 insertions(+), 27 deletions(-)

diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c
index 4af0b4db1..c2d8f5d2f 100644
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -1123,7 +1123,7 @@
                       Long       miny,
                       Long       maxy )
   {
-    Long  y1, y2, e, e2, e0, dy;
+    Long  y1, y2, e, e2, dy;
     Long  dx, x2;
 
     TPoint*  start_arc;
@@ -1138,38 +1138,26 @@
     if ( y2 < miny || y1 > maxy )
       goto Fin;
 
-    e2 = FLOOR( y2 );
+    e2 = y2 > maxy ? maxy : FLOOR( y2 );
+    e  = y1 < miny ? miny : CEILING( y1 );
 
-    if ( e2 > maxy )
-      e2 = maxy;
-
-    e0 = miny;
-
-    if ( y1 < miny )
-      e = miny;
-    else
+    if ( ras.fresh )
     {
-      e  = CEILING( y1 );
-      e0 = e;
+      ras.cProfile->start = (Int)TRUNC( e );
+      ras.fresh = FALSE;
+    }
 
-      if ( FRAC( y1 ) == 0 )
+    if ( y1 == e )
+    {
+      if ( ras.joint )
       {
-        if ( ras.joint )
-        {
-          top--;
-          ras.joint = FALSE;
-        }
-
-        *top++ = arc[degree].x;
-
-        e += ras.precision;
+        top--;
+        ras.joint = FALSE;
       }
-    }
 
-    if ( ras.fresh )
-    {
-      ras.cProfile->start = (Int)TRUNC( e0 );
-      ras.fresh = FALSE;
+      *top++ = arc[degree].x;
+
+      e += ras.precision;
     }
 
     if ( e2 < e )



reply via email to

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