Right-to-Left mirroring fixes for various applications by Baruch Rutman

CORE-7015 #resolve #comment Committed in revision r59241, thanks for help.

svn path=/trunk/; revision=59242
This commit is contained in:
Daniel Reimer 2013-06-16 22:04:48 +00:00
parent 3e3200acef
commit 0a65846d43
12 changed files with 91 additions and 6 deletions

View file

@ -94,7 +94,17 @@ WinMain (HINSTANCE hThisInstance,
HINSTANCE hDLL;
PGFRI GetFontResourceInfoW;
LPCWSTR fileName;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
g_hInstance = hThisInstance;
/* Get unicode command line */

View file

@ -1,6 +1,7 @@
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winnls.h>
#include <shellapi.h>
#include "resource.h"

View file

@ -516,6 +516,17 @@ _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdSh
{
WNDCLASS WndClass = {0};
MSG msg;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
HANDLE hMutex;
hMutex = CreateMutex(NULL, FALSE, szKbSwitcherName);

View file

@ -45,7 +45,17 @@ int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
@ -170,7 +180,7 @@ void Draw(HDC aDc)
HDC HdcStrech;
HANDLE hOld;
HBITMAP HbmpStrech;
RECT R;
RECT appRect;
DWORD rop = SRCCOPY;
@ -202,7 +212,7 @@ void Draw(HDC aDc)
/* Select our bitmap in memory DC and save the old one.*/
hOld = SelectObject (HdcStrech , HbmpStrech);
/* Paint the screen bitmap to our in memory DC */
BitBlt(
HdcStrech,
@ -214,7 +224,7 @@ void Draw(HDC aDc)
0,
0,
SRCCOPY);
/* Draw the mouse pointer in the right position */
DrawIcon(
HdcStrech ,
@ -271,8 +281,9 @@ void Draw(HDC aDc)
blitAreaY,
blitAreaWidth,
blitAreaHeight,
rop);
rop | NOMIRRORBITMAP);
/* Cleanup.*/
if (iinfo.hbmMask)
DeleteObject(iinfo.hbmMask);

View file

@ -25,6 +25,7 @@
#include <winreg.h>
#include <wingdi.h>
#include <tchar.h>
#include <winnls.h> //test
#include "resource.h"

View file

@ -34,7 +34,17 @@ _tWinMain(HINSTANCE hThisInstance,
}
return 0;
}
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
hInstance = hThisInstance;
ProcessHeap = GetProcessHeap();

View file

@ -7,6 +7,7 @@
#include <winuser.h>
#include <winreg.h>
#include <wingdi.h>
#include <winnls.h>
#include <windowsx.h>
#include <tchar.h>
#include <setupapi.h>

View file

@ -8,6 +8,7 @@
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <winnls.h>
#include <winsvc.h>
#include <winuser.h>
#include <windowsx.h> /* GET_X/Y_LPARAM */

View file

@ -8,7 +8,6 @@
*/
#include "precomp.h"
HINSTANCE hInstance;
HANDLE ProcessHeap;
@ -23,7 +22,17 @@ _tWinMain(HINSTANCE hThisInstance,
MSG Msg;
int Ret = 1;
INITCOMMONCONTROLSEX icex;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
hInstance = hThisInstance;
ProcessHeap = GetProcessHeap();

View file

@ -554,7 +554,17 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE prev, LPTSTR cmdline, int sh
HMONITOR monitor;
MONITORINFO info;
INT x, y;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
static const TCHAR className[] = _T("NPClass");
static const TCHAR winName[] = _T("Notepad");

View file

@ -763,7 +763,17 @@ wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nSh
WCHAR szErrorText[MAX_STR_LEN];
HANDLE hMutex = NULL;
MSG Msg;
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
hInst = hInstance;
if (!IsUserAnAdmin())

View file

@ -207,6 +207,16 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
LoadStringW(hInstance, IDC_REGEDIT_FRAME, szFrameClass, MAX_LOADSTRING);
LoadStringW(hInstance, IDC_REGEDIT, szChildClass, MAX_LOADSTRING);
switch (GetUserDefaultUILanguage())
{
case MAKELANGID(LANG_HEBREW, SUBLANG_DEFAULT):
SetProcessDefaultLayout(LAYOUT_RTL);
break;
default:
break;
}
/* Store instance handle in our global variable */
hInst = hInstance;