ReactOS 0.4.16-dev-981-g80eb313
svmm.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * svmm.h
4 *
5 * The FreeType Multiple Masters and GX var services (specification).
6 *
7 * Copyright (C) 2003-2019 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#ifndef SVMM_H_
20#define SVMM_H_
21
22#include FT_INTERNAL_SERVICE_H
23
24
26
27
28 /*
29 * A service used to manage multiple-masters data in a given face.
30 *
31 * See the related APIs in `ftmm.h' (FT_MULTIPLE_MASTERS_H).
32 *
33 */
34
35#define FT_SERVICE_ID_MULTI_MASTERS "multi-masters"
36
37
38 typedef FT_Error
40 FT_Multi_Master* master );
41
42 typedef FT_Error
44 FT_MM_Var* *master );
45
46 typedef FT_Error
48 FT_UInt num_coords,
49 FT_Long* coords );
50
51 /* use return value -1 to indicate that the new coordinates */
52 /* are equal to the current ones; no changes are thus needed */
53 typedef FT_Error
55 FT_UInt num_coords,
57
58 /* use return value -1 to indicate that the new coordinates */
59 /* are equal to the current ones; no changes are thus needed */
60 typedef FT_Error
62 FT_UInt num_coords,
63 FT_Long* coords );
64
65 typedef FT_Error
67 FT_UInt num_coords,
69
70 typedef FT_Error
72 FT_UInt instance_index );
73
74 typedef FT_Error
76 FT_UInt num_coords,
77 FT_Long* coords );
78
79 typedef FT_Error
81 FT_UInt *num_coords,
83 FT_Fixed* *normalizedcoords,
84 FT_MM_Var* *mm_var );
85
86 typedef void
88
89 typedef FT_Error
92 FT_Fixed* weight_vector );
93
94 typedef FT_Error
96 FT_UInt* len,
97 FT_Fixed* weight_vector );
98
99
100 FT_DEFINE_SERVICE( MultiMasters )
101 {
102 FT_Get_MM_Func get_mm;
103 FT_Set_MM_Design_Func set_mm_design;
104 FT_Set_MM_Blend_Func set_mm_blend;
105 FT_Get_MM_Blend_Func get_mm_blend;
106 FT_Get_MM_Var_Func get_mm_var;
107 FT_Set_Var_Design_Func set_var_design;
108 FT_Get_Var_Design_Func get_var_design;
109 FT_Set_Instance_Func set_instance;
110 FT_Set_MM_WeightVector_Func set_mm_weightvector;
111 FT_Get_MM_WeightVector_Func get_mm_weightvector;
112
113 /* for internal use; only needed for code sharing between modules */
114 FT_Get_Var_Blend_Func get_var_blend;
115 FT_Done_Blend_Func done_blend;
116 };
117
118
119#define FT_DEFINE_SERVICE_MULTIMASTERSREC( class_, \
120 get_mm_, \
121 set_mm_design_, \
122 set_mm_blend_, \
123 get_mm_blend_, \
124 get_mm_var_, \
125 set_var_design_, \
126 get_var_design_, \
127 set_instance_, \
128 set_weightvector_, \
129 get_weightvector_, \
130 get_var_blend_, \
131 done_blend_ ) \
132 static const FT_Service_MultiMastersRec class_ = \
133 { \
134 get_mm_, \
135 set_mm_design_, \
136 set_mm_blend_, \
137 get_mm_blend_, \
138 get_mm_var_, \
139 set_var_design_, \
140 get_var_design_, \
141 set_instance_, \
142 set_weightvector_, \
143 get_weightvector_, \
144 get_var_blend_, \
145 done_blend_ \
146 };
147
148 /* */
149
150
152
153#endif /* SVMM_H_ */
154
155
156/* END */
WORD face[3]
Definition: mesh.c:4747
struct FT_FaceRec_ * FT_Face
Definition: freetype.h:499
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
#define FT_DEFINE_SERVICE(name)
Definition: ftserv.h:480
signed long FT_Fixed
Definition: fttypes.h:287
int FT_Error
Definition: fttypes.h:299
signed long FT_Long
Definition: fttypes.h:242
unsigned int FT_UInt
Definition: fttypes.h:231
GLuint coords
Definition: glext.h:7368
GLenum GLsizei len
Definition: glext.h:6722
FT_Error(* FT_Set_Instance_Func)(FT_Face face, FT_UInt instance_index)
Definition: svmm.h:71
FT_Error(* FT_Set_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:61
FT_Error(* FT_Get_MM_Func)(FT_Face face, FT_Multi_Master *master)
Definition: svmm.h:39
FT_Error(* FT_Set_MM_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:47
FT_Error(* FT_Get_MM_Var_Func)(FT_Face face, FT_MM_Var **master)
Definition: svmm.h:43
FT_Error(* FT_Get_MM_Blend_Func)(FT_Face face, FT_UInt num_coords, FT_Long *coords)
Definition: svmm.h:75
void(* FT_Done_Blend_Func)(FT_Face)
Definition: svmm.h:87
FT_Error(* FT_Get_Var_Blend_Func)(FT_Face face, FT_UInt *num_coords, FT_Fixed **coords, FT_Fixed **normalizedcoords, FT_MM_Var **mm_var)
Definition: svmm.h:80
FT_Error(* FT_Get_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: svmm.h:66
FT_Error(* FT_Get_MM_WeightVector_Func)(FT_Face face, FT_UInt *len, FT_Fixed *weight_vector)
Definition: svmm.h:95
FT_Error(* FT_Set_MM_WeightVector_Func)(FT_Face face, FT_UInt len, FT_Fixed *weight_vector)
Definition: svmm.h:90
FT_Error(* FT_Set_Var_Design_Func)(FT_Face face, FT_UInt num_coords, FT_Fixed *coords)
Definition: svmm.h:54