- Added support for NTLDR style freeloader GUI. To enable, edit freeldr.ini and add:
[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 FONTOBJ *Font;
10 BOOLEAN Initialized; /* Don't reinitialize for each DC */
11 } TEXTOBJ, *PTEXTOBJ;
12
13 /* Internal interface */
14
15 #define TEXTOBJ_AllocText() \
16 ((HFONT) GDIOBJ_AllocObj (GDI_OBJECT_TYPE_FONT))
17 #define TEXTOBJ_FreeText(hBMObj) GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT)
18 #define TEXTOBJ_LockText(hBMObj) ((PTEXTOBJ) GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GDI_OBJECT_TYPE_FONT))
19 #define TEXTOBJ_UnlockText(pBMObj) GDIOBJ_UnlockObjByPtr (pBMObj)
20
21 NTSTATUS FASTCALL TextIntRealizeFont(HFONT FontHandle);
22 NTSTATUS FASTCALL TextIntCreateFontIndirect(CONST LPLOGFONTW lf, HFONT *NewFont);
23
24 int
25 STDCALL
26 NtGdiAddFontResource(PUNICODE_STRING Filename,
27 DWORD fl);
28
29 HFONT
30 STDCALL
31 NtGdiCreateFont(int Height,
32 int Width,
33 int Escapement,
34 int Orientation,
35 int Weight,
36 DWORD Italic,
37 DWORD Underline,
38 DWORD StrikeOut,
39 DWORD CharSet,
40 DWORD OutputPrecision,
41 DWORD ClipPrecision,
42 DWORD Quality,
43 DWORD PitchAndFamily,
44 LPCWSTR Face);
45
46 HFONT
47 STDCALL
48 NtGdiCreateFontIndirect(CONST LPLOGFONTW lf);
49
50 BOOL
51 STDCALL
52 NtGdiCreateScalableFontResource(DWORD Hidden,
53 LPCWSTR FontRes,
54 LPCWSTR FontFile,
55 LPCWSTR CurrentPath);
56
57 int
58 STDCALL
59 NtGdiEnumFonts(HDC hDC,
60 LPCWSTR FaceName,
61 FONTENUMPROCW FontFunc,
62 LPARAM lParam);
63
64 BOOL
65 STDCALL
66 NtGdiExtTextOut(HDC hdc,
67 int X,
68 int Y,
69 UINT fuOptions,
70 CONST RECT *lprc,
71 LPCWSTR lpString,
72 UINT cbCount,
73 CONST INT *lpDx);
74
75 BOOL
76 STDCALL
77 NtGdiGetAspectRatioFilterEx(HDC hDC,
78 LPSIZE AspectRatio);
79
80 BOOL
81 STDCALL
82 NtGdiGetCharABCWidths(HDC hDC,
83 UINT FirstChar,
84 UINT LastChar,
85 LPABC abc);
86
87 BOOL
88 STDCALL
89 NtGdiGetCharABCWidthsFloat(HDC hDC,
90 UINT FirstChar,
91 UINT LastChar,
92 LPABCFLOAT abcF);
93
94 DWORD
95 STDCALL
96 NtGdiGetCharacterPlacement(HDC hDC,
97 LPCWSTR String,
98 int Count,
99 int MaxExtent,
100 LPGCP_RESULTSW Results,
101 DWORD Flags);
102
103 BOOL
104 STDCALL
105 NtGdiGetCharWidth32(HDC hDC,
106 UINT FirstChar,
107 UINT LastChar,
108 LPINT Buffer);
109
110 BOOL
111 STDCALL
112 NtGdiGetCharWidthFloat(HDC hDC,
113 UINT FirstChar,
114 UINT LastChar,
115 PFLOAT Buffer);
116
117 DWORD
118 STDCALL
119 NtGdiGetFontLanguageInfo(HDC hDC);
120
121 DWORD
122 STDCALL
123 NtGdiGetGlyphOutline(HDC hDC,
124 UINT Char,
125 UINT Format,
126 LPGLYPHMETRICS gm,
127 DWORD Bufsize,
128 LPVOID Buffer,
129 CONST LPMAT2 mat2);
130
131 DWORD
132 STDCALL
133 NtGdiGetKerningPairs(HDC hDC,
134 DWORD NumPairs,
135 LPKERNINGPAIR krnpair);
136
137 UINT
138 STDCALL
139 NtGdiGetOutlineTextMetrics(HDC hDC,
140 UINT Data,
141 LPOUTLINETEXTMETRICW otm);
142
143 BOOL
144 STDCALL
145 NtGdiGetRasterizerCaps(LPRASTERIZER_STATUS rs,
146 UINT Size);
147
148 UINT
149 STDCALL
150 NtGdiGetTextCharset(HDC hDC);
151
152 UINT
153 STDCALL
154 NtGdiGetTextCharsetInfo(HDC hDC,
155 LPFONTSIGNATURE Sig,
156 DWORD Flags);
157
158 BOOL
159 STDCALL
160 NtGdiGetTextExtentExPoint(HDC hDC,
161 LPCWSTR String,
162 int Count,
163 int MaxExtent,
164 LPINT Fit,
165 LPINT Dx,
166 LPSIZE Size);
167
168 BOOL
169 STDCALL
170 NtGdiGetTextExtentPoint(HDC hDC,
171 LPCWSTR String,
172 int Count,
173 LPSIZE Size);
174
175 BOOL
176 STDCALL
177 NtGdiGetTextExtentPoint32(HDC hDC,
178 LPCWSTR String,
179 int Count,
180 LPSIZE Size);
181
182 int
183 STDCALL
184 NtGdiGetTextFace(HDC hDC,
185 int Count,
186 LPWSTR FaceName);
187
188 BOOL
189 STDCALL
190 NtGdiGetTextMetrics(HDC hDC,
191 LPTEXTMETRICW tm);
192
193 BOOL
194 STDCALL
195 NtGdiPolyTextOut(HDC hDC,
196 CONST LPPOLYTEXTW txt,
197 int Count);
198
199 BOOL
200 STDCALL
201 NtGdiRemoveFontResource(LPCWSTR FileName);
202
203 DWORD
204 STDCALL
205 NtGdiSetMapperFlags(HDC hDC,
206 DWORD Flag);
207
208 UINT
209 STDCALL
210 NtGdiSetTextAlign(HDC hDC,
211 UINT Mode);
212
213 COLORREF
214 STDCALL
215 NtGdiSetTextColor(HDC hDC,
216 COLORREF Color);
217
218 BOOL
219 STDCALL
220 NtGdiSetTextJustification(HDC hDC,
221 int BreakExtra,
222 int BreakCount);
223
224 BOOL
225 STDCALL
226 NtGdiTextOut(HDC hDC,
227 int XStart,
228 int YStart,
229 LPCWSTR String,
230 int Count);
231
232 #endif
233