96e650734f3952feae0c12be1652405d0d1530ea
[reactos.git] / reactos / include / win32k / text.h
1
2 #ifndef __WIN32K_TEXT_H
3 #define __WIN32K_TEXT_H
4
5 /* GDI logical font object */
6 typedef struct
7 {
8 LOGFONTW logfont;
9 HFONT GDIFontHandle;
10 } TEXTOBJ, *PTEXTOBJ;
11
12 /* Internal interface */
13
14 #define TEXTOBJ_AllocText() \
15 ((HFONT) GDIOBJ_AllocObj (sizeof (TEXTOBJ), GO_FONT_MAGIC))
16 #define TEXTOBJ_FreeText(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GO_FONT_MAGIC, GDIOBJFLAG_DEFAULT)
17 #define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GO_FONT_MAGIC))
18 #define TEXTOBJ_UnlockText(hBMObj) GDIOBJ_UnlockObj ((HGDIOBJ) hBMObj, GO_FONT_MAGIC)
19
20 NTSTATUS TextIntRealizeFont(HFONT FontHandle);
21 NTSTATUS TextIntCreateFontIndirect(CONST LPLOGFONTW lf, HFONT *NewFont);
22
23 int
24 STDCALL
25 W32kAddFontResource(LPCWSTR Filename);
26
27 HFONT
28 STDCALL
29 W32kCreateFont(int Height,
30 int Width,
31 int Escapement,
32 int Orientation,
33 int Weight,
34 DWORD Italic,
35 DWORD Underline,
36 DWORD StrikeOut,
37 DWORD CharSet,
38 DWORD OutputPrecision,
39 DWORD ClipPrecision,
40 DWORD Quality,
41 DWORD PitchAndFamily,
42 LPCWSTR Face);
43
44 HFONT
45 STDCALL
46 W32kCreateFontIndirect(CONST LPLOGFONTW lf);
47
48 BOOL
49 STDCALL
50 W32kCreateScalableFontResource(DWORD Hidden,
51 LPCWSTR FontRes,
52 LPCWSTR FontFile,
53 LPCWSTR CurrentPath);
54
55 int
56 STDCALL
57 W32kEnumFontFamilies(HDC hDC,
58 LPCWSTR Family,
59 FONTENUMPROC EnumFontFamProc,
60 LPARAM lParam);
61
62 int
63 STDCALL
64 W32kEnumFontFamiliesEx(HDC hDC,
65 LPLOGFONTW Logfont,
66 FONTENUMPROC EnumFontFamExProc,
67 LPARAM lParam,
68 DWORD Flags);
69
70 int
71 STDCALL
72 W32kEnumFonts(HDC hDC,
73 LPCWSTR FaceName,
74 FONTENUMPROC FontFunc,
75 LPARAM lParam);
76
77 BOOL
78 STDCALL
79 W32kExtTextOut(HDC hDC,
80 int X,
81 int Y,
82 UINT Options,
83 CONST LPRECT rc,
84 LPCWSTR String,
85 UINT Count,
86 CONST LPINT Dx);
87
88 BOOL
89 STDCALL
90 W32kGetAspectRatioFilterEx(HDC hDC,
91 LPSIZE AspectRatio);
92
93 BOOL
94 STDCALL
95 W32kGetCharABCWidths(HDC hDC,
96 UINT FirstChar,
97 UINT LastChar,
98 LPABC abc);
99
100 BOOL
101 STDCALL
102 W32kGetCharABCWidthsFloat(HDC hDC,
103 UINT FirstChar,
104 UINT LastChar,
105 LPABCFLOAT abcF);
106
107 DWORD
108 STDCALL
109 W32kGetCharacterPlacement(HDC hDC,
110 LPCWSTR String,
111 int Count,
112 int MaxExtent,
113 LPGCP_RESULTS Results,
114 DWORD Flags);
115
116 BOOL
117 STDCALL
118 W32kGetCharWidth(HDC hDC,
119 UINT FirstChar,
120 UINT LastChar,
121 LPINT Buffer);
122
123 BOOL
124 STDCALL
125 W32kGetCharWidth32(HDC hDC,
126 UINT FirstChar,
127 UINT LastChar,
128 LPINT Buffer);
129
130 BOOL
131 STDCALL
132 W32kGetCharWidthFloat(HDC hDC,
133 UINT FirstChar,
134 UINT LastChar,
135 PFLOAT Buffer);
136
137 DWORD
138 STDCALL
139 W32kGetFontLanguageInfo(HDC hDC);
140
141 DWORD
142 STDCALL
143 W32kGetGlyphOutline(HDC hDC,
144 UINT Char,
145 UINT Format,
146 LPGLYPHMETRICS gm,
147 DWORD Bufsize,
148 LPVOID Buffer,
149 CONST LPMAT2 mat2);
150
151 DWORD
152 STDCALL
153 W32kGetKerningPairs(HDC hDC,
154 DWORD NumPairs,
155 LPKERNINGPAIR krnpair);
156
157 UINT
158 STDCALL
159 W32kGetOutlineTextMetrics(HDC hDC,
160 UINT Data,
161 LPOUTLINETEXTMETRICW otm);
162
163 BOOL
164 STDCALL
165 W32kGetRasterizerCaps(LPRASTERIZER_STATUS rs,
166 UINT Size);
167
168 UINT
169 STDCALL
170 W32kGetTextCharset(HDC hDC);
171
172 UINT
173 STDCALL
174 W32kGetTextCharsetInfo(HDC hDC,
175 LPFONTSIGNATURE Sig,
176 DWORD Flags);
177
178 BOOL
179 STDCALL
180 W32kGetTextExtentExPoint(HDC hDC,
181 LPCWSTR String,
182 int Count,
183 int MaxExtent,
184 LPINT Fit,
185 LPINT Dx,
186 LPSIZE Size);
187
188 BOOL
189 STDCALL
190 W32kGetTextExtentPoint(HDC hDC,
191 LPCWSTR String,
192 int Count,
193 LPSIZE Size);
194
195 BOOL
196 STDCALL
197 W32kGetTextExtentPoint32(HDC hDC,
198 LPCWSTR String,
199 int Count,
200 LPSIZE Size);
201
202 int
203 STDCALL
204 W32kGetTextFace(HDC hDC,
205 int Count,
206 LPWSTR FaceName);
207
208 BOOL
209 STDCALL
210 W32kGetTextMetrics(HDC hDC,
211 LPTEXTMETRICW tm);
212
213 BOOL
214 STDCALL
215 W32kPolyTextOut(HDC hDC,
216 CONST LPPOLYTEXT txt,
217 int Count);
218
219 BOOL
220 STDCALL
221 W32kRemoveFontResource(LPCWSTR FileName);
222
223 DWORD
224 STDCALL
225 W32kSetMapperFlags(HDC hDC,
226 DWORD Flag);
227
228 UINT
229 STDCALL
230 W32kSetTextAlign(HDC hDC,
231 UINT Mode);
232
233 COLORREF
234 STDCALL
235 W32kSetTextColor(HDC hDC,
236 COLORREF Color);
237
238 BOOL
239 STDCALL
240 W32kSetTextJustification(HDC hDC,
241 int BreakExtra,
242 int BreakCount);
243
244 BOOL
245 STDCALL
246 W32kTextOut(HDC hDC,
247 int XStart,
248 int YStart,
249 LPCWSTR String,
250 int Count);
251
252 UINT
253 STDCALL
254 W32kTranslateCharsetInfo(PDWORD Src,
255 LPCHARSETINFO CSI,
256 DWORD Flags);
257
258 #endif
259