2000-01-09 03:39:15 +01:00
|
|
|
/*
|
|
|
|
* Win16 BiDi functions
|
|
|
|
* Right now, most of these functions do nothing.
|
|
|
|
*/
|
|
|
|
|
2001-01-26 21:43:40 +01:00
|
|
|
#include <string.h>
|
2000-06-24 14:41:05 +02:00
|
|
|
#include "winbase.h"
|
|
|
|
#include "wingdi.h"
|
2000-09-27 00:20:14 +02:00
|
|
|
#include "wine/winuser16.h"
|
2000-06-24 14:41:05 +02:00
|
|
|
#include "winerror.h"
|
2000-01-09 03:39:15 +01:00
|
|
|
#include "debugtools.h"
|
|
|
|
|
2000-06-24 14:41:05 +02:00
|
|
|
DEFAULT_DEBUG_CHANNEL(relay);
|
2000-01-09 03:39:15 +01:00
|
|
|
|
2000-03-28 22:22:59 +02:00
|
|
|
/***********************************************************************
|
2000-06-24 14:41:05 +02:00
|
|
|
* ChangeDialogTemplate16 (USER.905)
|
2000-03-28 22:22:59 +02:00
|
|
|
* FIXME: The prototypes of this function have not been found yet.
|
|
|
|
*/
|
2000-01-09 03:39:15 +01:00
|
|
|
LONG WINAPI ChangeDialogTemplate16(void) { FIXME("stub (no prototype)\n"); return 0; }
|
2000-03-28 22:22:59 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
2000-06-24 14:41:05 +02:00
|
|
|
* BiDiMessageBoxEx16 (USER.910)
|
2000-03-28 22:22:59 +02:00
|
|
|
* FIXME: The prototypes of this function have not been found yet.
|
|
|
|
*/
|
2000-01-09 03:39:15 +01:00
|
|
|
LONG WINAPI BiDiMessageBoxEx16(void) { FIXME("stub (no prototype)\n"); return 0; }
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* ChangeKeyboardCodePage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* ChangeKeyboardLanguage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* CreateDialogIndirectParamML16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
2001-01-25 23:22:21 +01:00
|
|
|
* DialogBoxIndirectParamML16 [USER.918]
|
2000-01-09 03:39:15 +01:00
|
|
|
*/
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* FindLanguageResource16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* GetAppCodePage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* GetBaseCodePage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* GetCodePageSystemFont16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
2001-01-25 23:22:21 +01:00
|
|
|
* GetLanguageName16 [USER.907]
|
2000-01-09 03:39:15 +01:00
|
|
|
* 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* GetNumLanguages16 [USER.906]
|
|
|
|
* Returns the number of languages in the system.
|
|
|
|
*/
|
|
|
|
UINT WINAPI GetNumLanguages16( void )
|
|
|
|
{
|
|
|
|
FIXME( ": No Bidi16\n" );
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* GetProcessDefaultLayout16 [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 );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* LoadLanguageString16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* LoadSystemLanguageString16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* MessageBoxEx16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* QueryCodePage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* SetAppCodePage16 [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;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* SetDlgItemTextEx16 [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 );
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* SetProcessDefaultLayout16 [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 );
|
|
|
|
}
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
* SetWindowTextEx16 [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 );
|
|
|
|
}
|