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