mirror of https://github.com/freetype/freetype
* src/raster/ftraster.c (FT_Outline_Get_CBox ) [STANDALONE_]: Removed.
This commit is contained in:
parent
c62027d910
commit
df39b017d9
|
@ -2427,94 +2427,6 @@
|
|||
}
|
||||
|
||||
|
||||
#ifdef STANDALONE_
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* The following functions should only compile in stand-alone mode,
|
||||
* i.e., when building this component without the rest of FreeType.
|
||||
*
|
||||
*/
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
* FT_Outline_Get_CBox
|
||||
*
|
||||
* @Description:
|
||||
* Return an outline's `control box'. The control box encloses all
|
||||
* the outline's points, including Bézier control points. Though it
|
||||
* coincides with the exact bounding box for most glyphs, it can be
|
||||
* slightly larger in some situations (like when rotating an outline
|
||||
* that contains Bézier outside arcs).
|
||||
*
|
||||
* Computing the control box is very fast, while getting the bounding
|
||||
* box can take much more time as it needs to walk over all segments
|
||||
* and arcs in the outline. To get the latter, you can use the
|
||||
* `ftbbox' component, which is dedicated to this single task.
|
||||
*
|
||||
* @Input:
|
||||
* outline ::
|
||||
* A pointer to the source outline descriptor.
|
||||
*
|
||||
* @Output:
|
||||
* acbox ::
|
||||
* The outline's control box.
|
||||
*
|
||||
* @Note:
|
||||
* See @FT_Glyph_Get_CBox for a discussion of tricky fonts.
|
||||
*/
|
||||
|
||||
static void
|
||||
FT_Outline_Get_CBox( const FT_Outline* outline,
|
||||
FT_BBox *acbox )
|
||||
{
|
||||
if ( outline && acbox )
|
||||
{
|
||||
Long xMin, yMin, xMax, yMax;
|
||||
|
||||
|
||||
if ( outline->n_points == 0 )
|
||||
{
|
||||
xMin = 0;
|
||||
yMin = 0;
|
||||
xMax = 0;
|
||||
yMax = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
FT_Vector* vec = outline->points;
|
||||
FT_Vector* limit = vec + outline->n_points;
|
||||
|
||||
|
||||
xMin = xMax = vec->x;
|
||||
yMin = yMax = vec->y;
|
||||
vec++;
|
||||
|
||||
for ( ; vec < limit; vec++ )
|
||||
{
|
||||
Long x, y;
|
||||
|
||||
|
||||
x = vec->x;
|
||||
if ( x < xMin ) xMin = x;
|
||||
if ( x > xMax ) xMax = x;
|
||||
|
||||
y = vec->y;
|
||||
if ( y < yMin ) yMin = y;
|
||||
if ( y > yMax ) yMax = y;
|
||||
}
|
||||
}
|
||||
acbox->xMin = xMin;
|
||||
acbox->xMax = xMax;
|
||||
acbox->yMin = yMin;
|
||||
acbox->yMax = yMax;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* STANDALONE_ */
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* @Function:
|
||||
|
|
Loading…
Reference in New Issue