Mercurial > projects > dwt2
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): |