Mercurial > hg > Game > Cerium
annotate freetype2/freetype/ftsystem.h @ 1769:4baed436fc58 draft
minor fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 23 Nov 2013 02:15:22 +0900 |
parents | a8ab91f49cac |
children |
rev | line source |
---|---|
1206
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 /***************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 /* ftsystem.h */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 /* FreeType low-level system interface definition (specification). */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 /* Copyright 1996-2001, 2002, 2005, 2010 by */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 /* This file is part of the FreeType project, and may only be used, */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 /* modified, and distributed under the terms of the FreeType project */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 /* this file you indicate that you have read the license and */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 /* understand and accept it fully. */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 /***************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 #ifndef __FTSYSTEM_H__ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 #define __FTSYSTEM_H__ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 #include <ft2build.h> |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 FT_BEGIN_HEADER |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 /* <Section> */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 /* system_interface */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 /* <Title> */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 /* System Interface */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 /* <Abstract> */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 /* How FreeType manages memory and i/o. */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 /* <Description> */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 /* This section contains various definitions related to memory */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 /* management and i/o access. You need to understand this */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 /* information if you want to use a custom memory manager or you own */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 /* i/o streams. */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 /* M E M O R Y M A N A G E M E N T */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 * @type: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 * FT_Memory |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 * A handle to a given memory manager object, defined with an |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 * @FT_MemoryRec structure. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 typedef struct FT_MemoryRec_* FT_Memory; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 * @functype: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 * FT_Alloc_Func |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 * A function used to allocate `size' bytes from `memory'. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 * memory :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 * A handle to the source memory manager. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 * size :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 * The size in bytes to allocate. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 * @return: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 * Address of new memory block. 0~in case of failure. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 typedef void* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 (*FT_Alloc_Func)( FT_Memory memory, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 long size ); |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 * @functype: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 * FT_Free_Func |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 * A function used to release a given block of memory. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 * memory :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 * A handle to the source memory manager. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 * block :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 * The address of the target memory block. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 typedef void |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 (*FT_Free_Func)( FT_Memory memory, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 void* block ); |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 * @functype: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 * FT_Realloc_Func |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 * A function used to re-allocate a given block of memory. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 * memory :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 * A handle to the source memory manager. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 * cur_size :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 * The block's current size in bytes. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 * new_size :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 * The block's requested new size. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 * block :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 * The block's current address. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 * @return: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 * New block address. 0~in case of memory shortage. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 * @note: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 * In case of error, the old block must still be available. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 typedef void* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 (*FT_Realloc_Func)( FT_Memory memory, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 long cur_size, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 long new_size, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 void* block ); |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 * @struct: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 * FT_MemoryRec |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 * A structure used to describe a given memory manager to FreeType~2. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 * @fields: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 * user :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 * A generic typeless pointer for user data. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 * alloc :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 * A pointer type to an allocation function. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 * free :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 * A pointer type to an memory freeing function. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
167 * realloc :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
168 * A pointer type to a reallocation function. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
169 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
170 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
171 struct FT_MemoryRec_ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
172 { |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
173 void* user; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
174 FT_Alloc_Func alloc; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
175 FT_Free_Func free; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
176 FT_Realloc_Func realloc; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
177 }; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
178 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
179 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
180 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
181 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
182 /* I / O M A N A G E M E N T */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
183 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
184 /*************************************************************************/ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
185 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
186 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
187 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
188 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
189 * @type: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
190 * FT_Stream |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
191 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
192 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
193 * A handle to an input stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
194 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
195 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
196 typedef struct FT_StreamRec_* FT_Stream; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
197 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
198 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
199 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
200 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
201 * @struct: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
202 * FT_StreamDesc |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
203 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
204 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
205 * A union type used to store either a long or a pointer. This is used |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
206 * to store a file descriptor or a `FILE*' in an input stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
207 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
208 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
209 typedef union FT_StreamDesc_ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
210 { |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
211 long value; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
212 void* pointer; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
213 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
214 } FT_StreamDesc; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
215 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
216 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
217 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
218 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
219 * @functype: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
220 * FT_Stream_IoFunc |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
221 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
222 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
223 * A function used to seek and read data from a given input stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
224 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
225 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
226 * stream :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
227 * A handle to the source stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
228 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
229 * offset :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
230 * The offset of read in stream (always from start). |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
231 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
232 * buffer :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
233 * The address of the read buffer. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
234 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
235 * count :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
236 * The number of bytes to read from the stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
237 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
238 * @return: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
239 * The number of bytes effectively read by the stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
240 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
241 * @note: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
242 * This function might be called to perform a seek or skip operation |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
243 * with a `count' of~0. A non-zero return value then indicates an |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
244 * error. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
245 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
246 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
247 typedef unsigned long |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
248 (*FT_Stream_IoFunc)( FT_Stream stream, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
249 unsigned long offset, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
250 unsigned char* buffer, |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
251 unsigned long count ); |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
252 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
253 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
254 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
255 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
256 * @functype: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
257 * FT_Stream_CloseFunc |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
258 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
259 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
260 * A function used to close a given input stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
261 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
262 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
263 * stream :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
264 * A handle to the target stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
265 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
266 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
267 typedef void |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
268 (*FT_Stream_CloseFunc)( FT_Stream stream ); |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
269 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
270 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
271 /************************************************************************* |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
272 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
273 * @struct: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
274 * FT_StreamRec |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
275 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
276 * @description: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
277 * A structure used to describe an input stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
278 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
279 * @input: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
280 * base :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
281 * For memory-based streams, this is the address of the first stream |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
282 * byte in memory. This field should always be set to NULL for |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
283 * disk-based streams. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
284 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
285 * size :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
286 * The stream size in bytes. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
287 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
288 * pos :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
289 * The current position within the stream. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
290 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
291 * descriptor :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
292 * This field is a union that can hold an integer or a pointer. It is |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
293 * used by stream implementations to store file descriptors or `FILE*' |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
294 * pointers. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
295 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
296 * pathname :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
297 * This field is completely ignored by FreeType. However, it is often |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
298 * useful during debugging to use it to store the stream's filename |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
299 * (where available). |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
300 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
301 * read :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
302 * The stream's input function. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
303 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
304 * close :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
305 * The stream's close function. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
306 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
307 * memory :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
308 * The memory manager to use to preload frames. This is set |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
309 * internally by FreeType and shouldn't be touched by stream |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
310 * implementations. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
311 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
312 * cursor :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
313 * This field is set and used internally by FreeType when parsing |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
314 * frames. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
315 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
316 * limit :: |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
317 * This field is set and used internally by FreeType when parsing |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
318 * frames. |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
319 * |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
320 */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
321 typedef struct FT_StreamRec_ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
322 { |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
323 unsigned char* base; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
324 unsigned long size; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
325 unsigned long pos; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
326 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
327 FT_StreamDesc descriptor; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
328 FT_StreamDesc pathname; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
329 FT_Stream_IoFunc read; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
330 FT_Stream_CloseFunc close; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
331 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
332 FT_Memory memory; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
333 unsigned char* cursor; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
334 unsigned char* limit; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
335 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
336 } FT_StreamRec; |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
337 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
338 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
339 /* */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
340 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
341 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
342 FT_END_HEADER |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
343 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
344 #endif /* __FTSYSTEM_H__ */ |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
345 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
346 |
a8ab91f49cac
add freetype2,ft2build.h
Takao YONAMINE <e095763@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
347 /* END */ |