Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Macros | Typedefs | Enumerations | Functions | Variables
ftstroke.c File Reference
#include <ft2build.h>
#include "basepic.h"

Go to the source code of this file.

Macros

#define FT_SMALL_CONIC_THRESHOLD   ( FT_ANGLE_PI / 6 )
 
#define FT_SMALL_CUBIC_THRESHOLD   ( FT_ANGLE_PI / 8 )
 
#define FT_EPSILON   2
 
#define FT_IS_SMALL(x)   ( (x) > -FT_EPSILON && (x) < FT_EPSILON )
 
#define FT_STROKE_TAG_BEGIN_END   ( FT_STROKE_TAG_BEGIN | FT_STROKE_TAG_END )
 
#define FT_ARC_CUBIC_ANGLE   ( FT_ANGLE_PI / 2 )
 
#define FT_SIDE_TO_ROTATE(s)   ( FT_ANGLE_PI2 - (s) * FT_ANGLE_PI )
 

Typedefs

typedef enum FT_StrokeTags_ FT_StrokeTags
 
typedef struct FT_StrokeBorderRec_ FT_StrokeBorderRec
 
typedef struct FT_StrokeBorderRec_ * FT_StrokeBorder
 
typedef struct FT_StrokerRec_ FT_StrokerRec
 

Enumerations

enum  FT_StrokeTags_ { FT_STROKE_TAG_ON = 1, FT_STROKE_TAG_CUBIC = 2, FT_STROKE_TAG_BEGIN = 4, FT_STROKE_TAG_END = 8 }
 

Functions

 FT_Outline_GetInsideBorder (FT_Outline *outline)
 
 FT_Outline_GetOutsideBorder (FT_Outline *outline)
 
 FT_Stroker_New (FT_Library library, FT_Stroker *astroker)
 
 FT_Stroker_Set (FT_Stroker stroker, FT_Fixed radius, FT_Stroker_LineCap line_cap, FT_Stroker_LineJoin line_join, FT_Fixed miter_limit)
 
 FT_Stroker_Rewind (FT_Stroker stroker)
 
 FT_Stroker_Done (FT_Stroker stroker)
 
 FT_Stroker_LineTo (FT_Stroker stroker, FT_Vector *to)
 
 FT_Stroker_ConicTo (FT_Stroker stroker, FT_Vector *control, FT_Vector *to)
 
 FT_Stroker_CubicTo (FT_Stroker stroker, FT_Vector *control1, FT_Vector *control2, FT_Vector *to)
 
 FT_Stroker_BeginSubPath (FT_Stroker stroker, FT_Vector *to, FT_Bool open)
 
 FT_Stroker_EndSubPath (FT_Stroker stroker)
 
 FT_Stroker_GetBorderCounts (FT_Stroker stroker, FT_StrokerBorder border, FT_UInt *anum_points, FT_UInt *anum_contours)
 
 FT_Stroker_GetCounts (FT_Stroker stroker, FT_UInt *anum_points, FT_UInt *anum_contours)
 
 FT_Stroker_ExportBorder (FT_Stroker stroker, FT_StrokerBorder border, FT_Outline *outline)
 
 FT_Stroker_Export (FT_Stroker stroker, FT_Outline *outline)
 
 FT_Stroker_ParseOutline (FT_Stroker stroker, FT_Outline *outline, FT_Bool opened)
 
 FT_Glyph_Stroke (FT_Glyph *pglyph, FT_Stroker stroker, FT_Bool destroy)
 
 FT_Glyph_StrokeBorder (FT_Glyph *pglyph, FT_Stroker stroker, FT_Bool inside, FT_Bool destroy)
 

Variables

const FT_Glyph_Class ft_outline_glyph_class
 

Macro Definition Documentation

◆ FT_ARC_CUBIC_ANGLE

#define FT_ARC_CUBIC_ANGLE   ( FT_ANGLE_PI / 2 )

Definition at line 521 of file ftstroke.c.

◆ FT_EPSILON

#define FT_EPSILON   2

Definition at line 65 of file ftstroke.c.

◆ FT_IS_SMALL

#define FT_IS_SMALL (   x)    ( (x) > -FT_EPSILON && (x) < FT_EPSILON )

Definition at line 67 of file ftstroke.c.

Referenced by FT_Stroker_ConicTo(), and FT_Stroker_CubicTo().

◆ FT_SIDE_TO_ROTATE

#define FT_SIDE_TO_ROTATE (   s)    ( FT_ANGLE_PI2 - (s) * FT_ANGLE_PI )

Definition at line 759 of file ftstroke.c.

◆ FT_SMALL_CONIC_THRESHOLD

#define FT_SMALL_CONIC_THRESHOLD   ( FT_ANGLE_PI / 6 )

Definition at line 62 of file ftstroke.c.

◆ FT_SMALL_CUBIC_THRESHOLD

#define FT_SMALL_CUBIC_THRESHOLD   ( FT_ANGLE_PI / 8 )

Definition at line 63 of file ftstroke.c.

◆ FT_STROKE_TAG_BEGIN_END

#define FT_STROKE_TAG_BEGIN_END   ( FT_STROKE_TAG_BEGIN | FT_STROKE_TAG_END )

Definition at line 300 of file ftstroke.c.

Typedef Documentation

◆ FT_StrokeBorder

typedef struct FT_StrokeBorderRec_ * FT_StrokeBorder

◆ FT_StrokeBorderRec

typedef struct FT_StrokeBorderRec_ FT_StrokeBorderRec

◆ FT_StrokerRec

typedef struct FT_StrokerRec_ FT_StrokerRec

◆ FT_StrokeTags

Enumeration Type Documentation

◆ FT_StrokeTags_

Enumerator
FT_STROKE_TAG_ON 
FT_STROKE_TAG_CUBIC 
FT_STROKE_TAG_BEGIN 
FT_STROKE_TAG_END 

Definition at line 291 of file ftstroke.c.

Function Documentation

◆ FT_Glyph_Stroke()

FT_Glyph_Stroke ( FT_Glyph pglyph,
FT_Stroker  stroker,
FT_Bool  destroy 
)

◆ FT_Glyph_StrokeBorder()

FT_Glyph_StrokeBorder ( FT_Glyph pglyph,
FT_Stroker  stroker,
FT_Bool  inside,
FT_Bool  destroy 
)

◆ FT_Outline_GetInsideBorder()

FT_Outline_GetInsideBorder ( FT_Outline outline)

◆ FT_Outline_GetOutsideBorder()

FT_Outline_GetOutsideBorder ( FT_Outline outline)

◆ FT_Stroker_BeginSubPath()

FT_Stroker_BeginSubPath ( FT_Stroker  stroker,
FT_Vector to,
FT_Bool  open 
)

◆ FT_Stroker_ConicTo()

FT_Stroker_ConicTo ( FT_Stroker  stroker,
FT_Vector control,
FT_Vector to 
)

Definition at line 1352 of file ftstroke.c.

References error, FT_Angle, FT_Bool, FT_Err_Ok, FT_IS_SMALL, TRUE, FT_Vector_::x, and FT_Vector_::y.

Referenced by FT_Stroker_ParseOutline().

◆ FT_Stroker_CubicTo()

FT_Stroker_CubicTo ( FT_Stroker  stroker,
FT_Vector control1,
FT_Vector control2,
FT_Vector to 
)

Definition at line 1547 of file ftstroke.c.

References error, FT_Angle, FT_Bool, FT_Err_Ok, FT_IS_SMALL, TRUE, FT_Vector_::x, and FT_Vector_::y.

Referenced by FT_Stroker_ParseOutline().

◆ FT_Stroker_Done()

FT_Stroker_Done ( FT_Stroker  stroker)

Definition at line 858 of file ftstroke.c.

◆ FT_Stroker_EndSubPath()

FT_Stroker_EndSubPath ( FT_Stroker  stroker)

Definition at line 1856 of file ftstroke.c.

References error, and FT_Err_Ok.

Referenced by FT_Stroker_ParseOutline().

◆ FT_Stroker_Export()

FT_Stroker_Export ( FT_Stroker  stroker,
FT_Outline outline 
)

◆ FT_Stroker_ExportBorder()

FT_Stroker_ExportBorder ( FT_Stroker  stroker,
FT_StrokerBorder  border,
FT_Outline outline 
)

Definition at line 2009 of file ftstroke.c.

References FT_STROKER_BORDER_LEFT, and FT_STROKER_BORDER_RIGHT.

Referenced by FT_Glyph_StrokeBorder(), and FT_Stroker_Export().

◆ FT_Stroker_GetBorderCounts()

FT_Stroker_GetBorderCounts ( FT_Stroker  stroker,
FT_StrokerBorder  border,
FT_UInt anum_points,
FT_UInt anum_contours 
)

Definition at line 1946 of file ftstroke.c.

References error, and FT_THROW().

Referenced by FT_Glyph_StrokeBorder().

◆ FT_Stroker_GetCounts()

FT_Stroker_GetCounts ( FT_Stroker  stroker,
FT_UInt anum_points,
FT_UInt anum_contours 
)

Definition at line 1977 of file ftstroke.c.

References error.

Referenced by FT_Glyph_Stroke().

◆ FT_Stroker_LineTo()

FT_Stroker_LineTo ( FT_Stroker  stroker,
FT_Vector to 
)

◆ FT_Stroker_New()

FT_Stroker_New ( FT_Library  library,
FT_Stroker astroker 
)

Definition at line 789 of file ftstroke.c.

References error, FT_NEW, FT_THROW(), library, FT_LibraryRec_::memory, and NULL.

◆ FT_Stroker_ParseOutline()

FT_Stroker_ParseOutline ( FT_Stroker  stroker,
FT_Outline outline,
FT_Bool  opened 
)

◆ FT_Stroker_Rewind()

FT_Stroker_Rewind ( FT_Stroker  stroker)

Definition at line 845 of file ftstroke.c.

Referenced by FT_Stroker_ParseOutline(), and FT_Stroker_Set().

◆ FT_Stroker_Set()

FT_Stroker_Set ( FT_Stroker  stroker,
FT_Fixed  radius,
FT_Stroker_LineCap  line_cap,
FT_Stroker_LineJoin  line_join,
FT_Fixed  miter_limit 
)

Definition at line 819 of file ftstroke.c.

References FT_EXPORT_DEF, and FT_Stroker_Rewind().

Variable Documentation

◆ ft_outline_glyph_class

const FT_Glyph_Class ft_outline_glyph_class

Referenced by FT_Stroker_ParseOutline().