[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master fff58f542 2/3: * src/smooth/ftgrays.c (gray_convert_g
From: |
Werner Lemberg |
Subject: |
[freetype2] master fff58f542 2/3: * src/smooth/ftgrays.c (gray_convert_glyph): Refactor for convenience. |
Date: |
Sun, 14 Apr 2024 15:51:32 -0400 (EDT) |
branch: master
commit fff58f5424e4214c5ce3b35f8735d670ec40496f
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* src/smooth/ftgrays.c (gray_convert_glyph): Refactor for convenience.
---
src/smooth/ftgrays.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index 0ca5e30b3..3345e7991 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1907,23 +1907,24 @@ typedef ptrdiff_t FT_PtrDist;
do
{
- TCoord width = band[0] - band[1];
- TCoord w;
+ TCoord i;
int error;
- for ( w = 0; w < width; ++w )
- ras.ycells[w] = ras.cell_null;
+ ras.min_ey = band[1];
+ ras.max_ey = band[0];
- /* memory management: skip ycells */
- n = ( (size_t)width * sizeof ( PCell ) + sizeof ( TCell ) - 1 ) /
- sizeof ( TCell );
+ ras.count_ey = ras.max_ey - ras.min_ey;
+
+ /* memory management: zero out and skip ycells */
+ for ( i = 0; i < ras.count_ey; ++i )
+ ras.ycells[i] = ras.cell_null;
+
+ n = ( (size_t)ras.count_ey * sizeof ( PCell ) + sizeof ( TCell ) - 1 )
+ / sizeof ( TCell );
ras.cell_free = buffer + n;
ras.cell = ras.cell_null;
- ras.min_ey = band[1];
- ras.max_ey = band[0];
- ras.count_ey = width;
error = gray_convert_glyph_inner( RAS_VAR_ continued );
continued = 1;
@@ -1941,10 +1942,10 @@ typedef ptrdiff_t FT_PtrDist;
return error;
/* render pool overflow; we will reduce the render band by half */
- width >>= 1;
+ i = ( band[0] - band[1] ) >> 1;
/* this should never happen even with tiny rendering pool */
- if ( width == 0 )
+ if ( i == 0 )
{
FT_TRACE7(( "gray_convert_glyph: rotten glyph\n" ));
return FT_THROW( Raster_Overflow );
@@ -1952,7 +1953,7 @@ typedef ptrdiff_t FT_PtrDist;
band++;
band[1] = band[0];
- band[0] += width;
+ band[0] += i;
} while ( band >= bands );
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master fff58f542 2/3: * src/smooth/ftgrays.c (gray_convert_glyph): Refactor for convenience.,
Werner Lemberg <=