sdk-world
v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Toggle main menu visibility
Loading...
Searching...
No Matches
ftcimage.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* ftcimage.h
4
*
5
* FreeType Generic Image cache (specification)
6
*
7
* Copyright (C) 2000-2025 by
8
* David Turner, Robert Wilhelm, and Werner Lemberg.
9
*
10
* This file is part of the FreeType project, and may only be used,
11
* modified, and distributed under the terms of the FreeType project
12
* license, LICENSE.TXT. By continuing to use, modify, or distribute
13
* this file you indicate that you have read the license and
14
* understand and accept it fully.
15
*
16
*/
17
18
19
/*
20
* FTC_ICache is an _abstract_ cache used to store a single FT_Glyph
21
* image per cache node.
22
*
23
* FTC_ICache extends FTC_GCache. For an implementation example,
24
* see FTC_ImageCache in `src/cache/ftbasic.c'.
25
*/
26
27
28
/**************************************************************************
29
*
30
* Each image cache really manages FT_Glyph objects.
31
*
32
*/
33
34
39
#ifndef FTCIMAGE_H_
40
#define FTCIMAGE_H_
41
42
43
#include <
freetype/ftcache.h
>
44
#include "
ftcglyph.h
"
45
46
FT_BEGIN_HEADER
47
48
49
/* the FT_Glyph image node type - we store only 1 glyph per node */
50
typedef
struct
FTC_INodeRec_
51
{
52
FTC_GNodeRec gnode;
53
FT_Glyph glyph;
54
55
} FTC_INodeRec, *FTC_INode;
56
57
#define FTC_INODE( x ) ( (FTC_INode)( x ) )
58
#define FTC_INODE_GINDEX( x ) FTC_GNODE( x )->gindex
59
#define FTC_INODE_FAMILY( x ) FTC_GNODE( x )->family
60
61
typedef
FT_Error
62
(*FTC_IFamily_LoadGlyphFunc)( FTC_Family family,
63
FT_UInt gindex,
64
FTC_Cache cache,
65
FT_Glyph *aglyph );
66
67
typedef
struct
FTC_IFamilyClassRec_
68
{
69
FTC_MruListClassRec clazz;
70
FTC_IFamily_LoadGlyphFunc family_load_glyph;
71
72
} FTC_IFamilyClassRec;
73
74
typedef
const
FTC_IFamilyClassRec* FTC_IFamilyClass;
75
76
#define FTC_IFAMILY_CLASS( x ) ((FTC_IFamilyClass)(x))
77
78
#define FTC_CACHE_IFAMILY_CLASS( x ) \
79
FTC_IFAMILY_CLASS( FTC_CACHE_GCACHE_CLASS( x )->family_class )
80
81
82
/* can be used as a @FTC_Node_FreeFunc */
83
FT_LOCAL(
void
)
84
FTC_INode_Free( FTC_INode inode,
85
FTC_Cache cache );
86
87
/* Can be used as @FTC_Node_NewFunc. `gquery.index' and `gquery.family'
88
* must be set correctly. This function will call the `family_load_glyph'
89
* method to load the FT_Glyph into the cache node.
90
*/
91
FT_LOCAL( FT_Error )
92
FTC_INode_New( FTC_INode *pinode,
93
FTC_GQuery gquery,
94
FTC_Cache cache );
95
96
#if 0
97
/* can be used as @FTC_Node_WeightFunc */
98
FT_LOCAL( FT_ULong )
99
FTC_INode_Weight( FTC_INode inode );
100
#endif
101
102
103
/* */
104
105
FT_END_HEADER
106
107
#endif
/* FTCIMAGE_H_ */
108
109
110
/* END */
ftcache.h
ftcglyph.h
FTC_IFamilyClassRec_
Definition
ftcimage.h:68
FTC_INodeRec_
Definition
ftcimage.h:51
freetype
src
cache
ftcimage.h
Generated by
1.18.0