#include <freetype/ftstroke.h>
#include <freetype/fttrigon.h>
#include <freetype/ftoutln.h>
#include <freetype/internal/ftmemory.h>
#include <freetype/internal/ftdebug.h>
#include <freetype/internal/ftobjs.h>
FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class;
FT_EXPORT_DEF( FT_StrokerBorder )
FT_Outline_GetInsideBorder( FT_Outline* outline )
{ … }
FT_EXPORT_DEF( FT_StrokerBorder )
FT_Outline_GetOutsideBorder( FT_Outline* outline )
{ … }
#define FT_SMALL_CONIC_THRESHOLD …
#define FT_SMALL_CUBIC_THRESHOLD …
#define FT_EPSILON …
#define FT_IS_SMALL( x ) …
static FT_Pos
ft_pos_abs( FT_Pos x )
{ … }
static void
ft_conic_split( FT_Vector* base )
{ … }
static FT_Bool
ft_conic_is_small_enough( FT_Vector* base,
FT_Angle *angle_in,
FT_Angle *angle_out )
{ … }
static void
ft_cubic_split( FT_Vector* base )
{ … }
static FT_Angle
ft_angle_mean( FT_Angle angle1,
FT_Angle angle2 )
{ … }
static FT_Bool
ft_cubic_is_small_enough( FT_Vector* base,
FT_Angle *angle_in,
FT_Angle *angle_mid,
FT_Angle *angle_out )
{ … }
FT_StrokeTags;
#define FT_STROKE_TAG_BEGIN_END …
FT_StrokeBorder;
static FT_Error
ft_stroke_border_grow( FT_StrokeBorder border,
FT_UInt new_points )
{ … }
static void
ft_stroke_border_close( FT_StrokeBorder border,
FT_Bool reverse )
{ … }
static FT_Error
ft_stroke_border_lineto( FT_StrokeBorder border,
FT_Vector* to,
FT_Bool movable )
{ … }
static FT_Error
ft_stroke_border_conicto( FT_StrokeBorder border,
FT_Vector* control,
FT_Vector* to )
{ … }
static FT_Error
ft_stroke_border_cubicto( FT_StrokeBorder border,
FT_Vector* control1,
FT_Vector* control2,
FT_Vector* to )
{ … }
#define FT_ARC_CUBIC_ANGLE …
static FT_Error
ft_stroke_border_arcto( FT_StrokeBorder border,
FT_Vector* center,
FT_Fixed radius,
FT_Angle angle_start,
FT_Angle angle_diff )
{ … }
static FT_Error
ft_stroke_border_moveto( FT_StrokeBorder border,
FT_Vector* to )
{ … }
static void
ft_stroke_border_init( FT_StrokeBorder border,
FT_Memory memory )
{ … }
static void
ft_stroke_border_reset( FT_StrokeBorder border )
{ … }
static void
ft_stroke_border_done( FT_StrokeBorder border )
{ … }
static FT_Error
ft_stroke_border_get_counts( FT_StrokeBorder border,
FT_UInt *anum_points,
FT_UInt *anum_contours )
{ … }
static void
ft_stroke_border_export( FT_StrokeBorder border,
FT_Outline* outline )
{ … }
#define FT_SIDE_TO_ROTATE( s ) …
FT_StrokerRec;
FT_EXPORT_DEF( FT_Error )
FT_Stroker_New( FT_Library library,
FT_Stroker *astroker )
{ … }
FT_EXPORT_DEF( void )
FT_Stroker_Set( FT_Stroker stroker,
FT_Fixed radius,
FT_Stroker_LineCap line_cap,
FT_Stroker_LineJoin line_join,
FT_Fixed miter_limit )
{ … }
FT_EXPORT_DEF( void )
FT_Stroker_Rewind( FT_Stroker stroker )
{ … }
FT_EXPORT_DEF( void )
FT_Stroker_Done( FT_Stroker stroker )
{ … }
static FT_Error
ft_stroker_arcto( FT_Stroker stroker,
FT_Int side )
{ … }
static FT_Error
ft_stroker_cap( FT_Stroker stroker,
FT_Angle angle,
FT_Int side )
{ … }
static FT_Error
ft_stroker_inside( FT_Stroker stroker,
FT_Int side,
FT_Fixed line_length )
{ … }
static FT_Error
ft_stroker_outside( FT_Stroker stroker,
FT_Int side,
FT_Fixed line_length )
{ … }
static FT_Error
ft_stroker_process_corner( FT_Stroker stroker,
FT_Fixed line_length )
{ … }
static FT_Error
ft_stroker_subpath_start( FT_Stroker stroker,
FT_Angle start_angle,
FT_Fixed line_length )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_LineTo( FT_Stroker stroker,
FT_Vector* to )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_ConicTo( FT_Stroker stroker,
FT_Vector* control,
FT_Vector* to )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_CubicTo( FT_Stroker stroker,
FT_Vector* control1,
FT_Vector* control2,
FT_Vector* to )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_BeginSubPath( FT_Stroker stroker,
FT_Vector* to,
FT_Bool open )
{ … }
static FT_Error
ft_stroker_add_reverse_left( FT_Stroker stroker,
FT_Bool open )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_EndSubPath( FT_Stroker stroker )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_GetBorderCounts( FT_Stroker stroker,
FT_StrokerBorder border,
FT_UInt *anum_points,
FT_UInt *anum_contours )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_GetCounts( FT_Stroker stroker,
FT_UInt *anum_points,
FT_UInt *anum_contours )
{ … }
FT_EXPORT_DEF( void )
FT_Stroker_ExportBorder( FT_Stroker stroker,
FT_StrokerBorder border,
FT_Outline* outline )
{ … }
FT_EXPORT_DEF( void )
FT_Stroker_Export( FT_Stroker stroker,
FT_Outline* outline )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Stroker_ParseOutline( FT_Stroker stroker,
FT_Outline* outline,
FT_Bool opened )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Glyph_Stroke( FT_Glyph *pglyph,
FT_Stroker stroker,
FT_Bool destroy )
{ … }
FT_EXPORT_DEF( FT_Error )
FT_Glyph_StrokeBorder( FT_Glyph *pglyph,
FT_Stroker stroker,
FT_Bool inside,
FT_Bool destroy )
{ … }