[WIN32SS][LPK] Add BiDi support to menus and window captions (#738)

Added callback function that redirects calls to GreExtTextOutW that didn't went through lpk BiDi processing, calls that are from the kernel.

Completely solves JIRA issue CORE-6910.
This commit is contained in:
Baruch Rutman 2018-08-23 20:43:12 +03:00 committed by Hermès BÉLUSCA - MAÏTO
parent b277cbdf22
commit e7d2bbe726
5 changed files with 164 additions and 13 deletions

View file

@ -17,7 +17,8 @@
#define USER32_CALLBACK_DDEPOST (13)
#define USER32_CALLBACK_DDEGET (14)
#define USER32_CALLBACK_SETOBM (15)
#define USER32_CALLBACK_MAXIMUM (15)
#define USER32_CALLBACK_LPK (16)
#define USER32_CALLBACK_MAXIMUM (16)
typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
{
@ -139,6 +140,18 @@ typedef struct _SETOBM_CALLBACK_ARGUMENTS
struct tagOEMBITMAPINFO oembmi[93];
} SETOBM_CALLBACK_ARGUMENTS, *PSETOBM_CALLBACK_ARGUMENTS;
typedef struct _LPK_CALLBACK_ARGUMENTS
{
LPWSTR lpString;
HDC hdc;
INT x;
INT y;
UINT flags;
RECT rect;
UINT count;
BOOL bRect;
} LPK_CALLBACK_ARGUMENTS, *PLPK_CALLBACK_ARGUMENTS;
NTSTATUS WINAPI
User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS WINAPI
@ -171,4 +184,6 @@ NTSTATUS WINAPI
User32CallDDEGetFromKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS WINAPI
User32CallOBMFromKernel(PVOID Arguments, ULONG ArgumentLength);
NTSTATUS WINAPI
User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength);
#endif /* __INCLUDE_USER32_CALLBACK_H */