Release 20030408.
[wine/gsoc-2012-control.git] / dlls / user / bidi16.c
blobf5da3ba7bc3b50219636ac9c823a7d2d61115f73
1 /*
2 * Win16 BiDi functions
3 * Copyright 2000 Erez Volk
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 * NOTE: Right now, most of these functions do nothing.
22 #include <string.h>
23 #include "winbase.h"
24 #include "wingdi.h"
25 #include "wine/winuser16.h"
26 #include "winerror.h"
27 #include "wine/debug.h"
29 WINE_DEFAULT_DEBUG_CHANNEL(relay);
31 /***********************************************************************
32 * ChangeDialogTemplate (USER.905)
33 * FIXME: The prototypes of this function have not been found yet.
35 LONG WINAPI ChangeDialogTemplate16(void) { FIXME("stub (no prototype)\n"); return 0; }
37 /***********************************************************************
38 * BiDiMessageBoxEx (USER.910)
39 * FIXME: The prototypes of this function have not been found yet.
41 LONG WINAPI BiDiMessageBoxEx16(void) { FIXME("stub (no prototype)\n"); return 0; }
44 /******************************************************************************
45 * ChangeKeyboardCodePage [USER.924]
46 * Change the keyboard layouts to a new pair.
47 * If the language IDs are set to -1, the language is not to be changed.
49 DWORD WINAPI ChangeKeyboardCodePage16( UINT16 iLangLeft, UINT16 iLangRight )
51 FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight );
52 return 0;
56 /******************************************************************************
57 * ChangeKeyboardLanguage [USER.912]
58 * Change the keyboard layouts to a new pair.
60 * RETURNS
61 * The old keyboard layout pair.
63 DWORD WINAPI ChangeKeyboardLanguage16( UINT16 iLangLeft, UINT iLangRight )
65 FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight );
66 return 0;
70 /******************************************************************************
71 * CreateDialogIndirectParamML [USER.916]
73 HWND16 WINAPI CreateDialogIndirectParamML16( HINSTANCE16 hinstWnd,
74 const void * lpvDlgTmp,
75 HWND16 hwndOwner,
76 DLGPROC16 dlgProc,
77 LPARAM lParamInit,
78 UINT16 iCodePage, UINT16 iLang,
79 LPCSTR lpDlgName,
80 HINSTANCE16 hinstLoad )
82 FIXME( "( %04hx, %p, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n",
83 hinstWnd, lpvDlgTmp, hwndOwner, dlgProc, lParamInit,
84 iCodePage, iLang, lpDlgName, hinstLoad );
85 return 0;
89 /******************************************************************************
90 * DialogBoxIndirectParamML [USER.918]
92 HWND16 WINAPI DialogBoxIndirectParamML16( HINSTANCE16 hinstWnd,
93 HGLOBAL16 hglbDlgTemp,
94 HWND16 hwndOwner,
95 DLGPROC16 dlgprc,
96 LPARAM lParamInit,
97 UINT16 iCodePage, UINT16 iLang,
98 LPCSTR lpDlgName,
99 HINSTANCE16 hinstLoad )
101 FIXME( "( %04hx, %04hx, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n",
102 hinstWnd, hglbDlgTemp, hwndOwner, dlgprc, lParamInit,
103 iCodePage, iLang, lpDlgName, hinstLoad );
104 return 0;
109 /******************************************************************************
110 * FindLanguageResource [USER.923]
112 HRSRC16 WINAPI FindLanguageResource16( HINSTANCE16 hinst, LPCSTR lpRes,
113 LPCSTR lpResType, UINT16 iLang )
115 FIXME( "( %04hx, %p, %p, %hu ): stub\n", hinst, lpRes, lpResType, iLang );
116 return 0;
120 /******************************************************************************
121 * GetAppCodePage [USER.915]
122 * Returns the code page and language of the window
124 * RETURNS
125 * The low word contains the code page, the high word contains the resource language.
127 DWORD WINAPI GetAppCodePage16( HWND16 hwnd )
129 FIXME( "( %04hx ): stub\n", hwnd );
130 return 0;
134 /******************************************************************************
135 * GetBaseCodePage [USER.922]
136 * Returns the base code page and resource language.
137 * For example, Hebrew windows will return HebrewCodePage in the low word
138 * and English in the high word.
140 DWORD WINAPI GetBaseCodePage16( void )
142 FIXME( ": stub\n" );
143 return 0;
148 /******************************************************************************
149 * GetCodePageSystemFont [USER.913]
150 * Returns the stock font for the requested code page.
152 HFONT16 WINAPI GetCodePageSystemFont16( UINT16 iFont, UINT16 iCodePage )
154 FIXME( "( %hu, %hu ): stub\n", iFont, iCodePage );
155 return 0;
160 /******************************************************************************
161 * GetLanguageName [USER.907]
162 * Returns the name of one language in (possibly) a different language.
163 * Currently only handles language 0 (english).
165 * RETURNS
166 * Success: The number of bytes copied to the buffer, not including the null.
167 * Failure: 0
169 UINT WINAPI GetLanguageName16( UINT16 iLang, UINT16 iName,
170 LPSTR lpszName, UINT16 cbBuffer )
172 if ( (iLang == 0) && (iName == 0) ) {
173 if ( !lpszName || cbBuffer < 8 ) {
174 SetLastError( ERROR_INVALID_PARAMETER );
175 return 0;
177 strcpy( lpszName, "English" );
178 return 7;
181 FIXME( "( %hu, %hu, %p, %hu ): No BiDi16\n", iLang, iName, lpszName, cbBuffer );
182 return 0;
186 /******************************************************************************
187 * GetNumLanguages [USER.906]
188 * Returns the number of languages in the system.
190 UINT WINAPI GetNumLanguages16( void )
192 FIXME( ": No Bidi16\n" );
193 return 1;
198 /******************************************************************************
199 * GetProcessDefaultLayout [USER.1001]
201 * Gets the default layout for parentless windows.
202 * Right now, just returns 0 (left-to-right).
204 * RETURNS
205 * Success: Nonzero
206 * Failure: Zero
208 BOOL16 WINAPI GetProcessDefaultLayout16( DWORD *pdwDefaultLayout )
210 FIXME( "( %p ): no BiDi16\n", pdwDefaultLayout );
211 return GetProcessDefaultLayout( pdwDefaultLayout );
215 /******************************************************************************
216 * LoadLanguageString [USER.919]
217 * Loads a string for a specific language.
219 * RETURNS
220 * SUCCESS: The length of the string loaded.
221 * FAILURE: Zero.
223 UINT16 WINAPI LoadLanguageString16( HINSTANCE16 hinst, UINT16 id, UINT16 iLang,
224 LPSTR lpszText, INT16 nBytes )
226 FIXME( "( %04hx, %hu, %hu, %p, %hd ): stub\n", hinst, id, iLang, lpszText, nBytes );
227 return 0;
232 /******************************************************************************
233 * LoadSystemLanguageString [USER.902]
234 * Loads a string which is in one of the system language modules.
236 * RETURNS
237 * Success: The length of the string loaded
238 * Failure: Zero
240 UINT WINAPI LoadSystemLanguageString16( HINSTANCE16 hinstCaller, UINT16 id,
241 LPSTR lpszText, INT16 nBytes, UINT16 iLang )
243 FIXME( "( %04hx, %hu, %p, %hd, %hu ): stub\n", hinstCaller, id, lpszText, nBytes, iLang );
244 return 0;
248 /***********************************************************************
249 * MessageBoxEx [USER.930]
250 * The multilingual version of MessageBox.
252 INT16 WINAPI MessageBoxEx16( HWND16 hwndParent, LPCSTR lpszText,
253 LPCSTR lpszTitle, UINT16 fuStyle, UINT16 iLang )
255 FIXME( "( %04hx, %p, %p, %hu, %hu ): stub\n", hwndParent, lpszText, lpszTitle,
256 fuStyle, iLang );
257 return 0;
261 /***********************************************************************
262 * QueryCodePage [USER.914]
263 * Query code page specific data.
265 LRESULT WINAPI QueryCodePage16( UINT16 idxLang, UINT16 msg,
266 WPARAM16 wParam, LPARAM lParam )
268 FIXME( "( %hu, %hu, %04hx, %08lx ): stub\n", idxLang, msg, wParam, lParam );
269 return 0;
272 /***********************************************************************
273 * SetAppCodePage [USER.920]
274 * Set the code page and language of the window to new values.
276 * RETURNS
277 * The low word contains the old code page, the high word contains
278 * the old resource language.
280 DWORD WINAPI SetAppCodePage16( HWND16 hwnd, UINT16 iCodePage, UINT16 iLang,
281 UINT16 fRedraw )
283 FIXME( "( %04hx, %hu, %hu, %hu ): stub\n", hwnd, iCodePage, iLang, fRedraw );
284 return 0;
287 /***********************************************************************
288 * SetDlgItemTextEx [USER.911]
289 * Sets the title or text of a control in a dialog box.
290 * Currently only works for language 0 (english)
292 void WINAPI SetDlgItemTextEx16( HWND16 hwnd, INT16 id,
293 LPCSTR lpszText, UINT16 iLang )
295 FIXME( "( %04hx, %hd, %p, %hu ): stub\n", hwnd, id, lpszText, iLang );
298 /******************************************************************************
299 * SetProcessDefaultLayout [USER.1000]
301 * Sets the default layout for parentless windows.
302 * Right now, only accepts 0 (left-to-right).
304 * RETURNS
305 * Success: Nonzero
306 * Failure: Zero
308 BOOL16 WINAPI SetProcessDefaultLayout16( DWORD dwDefaultLayout )
310 FIXME( "( %08lx ): No BiDi16\n", dwDefaultLayout );
311 return SetProcessDefaultLayout( dwDefaultLayout );
314 /******************************************************************************
315 * SetWindowTextEx [USER.909]
316 * Sets the given window's title to the specified text in the specified language.
318 void WINAPI SetWindowTextEx16( HWND16 hwnd, LPCSTR lpsz, UINT16 iLang )
320 FIXME( "( %04hx, %p, %hu ): stub\n", hwnd, lpsz, iLang );