[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 )
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master e92027377 2/2: * src/raster/ftraster.c (Bezier_Up): Improve flow.,
Werner Lemberg <=