#include <ft2build.h>
#include "basepic.h"
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_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
#define FT_COMPONENT trace_glyph |
◆ 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
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)
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
◆ 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()
Definition at line 633 of file ftglyph.c.
634 {
635 if ( glyph )
636 {
639
640
641 if ( clazz->glyph_done )
642 clazz->glyph_done( glyph );
643
645 }
646 }
typedefFT_BEGIN_HEADER struct FT_Glyph_Class_ FT_Glyph_Class
Referenced by FT_Get_Glyph(), FT_Glyph_Copy(), FT_Glyph_Stroke(), FT_Glyph_StrokeBorder(), FT_Glyph_To_Bitmap(), ftc_inode_free(), IntExtTextOutW(), IntGetBitmapGlyphNoCache(), IntGetBitmapGlyphWithCache(), IntGetTextDisposition(), RemoveCachedEntry(), and TextIntGetTextExtentPoint().
◆ FT_Get_Glyph()
Definition at line 363 of file ftglyph.c.
365 {
369
371
372
374 return FT_THROW( Invalid_Slot_Handle );
375
377
378 if ( !aglyph )
379 return FT_THROW( Invalid_Argument );
380
381
382 if (
slot->format == FT_GLYPH_FORMAT_BITMAP )
384
385
388
389 else
390 {
391
393
394
396 clazz = &
render->glyph_class;
397 }
398
399 if ( !clazz )
400 {
403 }
404
405
409
410
411 if (
slot->advance.x >= 0x8000L * 64 ||
412 slot->advance.x <= -0x8000L * 64 )
413 {
414 FT_ERROR((
"FT_Get_Glyph: advance width too large\n" ));
416 goto Exit2;
417 }
418 if (
slot->advance.y >= 0x8000L * 64 ||
419 slot->advance.y <= -0x8000L * 64 )
420 {
421 FT_ERROR((
"FT_Get_Glyph: advance height too large\n" ));
423 goto Exit2;
424 }
425
428
429
430 error = clazz->glyph_init( glyph,
slot );
431
432 Exit2:
433
436 else
437 *aglyph = glyph;
438
441 }
#define FT_BITMAP_GLYPH_CLASS_GET
#define FT_OUTLINE_GLYPH_CLASS_GET
#define FT_ERROR(varformat)
FT_Done_Glyph(FT_Glyph glyph)
FT_Lookup_Renderer(FT_Library library, FT_Glyph_Format format, FT_ListNode *node)
Referenced by ftc_basic_family_load_glyph(), IntGetBitmapGlyphNoCache(), 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 480 of file ftglyph.c.
483 {
485
486
487 if ( !acbox )
488 return;
489
491
492 if ( !glyph || !glyph->
clazz )
493 return;
494
495 clazz = glyph->
clazz;
496 if ( !clazz->glyph_bbox )
497 return;
498
499
500 clazz->glyph_bbox( glyph, acbox );
501
502
505 {
510 }
511
512
515 {
520 }
521 }
◆ FT_Glyph_To_Bitmap()
Definition at line 527 of file ftglyph.c.
531 {
538
539
541
542
543
544 if ( !the_glyph )
545 goto Bad;
546 glyph = *the_glyph;
547 if ( !glyph )
548 goto Bad;
549
550 clazz = glyph->
clazz;
553 goto Bad;
554
555
558
559 if ( !clazz->glyph_prepare )
560 goto Bad;
561
562
563
564
567 dummy.internal = &dummy_internal;
569 dummy.format = clazz->glyph_format;
570
571
576
577#if 1
578
581#else
583#endif
584
585
586 error = clazz->glyph_prepare( glyph, &
dummy );
589
590#if 1
592 {
594
595
599 }
600#endif
601
604
605
609
610
612
615
617
621
623
624 Bad:
627 }
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 IntGetBitmapGlyphNoCache(), and IntGetBitmapGlyphWithCache().
◆ FT_Glyph_Transform()
Definition at line 447 of file ftglyph.c.
450 {
452
453
454 if ( !glyph || !glyph->
clazz )
456 else
457 {
459
460
461 if ( clazz->glyph_transform )
462 {
463
464 clazz->glyph_transform( glyph,
matrix, delta );
465
466
469 }
470 else
472 }
474 }
FT_Vector_Transform(FT_Vector *vec, const FT_Matrix *matrix)
Referenced by FT_Glyph_To_Bitmap().
◆ 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
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)