- Merge from trunk up to r45543
[reactos.git] / dll / win32 / gdi32 / misc / stubsw.c
1 /*
2 * dll/win32/gdi32/misc/stubsw.c
3 *
4 * GDI32.DLL Stubs for Unicode functions
5 *
6 * When you implement one of these functions,
7 * remove its stub from this file.
8 *
9 */
10
11 #include "precomp.h"
12 #include <debug.h>
13
14
15 /*
16 * @unimplemented
17 */
18 BOOL
19 WINAPI
20 PolyTextOutW( HDC hdc, const POLYTEXTW *pptxt, INT cStrings )
21 {
22 for (; cStrings>0; cStrings--, pptxt++)
23 if (!ExtTextOutW( hdc, pptxt->x, pptxt->y, pptxt->uiFlags, &pptxt->rcl, pptxt->lpstr, pptxt->n, pptxt->pdx ))
24 return FALSE;
25 return TRUE;
26 }
27
28 /*
29 * @unimplemented
30 */
31 BOOL
32 WINAPI
33 GetLogColorSpaceW(
34 HCOLORSPACE a0,
35 LPLOGCOLORSPACEW a1,
36 DWORD a2
37 )
38 {
39 UNIMPLEMENTED;
40 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
41 return FALSE;
42 }
43
44
45 /*
46 * @unimplemented
47 */
48 BOOL
49 WINAPI
50 GetICMProfileW(
51 HDC hdc,
52 LPDWORD size,
53 LPWSTR filename
54 )
55 {
56 if (!hdc || !size || !filename) return FALSE;
57
58 UNIMPLEMENTED;
59 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
60 return FALSE;
61 }
62
63
64 /*
65 * @unimplemented
66 */
67 BOOL
68 WINAPI
69 SetICMProfileW(
70 HDC a0,
71 LPWSTR a1
72 )
73 {
74 UNIMPLEMENTED;
75 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
76 return FALSE;
77 }
78
79
80 /*
81 * @unimplemented
82 */
83 int
84 WINAPI
85 EnumICMProfilesW(
86 HDC hDC,
87 ICMENUMPROCW lpEnumICMProfilesFunc,
88 LPARAM lParam
89 )
90 {
91 /*
92 * FIXME - call NtGdiEnumICMProfiles with NULL for lpstrBuffer
93 * to find out how big a buffer we need. Then allocate that buffer
94 * and call NtGdiEnumICMProfiles again to have the buffer filled.
95 *
96 * Finally, step through the buffer ( MULTI-SZ recommended for format ),
97 * and call the user's callback function until we run out of strings or
98 * the user returns FALSE
99 */
100 UNIMPLEMENTED;
101 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
102 return 0;
103 }
104
105
106 /*
107 * @unimplemented
108 */
109 BOOL
110 WINAPI
111 UpdateICMRegKeyW(
112 DWORD a0,
113 LPWSTR a1,
114 LPWSTR a2,
115 UINT a3
116 )
117 {
118 UNIMPLEMENTED;
119 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
120 return FALSE;
121 }
122
123
124 /* === AFTER THIS POINT I GUESS... =========
125 * (based on stack size in Norlander's .def)
126 * === WHERE ARE THEY DEFINED? =============
127 */
128
129
130 /*
131 * @unimplemented
132 */
133 BOOL
134 WINAPI
135 EudcLoadLinkW(LPCWSTR pBaseFaceName,LPCWSTR pEudcFontPath,INT iPriority,INT iFontLinkType)
136 {
137 UNIMPLEMENTED;
138 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
139 return 0;
140 }
141
142 /*
143 * @unimplemented
144 */
145 BOOL
146 WINAPI
147 EudcUnloadLinkW(LPCWSTR pBaseFaceName,LPCWSTR pEudcFontPath)
148 {
149 UNIMPLEMENTED;
150 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
151 return 0;
152 }
153
154 /*
155 * @unimplemented
156 */
157 int
158 WINAPI
159 GdiAddFontResourceW(
160 LPCWSTR lpszFilename,
161 FLONG fl,
162 DESIGNVECTOR *pdv)
163 {
164 return NtGdiAddFontResourceW((PWSTR)lpszFilename, 0, 0, fl, 0, pdv);
165 }
166
167 /*
168 * @implemented
169 */
170 DWORD
171 WINAPI
172 GetEUDCTimeStampExW(LPWSTR lpBaseFaceName)
173 {
174 DWORD retValue = 0;
175
176 if (!lpBaseFaceName)
177 {
178 retValue = NtGdiGetEudcTimeStampEx(NULL,0,FALSE);
179 }
180 else
181 {
182 retValue = NtGdiGetEudcTimeStampEx(lpBaseFaceName, wcslen(lpBaseFaceName), FALSE);
183 }
184
185 return retValue;
186 }
187
188
189
190 /*
191 * @unimplemented
192 */
193 BOOL
194 WINAPI
195 bInitSystemAndFontsDirectoriesW(LPWSTR *SystemDir,LPWSTR *FontsDir)
196 {
197 UNIMPLEMENTED;
198 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
199 return 0;
200 }
201
202 /*
203 * @unimplemented
204 */
205 BOOL
206 WINAPI
207 bMakePathNameW(LPWSTR lpBuffer,LPCWSTR lpFileName,LPWSTR *lpFilePart,DWORD unknown)
208 {
209 UNIMPLEMENTED;
210 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
211 return 0;
212 }
213
214 /*
215 * @implemented
216 */
217 UINT
218 WINAPI
219 GetStringBitmapW(HDC hdc,
220 LPWSTR pwsz,
221 BOOL doCall,
222 UINT cj,
223 BYTE *lpSB)
224 {
225 UINT retValue = 0;
226
227 if (doCall)
228 {
229 retValue = NtGdiGetStringBitmapW(hdc, pwsz, 1, lpSB, cj);
230 }
231
232 return retValue;
233
234 }
235
236
237 BOOL
238 WINAPI
239 CreateScalableFontResourceW(
240 DWORD fdwHidden,
241 LPCWSTR lpszFontRes,
242 LPCWSTR lpszFontFile,
243 LPCWSTR lpszCurrentPath
244 )
245 {
246 HANDLE f;
247
248 UNIMPLEMENTED;
249
250 /* fHidden=1 - only visible for the calling app, read-only, not
251 * enumerated with EnumFonts/EnumFontFamilies
252 * lpszCurrentPath can be NULL
253 */
254
255 /* If the output file already exists, return the ERROR_FILE_EXISTS error as specified in MSDN */
256 if ((f = CreateFileW(lpszFontRes, 0, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)) != INVALID_HANDLE_VALUE) {
257 CloseHandle(f);
258 SetLastError(ERROR_FILE_EXISTS);
259 return FALSE;
260 }
261 return FALSE; /* create failed */
262 }
263
264
265 /* EOF */