|
|
|
@ -523,50 +523,6 @@ typedef ptrdiff_t FT_PtrDist; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* Compute the outline bounding box. */ |
|
|
|
|
/* */ |
|
|
|
|
static void |
|
|
|
|
gray_compute_cbox( RAS_ARG ) |
|
|
|
|
{ |
|
|
|
|
FT_Outline* outline = &ras.outline; |
|
|
|
|
FT_Vector* vec = outline->points; |
|
|
|
|
FT_Vector* limit = vec + outline->n_points; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( outline->n_points <= 0 ) |
|
|
|
|
{ |
|
|
|
|
ras.min_ex = ras.max_ex = 0; |
|
|
|
|
ras.min_ey = ras.max_ey = 0; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ras.min_ex = ras.max_ex = vec->x; |
|
|
|
|
ras.min_ey = ras.max_ey = vec->y; |
|
|
|
|
|
|
|
|
|
vec++; |
|
|
|
|
|
|
|
|
|
for ( ; vec < limit; vec++ ) |
|
|
|
|
{ |
|
|
|
|
TPos x = vec->x; |
|
|
|
|
TPos y = vec->y; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( x < ras.min_ex ) ras.min_ex = x; |
|
|
|
|
if ( x > ras.max_ex ) ras.max_ex = x; |
|
|
|
|
if ( y < ras.min_ey ) ras.min_ey = y; |
|
|
|
|
if ( y > ras.max_ey ) ras.max_ey = y; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* truncate the bounding box to integer pixels */ |
|
|
|
|
ras.min_ex = ras.min_ex >> 6; |
|
|
|
|
ras.min_ey = ras.min_ey >> 6; |
|
|
|
|
ras.max_ex = ( ras.max_ex + 63 ) >> 6; |
|
|
|
|
ras.max_ey = ( ras.max_ey + 63 ) >> 6; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* Record the current cell in the table. */ |
|
|
|
@ -1836,6 +1792,50 @@ typedef ptrdiff_t FT_PtrDist; |
|
|
|
|
#endif /* STANDALONE_ */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
/* */ |
|
|
|
|
/* Compute the outline bounding box. */ |
|
|
|
|
/* */ |
|
|
|
|
static void |
|
|
|
|
gray_compute_cbox( RAS_ARG ) |
|
|
|
|
{ |
|
|
|
|
FT_Outline* outline = &ras.outline; |
|
|
|
|
FT_Vector* vec = outline->points; |
|
|
|
|
FT_Vector* limit = vec + outline->n_points; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( outline->n_points <= 0 ) |
|
|
|
|
{ |
|
|
|
|
ras.min_ex = ras.max_ex = 0; |
|
|
|
|
ras.min_ey = ras.max_ey = 0; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ras.min_ex = ras.max_ex = vec->x; |
|
|
|
|
ras.min_ey = ras.max_ey = vec->y; |
|
|
|
|
|
|
|
|
|
vec++; |
|
|
|
|
|
|
|
|
|
for ( ; vec < limit; vec++ ) |
|
|
|
|
{ |
|
|
|
|
TPos x = vec->x; |
|
|
|
|
TPos y = vec->y; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( x < ras.min_ex ) ras.min_ex = x; |
|
|
|
|
if ( x > ras.max_ex ) ras.max_ex = x; |
|
|
|
|
if ( y < ras.min_ey ) ras.min_ey = y; |
|
|
|
|
if ( y > ras.max_ey ) ras.max_ey = y; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* truncate the bounding box to integer pixels */ |
|
|
|
|
ras.min_ex = ras.min_ex >> 6; |
|
|
|
|
ras.min_ey = ras.min_ey >> 6; |
|
|
|
|
ras.max_ex = ( ras.max_ex + 63 ) >> 6; |
|
|
|
|
ras.max_ey = ( ras.max_ey + 63 ) >> 6; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct gray_TBand_ |
|
|
|
|
{ |
|
|
|
|
TPos min, max; |
|
|
|
|