32#include FT_INTERNAL_DEBUG_H
37#include FT_INTERNAL_OBJECTS_H
47#define FT_COMPONENT glyph
67 if (
slot->format != FT_GLYPH_FORMAT_BITMAP )
80 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
127 cbox->xMin = glyph->
left * 64;
129 cbox->yMax = glyph->
top * 64;
135 ft_bitmap_glyph_class,
138 FT_GLYPH_FORMAT_BITMAP,
159 ft_outline_glyph_init(
FT_Glyph outline_glyph,
213 source->outline.n_contours,
258 slot->outline.flags &= ~FT_OUTLINE_OWNER;
270 ft_outline_glyph_init,
299 if ( !
FT_ALLOC( glyph, clazz->glyph_size ) )
302 glyph->
clazz = clazz;
303 glyph->
format = clazz->glyph_format;
346 if ( clazz->glyph_copy )
369 return FT_THROW( Invalid_Argument );
372 if (
format == FT_GLYPH_FORMAT_BITMAP )
373 clazz = &ft_bitmap_glyph_class;
386 clazz = &
render->glyph_class;
390 return FT_THROW( Invalid_Glyph_Format );
393 return ft_new_glyph(
library, clazz, aglyph );
408 return FT_THROW( Invalid_Slot_Handle );
411 return FT_THROW( Invalid_Argument );
419 if (
slot->advance.x >= 0x8000L * 64 ||
420 slot->advance.x <= -0x8000L * 64 )
422 FT_ERROR((
"FT_Get_Glyph: advance width too large\n" ));
426 if (
slot->advance.y >= 0x8000L * 64 ||
427 slot->advance.y <= -0x8000L * 64 )
429 FT_ERROR((
"FT_Get_Glyph: advance height too large\n" ));
462 if ( !glyph || !glyph->clazz )
469 if ( clazz->glyph_transform )
472 clazz->glyph_transform( glyph,
matrix, delta );
498 acbox->xMin = acbox->yMin = acbox->xMax = acbox->yMax = 0;
500 if ( !glyph || !glyph->clazz )
503 clazz = glyph->clazz;
504 if ( !clazz->glyph_bbox )
508 clazz->glyph_bbox( glyph, acbox );
557 clazz = glyph->
clazz;
563 if ( clazz == &ft_bitmap_glyph_class )
566 if ( !clazz->glyph_prepare )
574 dummy.internal = &dummy_internal;
576 dummy.format = clazz->glyph_format;
593 error = clazz->glyph_prepare( glyph, &
dummy );
648 if ( clazz->glyph_done )
649 clazz->glyph_done( glyph );
void destroy(_Tp *__pointer)
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
enum FT_Render_Mode_ FT_Render_Mode
FT_Vector_Transform(FT_Vector *vector, const FT_Matrix *matrix)
FT_BEGIN_HEADER FT_Bitmap_Init(FT_Bitmap *abitmap)
FT_Bitmap_Done(FT_Library library, FT_Bitmap *bitmap)
FT_Bitmap_Copy(FT_Library library, const FT_Bitmap *source, FT_Bitmap *target)
#define FT_CALLBACK_DEF(x)
#define FT_ERROR(varformat)
ft_bitmap_glyph_done(FT_Glyph bitmap_glyph)
ft_outline_glyph_copy(FT_Glyph outline_source, FT_Glyph outline_target)
ft_outline_glyph_bbox(FT_Glyph outline_glyph, FT_BBox *bbox)
ft_outline_glyph_prepare(FT_Glyph outline_glyph, FT_GlyphSlot slot)
ft_bitmap_glyph_copy(FT_Glyph bitmap_source, FT_Glyph bitmap_target)
FT_Done_Glyph(FT_Glyph glyph)
FT_Glyph_To_Bitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector *origin, FT_Bool destroy)
ft_bitmap_glyph_bbox(FT_Glyph bitmap_glyph, FT_BBox *cbox)
FT_Get_Glyph(FT_GlyphSlot slot, FT_Glyph *aglyph)
FT_Glyph_Copy(FT_Glyph source, FT_Glyph *target)
FT_Glyph_Get_CBox(FT_Glyph glyph, FT_UInt bbox_mode, FT_BBox *acbox)
ft_outline_glyph_transform(FT_Glyph outline_glyph, const FT_Matrix *matrix, const FT_Vector *delta)
FT_New_Glyph(FT_Library library, FT_Glyph_Format format, FT_Glyph *aglyph)
ft_bitmap_glyph_init(FT_Glyph bitmap_glyph, FT_GlyphSlot slot)
FT_Glyph_Transform(FT_Glyph glyph, FT_Matrix *matrix, FT_Vector *delta)
ft_outline_glyph_done(FT_Glyph outline_glyph)
struct FT_BitmapGlyphRec_ * FT_BitmapGlyph
struct FT_OutlineGlyphRec_ * FT_OutlineGlyph
typedefFT_BEGIN_HEADER struct FT_Glyph_Class_ FT_Glyph_Class
enum FT_Glyph_Format_ FT_Glyph_Format
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_ALLOC(ptr, size)
FT_Render_Glyph_Internal(FT_Library library, FT_GlyphSlot slot, FT_Render_Mode render_mode)
#define FT_GLYPH_OWN_BITMAP
#define FT_PIX_CEIL_LONG(x)
#define FT_DEFINE_GLYPH( class_, size_, format_, init_, done_, copy_, transform_, bbox_, prepare_)
FT_Lookup_Renderer(FT_Library library, FT_Glyph_Format format, FT_ListNode *node)
FT_Outline_Translate(const FT_Outline *outline, FT_Pos xOffset, FT_Pos yOffset)
FT_Outline_New(FT_Library library, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline)
FT_Outline_Transform(const FT_Outline *outline, const FT_Matrix *matrix)
FT_Outline_Done(FT_Library library, FT_Outline *outline)
FT_Outline_Copy(const FT_Outline *source, FT_Outline *target)
FT_Outline_Get_CBox(const FT_Outline *outline, FT_BBox *acbox)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLboolean GLboolean GLboolean b
static char memory[1024 *256]
const FT_Glyph_Class * clazz