comparison dwt/widgets/Display.d @ 237:e2affbeb686d

Making tango.sys.win32.Types and dwt.internal.win32.WINTYPES to match common declaration. Make ansi charactars of type ubyte.
author Frank Benoit <benoit@tionex.de>
date Thu, 19 Jun 2008 03:25:36 +0200
parents 82b599d21983
children 43b41c7fe84a
comparison
equal deleted inserted replaced
236:9c1bb90eba13 237:e2affbeb686d
2904 */ 2904 */
2905 static wchar mbcsToWcs (int ch, int codePage) { 2905 static wchar mbcsToWcs (int ch, int codePage) {
2906 if (OS.IsUnicode) return cast(wchar) ch; 2906 if (OS.IsUnicode) return cast(wchar) ch;
2907 int key = ch & 0xFFFF; 2907 int key = ch & 0xFFFF;
2908 if (key <= 0x7F) return cast(wchar) ch; 2908 if (key <= 0x7F) return cast(wchar) ch;
2909 char [] buffer; 2909 CHAR[] buffer;
2910 if (key <= 0xFF) { 2910 if (key <= 0xFF) {
2911 buffer = new char [1]; 2911 buffer = new CHAR [1];
2912 buffer [0] = cast(char) key; 2912 buffer [0] = cast(CHAR) key;
2913 } else { 2913 } else {
2914 buffer = new char [2]; 2914 buffer = new CHAR [2];
2915 buffer [0] = cast(char) ((key >> 8) & 0xFF); 2915 buffer [0] = cast(CHAR) ((key >> 8) & 0xFF);
2916 buffer [1] = cast(char) (key & 0xFF); 2916 buffer [1] = cast(CHAR) (key & 0xFF);
2917 } 2917 }
2918 wchar [] unicode = new wchar [1]; 2918 wchar [] unicode = new wchar [1];
2919 int cp = codePage !is 0 ? codePage : OS.CP_ACP; 2919 int cp = codePage !is 0 ? codePage : OS.CP_ACP;
2920 int count = OS.MultiByteToWideChar (cp, OS.MB_PRECOMPOSED, buffer.ptr, buffer.length, unicode.ptr, 1); 2920 int count = OS.MultiByteToWideChar (cp, OS.MB_PRECOMPOSED, buffer.ptr, buffer.length, unicode.ptr, 1);
2921 if (count is 0) return 0; 2921 if (count is 0) return 0;