Go to the source code of this file.
|
| | ft_bitmap_glyph_init (FT_Glyph bitmap_glyph, FT_GlyphSlot slot) |
| |
| | ft_bitmap_glyph_copy (FT_Glyph bitmap_source, FT_Glyph bitmap_target) |
| |
| | ft_bitmap_glyph_done (FT_Glyph bitmap_glyph) |
| |
| | ft_bitmap_glyph_bbox (FT_Glyph bitmap_glyph, FT_BBox *cbox) |
| |
| | FT_DEFINE_GLYPH (ft_bitmap_glyph_class, sizeof(FT_BitmapGlyphRec), FT_GLYPH_FORMAT_BITMAP, ft_bitmap_glyph_init, ft_bitmap_glyph_done, ft_bitmap_glyph_copy, NULL, ft_bitmap_glyph_bbox, NULL) |
| |
| | ft_outline_glyph_done (FT_Glyph outline_glyph) |
| |
| | ft_outline_glyph_copy (FT_Glyph outline_source, FT_Glyph outline_target) |
| |
| | ft_outline_glyph_transform (FT_Glyph outline_glyph, const FT_Matrix *matrix, const FT_Vector *delta) |
| |
| | ft_outline_glyph_bbox (FT_Glyph outline_glyph, FT_BBox *bbox) |
| |
| | ft_outline_glyph_prepare (FT_Glyph outline_glyph, FT_GlyphSlot slot) |
| |
| | FT_DEFINE_GLYPH (ft_outline_glyph_class, sizeof(FT_OutlineGlyphRec), FT_GLYPH_FORMAT_OUTLINE, ft_outline_glyph_init, ft_outline_glyph_done, ft_outline_glyph_copy, ft_outline_glyph_transform, ft_outline_glyph_bbox, ft_outline_glyph_prepare) |
| |
| | FT_Glyph_Copy (FT_Glyph source, FT_Glyph *target) |
| |
| | FT_New_Glyph (FT_Library library, FT_Glyph_Format format, FT_Glyph *aglyph) |
| |
| | FT_Get_Glyph (FT_GlyphSlot slot, FT_Glyph *aglyph) |
| |
| | FT_Glyph_Transform (FT_Glyph glyph, FT_Matrix *matrix, FT_Vector *delta) |
| |
| | FT_Glyph_Get_CBox (FT_Glyph glyph, FT_UInt bbox_mode, FT_BBox *acbox) |
| |
| | FT_Glyph_To_Bitmap (FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector *origin, FT_Bool destroy) |
| |
| | FT_Done_Glyph (FT_Glyph glyph) |
| |
◆ FT_COMPONENT
◆ ft_bitmap_glyph_bbox()
Definition at line 122 of file ftglyph.c.
124 {
126
127
132 }
struct FT_BitmapGlyphRec_ * FT_BitmapGlyph
FT_BEGIN_HEADER typedef signed long FT_Pos
◆ ft_bitmap_glyph_copy()
Definition at line 95 of file ftglyph.c.
97 {
101
102
105
107 }
FT_Bitmap_Copy(FT_Library library, const FT_Bitmap *source, FT_Bitmap *target)
◆ ft_bitmap_glyph_done()
| ft_bitmap_glyph_done |
( |
FT_Glyph |
bitmap_glyph | ) |
|
Definition at line 111 of file ftglyph.c.
112 {
115
116
118 }
FT_Bitmap_Done(FT_Library library, FT_Bitmap *bitmap)
◆ ft_bitmap_glyph_init()
Definition at line 60 of file ftglyph.c.
62 {
66
67
68 if (
slot->format != FT_GLYPH_FORMAT_BITMAP )
69 {
72 }
73
76
77
79 {
81 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
82 }
83 else
84 {
87 }
88
91 }
FT_BEGIN_HEADER FT_Bitmap_Init(FT_Bitmap *abitmap)
#define FT_GLYPH_OWN_BITMAP
Referenced by FT_Glyph_To_Bitmap().
◆ FT_DEFINE_GLYPH() [1/2]
Definition at line 135 of file ftglyph.c.
162 {
168
169
170
171 if (
slot->format != FT_GLYPH_FORMAT_OUTLINE )
172 {
175 }
176
177
184
186
189 }
struct FT_OutlineGlyphRec_ * FT_OutlineGlyph
FT_Outline_New(FT_Library library, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline)
FT_Outline_Copy(const FT_Outline *source, FT_Outline *target)
◆ FT_DEFINE_GLYPH() [2/2]
Definition at line 265 of file ftglyph.c.
292 {
296
297
299
300 if ( !
FT_ALLOC( glyph, clazz->glyph_size ) )
301 {
303 glyph->
clazz = clazz;
304 glyph->
format = clazz->glyph_format;
305
306 *aglyph = glyph;
307 }
308
310 }
#define FT_ALLOC(ptr, size)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
static char memory[1024 *256]
const FT_Glyph_Class * clazz
◆ FT_Done_Glyph()
◆ FT_Get_Glyph()
Definition at line 401 of file ftglyph.c.
403 {
406
407
409 return FT_THROW( Invalid_Slot_Handle );
410
411 if ( !aglyph )
412 return FT_THROW( Invalid_Argument );
413
414
418
419
420 if (
slot->advance.x >= 0x8000L * 64 ||
421 slot->advance.x <= -0x8000L * 64 )
422 {
423 FT_ERROR((
"FT_Get_Glyph: advance width too large\n" ));
425 goto Exit2;
426 }
427 if (
slot->advance.y >= 0x8000L * 64 ||
428 slot->advance.y <= -0x8000L * 64 )
429 {
430 FT_ERROR((
"FT_Get_Glyph: advance height too large\n" ));
432 goto Exit2;
433 }
434
437
438
440
441 Exit2:
442
445 else
446 *aglyph = glyph;
447
450 }
#define FT_ERROR(varformat)
FT_Done_Glyph(FT_Glyph glyph)
FT_New_Glyph(FT_Library library, FT_Glyph_Format format, FT_Glyph *aglyph)
Referenced by ftc_basic_family_load_glyph(), and IntGetBitmapGlyphWithCache().
◆ FT_Glyph_Copy()
Definition at line 316 of file ftglyph.c.
318 {
322
323
324
326 {
329 }
330
332
334 {
337 }
338
343
346
347 if ( clazz->glyph_copy )
349
352 else
354
357 }
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
Referenced by FT_Glyph_Stroke(), and FT_Glyph_StrokeBorder().
◆ FT_Glyph_Get_CBox()
Definition at line 489 of file ftglyph.c.
492 {
494
495
496 if ( !acbox )
497 return;
498
500
501 if ( !glyph || !glyph->
clazz )
502 return;
503
504 clazz = glyph->
clazz;
505 if ( !clazz->glyph_bbox )
506 return;
507
508
509 clazz->glyph_bbox( glyph, acbox );
510
511
514 {
519 }
520
521
524 {
529 }
530 }
#define FT_PIX_CEIL_LONG(x)
◆ FT_Glyph_To_Bitmap()
Definition at line 536 of file ftglyph.c.
540 {
547
549
550
551
552 if ( !the_glyph )
553 goto Bad;
554 glyph = *the_glyph;
555 if ( !glyph )
556 goto Bad;
557
558 clazz = glyph->
clazz;
561 goto Bad;
562
563
564 if ( clazz == &ft_bitmap_glyph_class )
566
567 if ( !clazz->glyph_prepare )
568 goto Bad;
569
570
571
572
575 dummy.internal = &dummy_internal;
577 dummy.format = clazz->glyph_format;
578
579
584
585#if 1
586
589#else
591#endif
592
593
594 error = clazz->glyph_prepare( glyph, &
dummy );
597
598#if 1
600 {
602
603
607 }
608#endif
609
612
613
617
618
620
623
625
629
631
632 Bad:
635 }
void destroy(_Tp *__pointer)
ft_bitmap_glyph_init(FT_Glyph bitmap_glyph, FT_GlyphSlot slot)
FT_Glyph_Transform(FT_Glyph glyph, FT_Matrix *matrix, FT_Vector *delta)
FT_Render_Glyph_Internal(FT_Library library, FT_GlyphSlot slot, FT_Render_Mode render_mode)
GLboolean GLboolean GLboolean b
Referenced by IntGetBitmapGlyphWithCache().
◆ FT_Glyph_Transform()
Definition at line 456 of file ftglyph.c.
459 {
461
462
463 if ( !glyph || !glyph->
clazz )
465 else
466 {
468
469
470 if ( clazz->glyph_transform )
471 {
472
473 clazz->glyph_transform( glyph,
matrix, delta );
474
475
478 }
479 else
481 }
483 }
FT_Vector_Transform(FT_Vector *vector, const FT_Matrix *matrix)
Referenced by FT_Glyph_To_Bitmap().
◆ FT_New_Glyph()
Definition at line 363 of file ftglyph.c.
366 {
368
370 return FT_THROW( Invalid_Argument );
371
372
373 if (
format == FT_GLYPH_FORMAT_BITMAP )
374 clazz = &ft_bitmap_glyph_class;
375
376
377 else if (
format == FT_GLYPH_FORMAT_OUTLINE )
379
380 else
381 {
382
384
385
387 clazz = &
render->glyph_class;
388 }
389
390 if ( !clazz )
391 return FT_THROW( Invalid_Glyph_Format );
392
393
394 return ft_new_glyph(
library, clazz, aglyph );
395 }
FT_Lookup_Renderer(FT_Library library, FT_Glyph_Format format, FT_ListNode *node)
FT_CALLBACK_TABLE const FT_Glyph_Class ft_outline_glyph_class
Referenced by FT_Get_Glyph().
◆ ft_outline_glyph_bbox()
Definition at line 240 of file ftglyph.c.
242 {
244
245
247 }
FT_Outline_Get_CBox(const FT_Outline *outline, FT_BBox *acbox)
◆ ft_outline_glyph_copy()
Definition at line 203 of file ftglyph.c.
205 {
210
211
214 source->outline.n_contours,
218
220 }
◆ ft_outline_glyph_done()
| ft_outline_glyph_done |
( |
FT_Glyph |
outline_glyph | ) |
|
Definition at line 193 of file ftglyph.c.
194 {
196
197
199 }
FT_Outline_Done(FT_Library library, FT_Outline *outline)
◆ ft_outline_glyph_prepare()
Definition at line 251 of file ftglyph.c.
253 {
255
256
257 slot->format = FT_GLYPH_FORMAT_OUTLINE;
259 slot->outline.flags &= ~FT_OUTLINE_OWNER;
260
262 }
◆ ft_outline_glyph_transform()
Definition at line 224 of file ftglyph.c.
227 {
229
230
233
234 if ( delta )
236 }
FT_Outline_Translate(const FT_Outline *outline, FT_Pos xOffset, FT_Pos yOffset)
FT_Outline_Transform(const FT_Outline *outline, const FT_Matrix *matrix)