Append .DRV to name only if no extension present.
[wine/hacks.git] / dlls / user / bidi16.c
blob253bdadc21d94131ef313c407944afec267ee4de
1 /*
2 * Win16 BiDi functions
3 * Right now, most of these functions do nothing.
4 */
6 #include "winbase.h"
7 #include "wingdi.h"
8 #include "winuser.h"
9 #include "winerror.h"
10 #include "debugtools.h"
12 DEFAULT_DEBUG_CHANNEL(relay);
14 /***********************************************************************
15 * ChangeDialogTemplate16 (USER.905)
16 * FIXME: The prototypes of this function have not been found yet.
18 LONG WINAPI ChangeDialogTemplate16(void) { FIXME("stub (no prototype)\n"); return 0; }
20 /***********************************************************************
21 * BiDiMessageBoxEx16 (USER.910)
22 * FIXME: The prototypes of this function have not been found yet.
24 LONG WINAPI BiDiMessageBoxEx16(void) { FIXME("stub (no prototype)\n"); return 0; }
27 /******************************************************************************
28 * ChangeKeyboardCodePage16 [USER.924]
29 * Change the keyboard layouts to a new pair.
30 * If the language IDs are set to -1, the language is not to be changed.
32 DWORD WINAPI ChangeKeyboardCodePage16( UINT16 iLangLeft, UINT16 iLangRight )
34 FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight );
35 return 0;
39 /******************************************************************************
40 * ChangeKeyboardLanguage16 [USER.912]
41 * Change the keyboard layouts to a new pair.
43 * RETURNS
44 * The old keyboard layout pair.
46 DWORD WINAPI ChangeKeyboardLanguage16( UINT16 iLangLeft, UINT iLangRight )
48 FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight );
49 return 0;
53 /******************************************************************************
54 * CreateDialogIndirectParamML16 [USER.916]
56 HWND16 WINAPI CreateDialogIndirectParamML16( HINSTANCE16 hinstWnd,
57 const void * lpvDlgTmp,
58 HWND16 hwndOwner,
59 DLGPROC16 dlgProc,
60 LPARAM lParamInit,
61 UINT16 iCodePage, UINT16 iLang,
62 LPCSTR lpDlgName,
63 HINSTANCE16 hinstLoad )
65 FIXME( "( %04hx, %p, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n",
66 hinstWnd, lpvDlgTmp, hwndOwner, dlgProc, lParamInit,
67 iCodePage, iLang, lpDlgName, hinstLoad );
68 return 0;
72 /******************************************************************************
73 * DialogBoxIndirectParamML16 [USER.916]
75 HWND16 WINAPI DialogBoxIndirectParamML16( HINSTANCE16 hinstWnd,
76 HGLOBAL16 hglbDlgTemp,
77 HWND16 hwndOwner,
78 DLGPROC16 dlgprc,
79 LPARAM lParamInit,
80 UINT16 iCodePage, UINT16 iLang,
81 LPCSTR lpDlgName,
82 HINSTANCE16 hinstLoad )
84 FIXME( "( %04hx, %04hx, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n",
85 hinstWnd, hglbDlgTemp, hwndOwner, dlgprc, lParamInit,
86 iCodePage, iLang, lpDlgName, hinstLoad );
87 return 0;
92 /******************************************************************************
93 * FindLanguageResource16 [USER.923]
95 HRSRC16 WINAPI FindLanguageResource16( HINSTANCE16 hinst, LPCSTR lpRes,
96 LPCSTR lpResType, UINT16 iLang )
98 FIXME( "( %04hx, %p, %p, %hu ): stub\n", hinst, lpRes, lpResType, iLang );
99 return 0;
103 /******************************************************************************
104 * GetAppCodePage16 [USER.915]
105 * Returns the code page and language of the window
107 * RETURNS
108 * The low word contains the code page, the high word contains the resource language.
110 DWORD WINAPI GetAppCodePage16( HWND16 hwnd )
112 FIXME( "( %04hx ): stub\n", hwnd );
113 return 0;
117 /******************************************************************************
118 * GetBaseCodePage16 [USER.922]
119 * Returns the base code page and resource language.
120 * For example, Hebrew windows will return HebrewCodePage in the low word
121 * and English in the high word.
123 DWORD WINAPI GetBaseCodePage16( void )
125 FIXME( ": stub\n" );
126 return 0;
131 /******************************************************************************
132 * GetCodePageSystemFont16 [USER.913]
133 * Returns the stock font for the requested code page.
135 HFONT16 WINAPI GetCodePageSystemFont16( UINT16 iFont, UINT16 iCodePage )
137 FIXME( "( %hu, %hu ): stub\n", iFont, iCodePage );
138 return 0;
143 /******************************************************************************
144 * GetLanguageName16 [USER.906]
145 * Returns the name of one language in (possibly) a different language.
146 * Currently only handles language 0 (english).
148 * RETURNS
149 * Success: The number of bytes copied to the buffer, not including the null.
150 * Failure: 0
152 UINT WINAPI GetLanguageName16( UINT16 iLang, UINT16 iName,
153 LPSTR lpszName, UINT16 cbBuffer )
155 if ( (iLang == 0) && (iName == 0) ) {
156 if ( !lpszName || cbBuffer < 8 ) {
157 SetLastError( ERROR_INVALID_PARAMETER );
158 return 0;
160 strcpy( lpszName, "English" );
161 return 7;
164 FIXME( "( %hu, %hu, %p, %hu ): No BiDi16\n", iLang, iName, lpszName, cbBuffer );
165 return 0;
169 /******************************************************************************
170 * GetNumLanguages16 [USER.906]
171 * Returns the number of languages in the system.
173 UINT WINAPI GetNumLanguages16( void )
175 FIXME( ": No Bidi16\n" );
176 return 1;
181 /******************************************************************************
182 * GetProcessDefaultLayout16 [USER.1001]
184 * Gets the default layout for parentless windows.
185 * Right now, just returns 0 (left-to-right).
187 * RETURNS
188 * Success: Nonzero
189 * Failure: Zero
191 BOOL16 WINAPI GetProcessDefaultLayout16( DWORD *pdwDefaultLayout )
193 FIXME( "( %p ): no BiDi16\n", pdwDefaultLayout );
194 return GetProcessDefaultLayout( pdwDefaultLayout );
198 /******************************************************************************
199 * LoadLanguageString16 [USER.919]
200 * Loads a string for a specific language.
202 * RETURNS
203 * SUCCESS: The length of the string loaded.
204 * FAILURE: Zero.
206 UINT16 WINAPI LoadLanguageString16( HINSTANCE16 hinst, UINT16 id, UINT16 iLang,
207 LPSTR lpszText, INT16 nBytes )
209 FIXME( "( %04hx, %hu, %hu, %p, %hd ): stub\n", hinst, id, iLang, lpszText, nBytes );
210 return 0;
215 /******************************************************************************
216 * LoadSystemLanguageString16 [USER.902]
217 * Loads a string which is in one of the system language modules.
219 * RETURNS
220 * Success: The length of the string loaded
221 * Failure: Zero
223 UINT WINAPI LoadSystemLanguageString16( HINSTANCE16 hinstCaller, UINT16 id,
224 LPSTR lpszText, INT16 nBytes, UINT16 iLang )
226 FIXME( "( %04hx, %hu, %p, %hd, %hu ): stub\n", hinstCaller, id, lpszText, nBytes, iLang );
227 return 0;
231 /***********************************************************************
232 * MessageBoxEx16 [USER.930]
233 * The multilingual version of MessageBox.
235 INT16 WINAPI MessageBoxEx16( HWND16 hwndParent, LPCSTR lpszText,
236 LPCSTR lpszTitle, UINT16 fuStyle, UINT16 iLang )
238 FIXME( "( %04hx, %p, %p, %hu, %hu ): stub\n", hwndParent, lpszText, lpszTitle,
239 fuStyle, iLang );
240 return 0;
244 /***********************************************************************
245 * QueryCodePage16 [USER.914]
246 * Query code page specific data.
248 LRESULT WINAPI QueryCodePage16( UINT16 idxLang, UINT16 msg,
249 WPARAM16 wParam, LPARAM lParam )
251 FIXME( "( %hu, %hu, %04hx, %08lx ): stub\n", idxLang, msg, wParam, lParam );
252 return 0;
255 /***********************************************************************
256 * SetAppCodePage16 [USER.920]
257 * Set the code page and language of the window to new values.
259 * RETURNS
260 * The low word contains the old code page, the high word contains
261 * the old resource language.
263 DWORD WINAPI SetAppCodePage16( HWND16 hwnd, UINT16 iCodePage, UINT16 iLang,
264 UINT16 fRedraw )
266 FIXME( "( %04hx, %hu, %hu, %hu ): stub\n", hwnd, iCodePage, iLang, fRedraw );
267 return 0;
270 /***********************************************************************
271 * SetDlgItemTextEx16 [USER.911]
272 * Sets the title or text of a control in a dialog box.
273 * Currently only works for language 0 (english)
275 void WINAPI SetDlgItemTextEx16( HWND16 hwnd, INT16 id,
276 LPCSTR lpszText, UINT16 iLang )
278 FIXME( "( %04hx, %hd, %p, %hu ): stub\n", hwnd, id, lpszText, iLang );
281 /******************************************************************************
282 * SetProcessDefaultLayout16 [USER.1000]
284 * Sets the default layout for parentless windows.
285 * Right now, only accepts 0 (left-to-right).
287 * RETURNS
288 * Success: Nonzero
289 * Failure: Zero
291 BOOL16 WINAPI SetProcessDefaultLayout16( DWORD dwDefaultLayout )
293 FIXME( "( %08lx ): No BiDi16\n", dwDefaultLayout );
294 return SetProcessDefaultLayout( dwDefaultLayout );
297 /******************************************************************************
298 * SetWindowTextEx16 [USER.909]
299 * Sets the given window's title to the specified text in the specified language.
301 void WINAPI SetWindowTextEx16( HWND16 hwnd, LPCSTR lpsz, UINT16 iLang )
303 FIXME( "( %04hx, %p, %hu ): stub\n", hwnd, lpsz, iLang );