diff org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/win32/WINAPI.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 ed96ea2a2764
children 28e25950b068
line wrap: on
line diff
--- a/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/win32/WINAPI.d	Sun Apr 17 17:58:36 2011 +0200
+++ b/org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/win32/WINAPI.d	Sat Jul 09 15:50:20 2011 +0300
@@ -7,6 +7,7 @@
 module org.eclipse.swt.internal.win32.WINAPI;
 
 public import org.eclipse.swt.internal.win32.WINTYPES;
+import java.nonstandard.SafeUtf;
 
 version(Tango){
     import tango.sys.win32.Types;
@@ -5153,14 +5154,14 @@
 // USP methods (Unicode Complex Script processor)
 HRESULT ScriptBreak(
   LPCWSTR pwcChars,
-  int cChars,
+  int cChars, //length of pwcChars
   SCRIPT_ANALYSIS *psa,
   SCRIPT_LOGATTR *psla
 );
 HRESULT ScriptCPtoX(
-  int iCP,
+  UTF16index iCP,//Logical character position in the run.
   BOOL fTrailing,
-  int cChars,
+  UTF16shift cChars,//Number of characters in the run.
   int cGlyphs,
   WORD *pwLogClust,
   SCRIPT_VISATTR *psva,
@@ -5183,7 +5184,7 @@
 );
 HRESULT ScriptGetLogicalWidths(
   SCRIPT_ANALYSIS *psa,
-  int cChars,
+  UTF16shift cChars,//Count of the logical code points in the run.
   int cGlyphs,
   int *piGlyphWidth,
   WORD *pwLogClust,
@@ -5198,14 +5199,14 @@
   HDC hdc,
   SCRIPT_CACHE* psc,
   LPCWSTR pwcInChars,
-  int cChars,
+  int cChars, //length of pwcChars
   DWORD dwFlags,
   WORD* pwOutGlyphs
 );
 HRESULT ScriptStringAnalyse(
   HDC hdc,
-  LPCVOID pString,
-  int cString,
+  LPCVOID pString,//It can be a Unicode string or use the character set from a Windows ANSI code page, as specified by the iCharset parameter.
+  int cString,//Length of the string to analyze.
   int cGlyphs,
   int iCharset,
   DWORD dwFlags,
@@ -5223,8 +5224,8 @@
   int iY, 
   UINT uOptions, 
   RECT* prc, 
-  int iMinSel, 
-  int iMaxSel, 
+  UTF16index iMinSel, //starting pos for substringing output string
+  UTF16index iMaxSel, //ending pos for substringing output string
   BOOL fDisabled 
 );
 HRESULT ScriptStringFree(
@@ -5233,7 +5234,7 @@
 
 HRESULT ScriptItemize(
   LPCWSTR pwcInChars,
-  int cInChars,
+  int cInChars, //length of pwcChars
   int cMaxItems,
   SCRIPT_CONTROL *psControl,
   SCRIPT_STATE *psState,
@@ -5261,7 +5262,7 @@
   HDC hdc,              // in
   SCRIPT_CACHE *psc,    // in/out
   LPCWSTR pwcChars,      //
-  int cChars,
+  int cChars,//length of pwcChars; Number of characters in the Unicode run.
   int cMaxGlyphs,
   SCRIPT_ANALYSIS *psa,
   WORD *pwOutGlyphs,
@@ -5287,14 +5288,14 @@
 );
 HRESULT ScriptXtoCP(
   int iX,
-  int cChars,
+  UTF16shift cChars,//Count of logical code points in the run.
   int cGlyphs,
   WORD *pwLogClust,         //
   SCRIPT_VISATTR *psva,     //
   int *piAdvance,           //
   SCRIPT_ANALYSIS *psa,     //
-  int *piCP,
-  int *piTrailing
+  UTF16shift *piCP,
+  UTF16shift *piTrailing
 );
 UINT SendInput(
     UINT nInputs,