comparison org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/win32/WINTYPES.d @ 120:536e43f63c81

Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661 ===D2=== * added [Try]Immutable/Const/Shared templates to work with differenses in D1/D2 instead of version statements used these templates to work with strict type storage rules of dmd-2.053 * com.ibm.icu now also compilable with D2, but not tested yet * small fixes Snippet288 - shared data is in TLS ===Phobos=== * fixed critical bugs in Phobos implemention completely incorrect segfault prone fromStringz (Linux's port ruthless killer) terrible, incorrect StringBuffer realization (StyledText killer) * fixed small bugs as well Snippet72 - misprint in the snippet * implemented missed functionality for Phobos ByteArrayOutputStream implemented (image loading available) formatting correctly works for all DWT's cases As a result, folowing snippets now works with Phobos (Snippet### - what is fixed): Snippet24, 42, 111, 115, 130, 235, 276 - bad string formatting Snippet48, 282 - crash on image loading Snippet163, 189, 211, 213, 217, 218, 222 - crash on copy/cut in StyledText Snippet244 - hang-up ===Tango=== * few changes for the latest Tango trunc-r5661 * few small performance improvments ===General=== * implMissing-s for only one version changed to implMissingInTango/InPhobos * incorrect calls to Format in toString-s fixed * fixed loading \uXXXX characters in ResourceBundle * added good UTF-8 support for StyledText, TextLayout (Win32) and friends UTF functions revised and tested. It is now in java.nonstandard.*Utf modules StyledText and TextLayout (Win32) modules revised for UTF-8 support * removed small diferences in most identical files in *.swt.* folders *.swt.internal.image, *.swt.events and *.swt.custom are identical in Win32/Linux32 now 179 of 576 (~31%) files in *.swt.* folders are fully identical * Win32: snippets now have right subsystem, pretty icons and native system style controls * small fixes in snippets Snippet44 - it's not Snippet44 Snippet212 - functions work with different images and offsets arrays Win32: Snippet282 - crash on close if the button has an image Snippet293 - setGrayed is commented and others Win32: As a result, folowing snippets now works Snippet68 - color doesn't change Snippet163, 189, 211, 213, 217, 218, 222 - UTF-8 issues (see above) Snippet193 - no tabel headers
author Denis Shelomovskij <verylonglogin.reg@gmail.com>
date Sat, 09 Jul 2011 15:50:20 +0300
parents 9f4c18c268b2
children
comparison
equal deleted inserted replaced
119:d00e8db0a568 120:536e43f63c81
1 /* 1 /*
2 * This module declared types required by SWT but not in std.c.windows.windows 2 * This module declared types required by SWT but not in std.c.windows.windows
3 */ 3 */
4 4
5 module org.eclipse.swt.internal.win32.WINTYPES; 5 module org.eclipse.swt.internal.win32.WINTYPES;
6 import java.nonstandard.SafeUtf;
6 7
7 version(Tango){ 8 version(Tango){
8 public import tango.sys.win32.Types; 9 public import tango.sys.win32.Types;
9 } else { // Phobos 10 } else { // Phobos
10 // public import std.c.windows.windows; 11 // public import std.c.windows.windows;
36 alias ushort ATOM; 37 alias ushort ATOM;
37 alias int WINBOOL; 38 alias int WINBOOL;
38 alias WINBOOL BOOL; 39 alias WINBOOL BOOL;
39 alias uint CALTYPE; 40 alias uint CALTYPE;
40 alias uint CALID; 41 alias uint CALID;
41 version(D_Version2){ 42 alias TryConst!(char) CCHAR;
42 mixin("alias const(char) CCHAR;"); 43 alias TryConst!(wchar) CWCHAR;
43 mixin("alias const(wchar) CWCHAR;");
44 } else { // D1
45 alias char CCHAR;
46 alias wchar CWCHAR;
47 }
48 alias char* PCHAR; 44 alias char* PCHAR;
49 alias uint COLORREF; 45 alias uint COLORREF;
50 alias uint TCOLORREF; 46 alias uint TCOLORREF;
51 alias char CHAR; 47 alias char CHAR;
52 alias ubyte BYTE; 48 alias ubyte BYTE;
122 alias int LPARAM; 118 alias int LPARAM;
123 alias ushort* LP; 119 alias ushort* LP;
124 alias WINBOOL* LPBOOL; 120 alias WINBOOL* LPBOOL;
125 alias ubyte* LPBYTE; 121 alias ubyte* LPBYTE;
126 alias COLORREF* LPCOLORREF; 122 alias COLORREF* LPCOLORREF;
127 version(D_Version2){ 123 alias TryConst!(char)* LPCCH;
128 mixin( "alias const(char)* LPCCH;"); 124 alias TryConst!(char)* LPCH;
129 mixin( "alias const(char)* LPCH;"); 125 alias TryConst!(char)* LPCSTR;
130 mixin( "alias const(char)* LPCSTR;"); 126 alias TryConst!(TCHAR)* LPCTSTR;
131 mixin( "alias const(TCHAR)* LPCTSTR;"); 127 alias TryConst!(wchar)* LPCWCH;
132 mixin( "alias const(wchar)* LPCWCH;"); 128 alias TryConst!(wchar)* LPCWSTR;
133 mixin( "alias const(wchar)* LPCWSTR;");
134 } else {
135 alias PCHAR LPCCH;
136 alias PCHAR LPCH;
137 alias PCHAR LPCSTR;
138 alias TCHAR* LPCTSTR;
139 alias wchar* LPCWCH;
140 alias wchar* LPCWSTR;
141 }
142 alias DWORD* LPDWORD; 129 alias DWORD* LPDWORD;
143 alias HANDLE* LPHANDLE; 130 alias HANDLE* LPHANDLE;
144 alias int* LPINT; 131 alias int* LPINT;
145 alias int* LPLONG; 132 alias int* LPLONG;
146 alias PCHAR LPSTR; 133 alias PCHAR LPSTR;
147 alias PCHAR LPTCH; 134 alias PCHAR LPTCH;
148 alias TCHAR* LPTSTR; 135 alias TCHAR* LPTSTR;
149 alias int LRESULT; 136 alias int LRESULT;
150 alias POINTER LPVOID; 137 alias POINTER LPVOID;
151 version(D_Version2){ 138 alias TryConst!(void)* LPCVOID;
152 mixin( "alias const(void)* LPCVOID;");
153 } else {
154 alias POINTER LPCVOID;
155 }
156 alias wchar* LPWCH; 139 alias wchar* LPWCH;
157 alias wchar* LPWORD; 140 alias wchar* LPWORD;
158 alias wchar* LPWSTR; 141 alias wchar* LPWSTR;
159 alias wchar* NWPSTR; 142 alias wchar* NWPSTR;
160 alias WINBOOL* PWINBOOL; 143 alias WINBOOL* PWINBOOL;
15472 WORD wgKashida; 15455 WORD wgKashida;
15473 int iKashidaWidth; 15456 int iKashidaWidth;
15474 } 15457 }
15475 15458
15476 struct SCRIPT_ITEM { 15459 struct SCRIPT_ITEM {
15477 int iCharPos; 15460 UTF16index iCharPos;
15478 SCRIPT_ANALYSIS a; 15461 SCRIPT_ANALYSIS a;
15479 } 15462 }
15480 15463
15481 struct SCRIPT_LOGATTR { 15464 struct SCRIPT_LOGATTR {
15482 align(1): 15465 align(1):