27#ifndef OUTLINE_DECOMPOSER_H
28#define OUTLINE_DECOMPOSER_H
34#include <freetype2/ft2build.h>
87 inline static unsigned int onCurve(
char aTags )
94 return onCurve( aTags ) ? 0 : aTags & 0x2;
109 return hasDropout( aTags ) ? ( aTags & 0x38 ) : 0;
113 static int moveTo(
const FT_Vector* aEndPoint,
void* aCallbackData );
115 static int lineTo(
const FT_Vector* aEndPoint,
void* aCallbackData );
117 static int quadraticTo(
const FT_Vector* aControlPoint,
const FT_Vector* aEndPoint,
118 void* aCallbackData );
120 static int cubicTo(
const FT_Vector* aFirstControlPoint,
const FT_Vector* aSecondControlPoint,
121 const FT_Vector* aEndPoint,
void* aCallbackData );
static unsigned int hasDropout(char aTags)
static unsigned int onCurve(char aTags)
void addContourPoint(const VECTOR2D &p)
static int cubicTo(const FT_Vector *aFirstControlPoint, const FT_Vector *aSecondControlPoint, const FT_Vector *aEndPoint, void *aCallbackData)
static int moveTo(const FT_Vector *aEndPoint, void *aCallbackData)
int approximateContour(const GLYPH_POINTS &aPoints, const std::vector< bool > &aPointOnCurve, GLYPH_POINTS &aResult) const
static unsigned int thirdOrderBezierPoint(char aTags)
static int lineTo(const FT_Vector *aEndPoint, void *aCallbackData)
void OutlineToSegments(CONTOURS *aContours)
void contourToSegmentsAndArcs(CONTOUR &aResult, unsigned int aContourIndex) const
bool approximateQuadraticBezierCurve(GLYPH_POINTS &result, const GLYPH_POINTS &bezier) const
int winding(const GLYPH_POINTS &aContour) const
static unsigned int secondOrderBezierPoint(char aTags)
static int quadraticTo(const FT_Vector *aControlPoint, const FT_Vector *aEndPoint, void *aCallbackData)
static unsigned int dropoutMode(char aTags)
bool approximateCubicBezierCurve(GLYPH_POINTS &result, const GLYPH_POINTS &bezier) const
bool approximateBezierCurve(GLYPH_POINTS &result, const GLYPH_POINTS &bezier) const
std::vector< GLYPH_POINTS > GLYPH_POINTS_LIST
std::vector< CONTOUR > CONTOURS
std::vector< BOX2D > GLYPH_BOUNDING_BOX_LIST
std::vector< VECTOR2D > GLYPH_POINTS
FT_Orientation m_Orientation