| /* | |
| * Win16 BiDi functions | |
| * Copyright 2000 Erez Volk | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| * | |
| * NOTE: Right now, most of these functions do nothing. | |
| */ | |
| #include <string.h> | |
| #include "winbase.h" | |
| #include "wingdi.h" | |
| #include "wine/winuser16.h" | |
| #include "winerror.h" | |
| #include "wine/debug.h" | |
| WINE_DEFAULT_DEBUG_CHANNEL(relay); | |
| /*********************************************************************** | |
| * ChangeDialogTemplate (USER.905) | |
| * FIXME: The prototypes of this function have not been found yet. | |
| */ | |
| LONG WINAPI ChangeDialogTemplate16(void) { FIXME("stub (no prototype)\n"); return 0; } | |
| /*********************************************************************** | |
| * BiDiMessageBoxEx (USER.910) | |
| * FIXME: The prototypes of this function have not been found yet. | |
| */ | |
| LONG WINAPI BiDiMessageBoxEx16(void) { FIXME("stub (no prototype)\n"); return 0; } | |
| /****************************************************************************** | |
| * ChangeKeyboardCodePage [USER.924] | |
| * Change the keyboard layouts to a new pair. | |
| * If the language IDs are set to -1, the language is not to be changed. | |
| */ | |
| DWORD WINAPI ChangeKeyboardCodePage16( UINT16 iLangLeft, UINT16 iLangRight ) | |
| { | |
| FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * ChangeKeyboardLanguage [USER.912] | |
| * Change the keyboard layouts to a new pair. | |
| * | |
| * RETURNS | |
| * The old keyboard layout pair. | |
| */ | |
| DWORD WINAPI ChangeKeyboardLanguage16( UINT16 iLangLeft, UINT iLangRight ) | |
| { | |
| FIXME( "( %hu, %hu ): stub\n", iLangLeft, iLangRight ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * CreateDialogIndirectParamML [USER.916] | |
| */ | |
| HWND16 WINAPI CreateDialogIndirectParamML16( HINSTANCE16 hinstWnd, | |
| const void * lpvDlgTmp, | |
| HWND16 hwndOwner, | |
| DLGPROC16 dlgProc, | |
| LPARAM lParamInit, | |
| UINT16 iCodePage, UINT16 iLang, | |
| LPCSTR lpDlgName, | |
| HINSTANCE16 hinstLoad ) | |
| { | |
| FIXME( "( %04hx, %p, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n", | |
| hinstWnd, lpvDlgTmp, hwndOwner, dlgProc, lParamInit, | |
| iCodePage, iLang, lpDlgName, hinstLoad ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * DialogBoxIndirectParamML [USER.918] | |
| */ | |
| HWND16 WINAPI DialogBoxIndirectParamML16( HINSTANCE16 hinstWnd, | |
| HGLOBAL16 hglbDlgTemp, | |
| HWND16 hwndOwner, | |
| DLGPROC16 dlgprc, | |
| LPARAM lParamInit, | |
| UINT16 iCodePage, UINT16 iLang, | |
| LPCSTR lpDlgName, | |
| HINSTANCE16 hinstLoad ) | |
| { | |
| FIXME( "( %04hx, %04hx, %04hx, %p, %08lx, %hu, %hu, %p, %04hx ): stub\n", | |
| hinstWnd, hglbDlgTemp, hwndOwner, dlgprc, lParamInit, | |
| iCodePage, iLang, lpDlgName, hinstLoad ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * FindLanguageResource [USER.923] | |
| */ | |
| HRSRC16 WINAPI FindLanguageResource16( HINSTANCE16 hinst, LPCSTR lpRes, | |
| LPCSTR lpResType, UINT16 iLang ) | |
| { | |
| FIXME( "( %04hx, %p, %p, %hu ): stub\n", hinst, lpRes, lpResType, iLang ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * GetAppCodePage [USER.915] | |
| * Returns the code page and language of the window | |
| * | |
| * RETURNS | |
| * The low word contains the code page, the high word contains the resource language. | |
| */ | |
| DWORD WINAPI GetAppCodePage16( HWND16 hwnd ) | |
| { | |
| FIXME( "( %04hx ): stub\n", hwnd ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * GetBaseCodePage [USER.922] | |
| * Returns the base code page and resource language. | |
| * For example, Hebrew windows will return HebrewCodePage in the low word | |
| * and English in the high word. | |
| */ | |
| DWORD WINAPI GetBaseCodePage16( void ) | |
| { | |
| FIXME( ": stub\n" ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * GetCodePageSystemFont [USER.913] | |
| * Returns the stock font for the requested code page. | |
| */ | |
| HFONT16 WINAPI GetCodePageSystemFont16( UINT16 iFont, UINT16 iCodePage ) | |
| { | |
| FIXME( "( %hu, %hu ): stub\n", iFont, iCodePage ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * GetLanguageName [USER.907] | |
| * Returns the name of one language in (possibly) a different language. | |
| * Currently only handles language 0 (english). | |
| * | |
| * RETURNS | |
| * Success: The number of bytes copied to the buffer, not including the null. | |
| * Failure: 0 | |
| */ | |
| UINT WINAPI GetLanguageName16( UINT16 iLang, UINT16 iName, | |
| LPSTR lpszName, UINT16 cbBuffer ) | |
| { | |
| if ( (iLang == 0) && (iName == 0) ) { | |
| if ( !lpszName || cbBuffer < 8 ) { | |
| SetLastError( ERROR_INVALID_PARAMETER ); | |
| return 0; | |
| } | |
| strcpy( lpszName, "English" ); | |
| return 7; | |
| } | |
| FIXME( "( %hu, %hu, %p, %hu ): No BiDi16\n", iLang, iName, lpszName, cbBuffer ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * GetNumLanguages [USER.906] | |
| * Returns the number of languages in the system. | |
| */ | |
| UINT WINAPI GetNumLanguages16( void ) | |
| { | |
| FIXME( ": No Bidi16\n" ); | |
| return 1; | |
| } | |
| /****************************************************************************** | |
| * GetProcessDefaultLayout [USER.1001] | |
| * | |
| * Gets the default layout for parentless windows. | |
| * Right now, just returns 0 (left-to-right). | |
| * | |
| * RETURNS | |
| * Success: Nonzero | |
| * Failure: Zero | |
| */ | |
| BOOL16 WINAPI GetProcessDefaultLayout16( DWORD *pdwDefaultLayout ) | |
| { | |
| FIXME( "( %p ): no BiDi16\n", pdwDefaultLayout ); | |
| return GetProcessDefaultLayout( pdwDefaultLayout ); | |
| } | |
| /****************************************************************************** | |
| * LoadLanguageString [USER.919] | |
| * Loads a string for a specific language. | |
| * | |
| * RETURNS | |
| * SUCCESS: The length of the string loaded. | |
| * FAILURE: Zero. | |
| */ | |
| UINT16 WINAPI LoadLanguageString16( HINSTANCE16 hinst, UINT16 id, UINT16 iLang, | |
| LPSTR lpszText, INT16 nBytes ) | |
| { | |
| FIXME( "( %04hx, %hu, %hu, %p, %hd ): stub\n", hinst, id, iLang, lpszText, nBytes ); | |
| return 0; | |
| } | |
| /****************************************************************************** | |
| * LoadSystemLanguageString [USER.902] | |
| * Loads a string which is in one of the system language modules. | |
| * | |
| * RETURNS | |
| * Success: The length of the string loaded | |
| * Failure: Zero | |
| */ | |
| UINT WINAPI LoadSystemLanguageString16( HINSTANCE16 hinstCaller, UINT16 id, | |
| LPSTR lpszText, INT16 nBytes, UINT16 iLang ) | |
| { | |
| FIXME( "( %04hx, %hu, %p, %hd, %hu ): stub\n", hinstCaller, id, lpszText, nBytes, iLang ); | |
| return 0; | |
| } | |
| /*********************************************************************** | |
| * MessageBoxEx [USER.930] | |
| * The multilingual version of MessageBox. | |
| */ | |
| INT16 WINAPI MessageBoxEx16( HWND16 hwndParent, LPCSTR lpszText, | |
| LPCSTR lpszTitle, UINT16 fuStyle, UINT16 iLang ) | |
| { | |
| FIXME( "( %04hx, %p, %p, %hu, %hu ): stub\n", hwndParent, lpszText, lpszTitle, | |
| fuStyle, iLang ); | |
| return 0; | |
| } | |
| /*********************************************************************** | |
| * QueryCodePage [USER.914] | |
| * Query code page specific data. | |
| */ | |
| LRESULT WINAPI QueryCodePage16( UINT16 idxLang, UINT16 msg, | |
| WPARAM16 wParam, LPARAM lParam ) | |
| { | |
| FIXME( "( %hu, %hu, %04hx, %08lx ): stub\n", idxLang, msg, wParam, lParam ); | |
| return 0; | |
| } | |
| /*********************************************************************** | |
| * SetAppCodePage [USER.920] | |
| * Set the code page and language of the window to new values. | |
| * | |
| * RETURNS | |
| * The low word contains the old code page, the high word contains | |
| * the old resource language. | |
| */ | |
| DWORD WINAPI SetAppCodePage16( HWND16 hwnd, UINT16 iCodePage, UINT16 iLang, | |
| UINT16 fRedraw ) | |
| { | |
| FIXME( "( %04hx, %hu, %hu, %hu ): stub\n", hwnd, iCodePage, iLang, fRedraw ); | |
| return 0; | |
| } | |
| /*********************************************************************** | |
| * SetDlgItemTextEx [USER.911] | |
| * Sets the title or text of a control in a dialog box. | |
| * Currently only works for language 0 (english) | |
| */ | |
| void WINAPI SetDlgItemTextEx16( HWND16 hwnd, INT16 id, | |
| LPCSTR lpszText, UINT16 iLang ) | |
| { | |
| FIXME( "( %04hx, %hd, %p, %hu ): stub\n", hwnd, id, lpszText, iLang ); | |
| } | |
| /****************************************************************************** | |
| * SetProcessDefaultLayout [USER.1000] | |
| * | |
| * Sets the default layout for parentless windows. | |
| * Right now, only accepts 0 (left-to-right). | |
| * | |
| * RETURNS | |
| * Success: Nonzero | |
| * Failure: Zero | |
| */ | |
| BOOL16 WINAPI SetProcessDefaultLayout16( DWORD dwDefaultLayout ) | |
| { | |
| FIXME( "( %08lx ): No BiDi16\n", dwDefaultLayout ); | |
| return SetProcessDefaultLayout( dwDefaultLayout ); | |
| } | |
| /****************************************************************************** | |
| * SetWindowTextEx [USER.909] | |
| * Sets the given window's title to the specified text in the specified language. | |
| */ | |
| void WINAPI SetWindowTextEx16( HWND16 hwnd, LPCSTR lpsz, UINT16 iLang ) | |
| { | |
| FIXME( "( %04hx, %p, %hu ): stub\n", hwnd, lpsz, iLang ); | |
| } |