Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover2004-12-09 23:06:33 +0000
committerSteve Northover2004-12-09 23:06:33 +0000
commita89cd8a56c45d8ffdfac29708041f8f64adfb7d0 (patch)
treeb9b1fcc59106962dbef547441e2fddde4978e75a /bundles
parentea9befdb064f947117c0a57f1e2505eee7201839 (diff)
downloadeclipse.platform.swt-a89cd8a56c45d8ffdfac29708041f8f64adfb7d0.tar.gz
eclipse.platform.swt-a89cd8a56c45d8ffdfac29708041f8f64adfb7d0.tar.xz
eclipse.platform.swt-a89cd8a56c45d8ffdfac29708041f8f64adfb7d0.zip
table tree + 12379
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties67
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c105
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c11
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c156
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java26
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java66
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java33
12 files changed, 537 insertions, 18 deletions
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
index 5c0908b7a5..bbb0c4e5a6 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.win32.OS.properties
@@ -217,6 +217,10 @@ HDITEM_lParam=
HDITEM_iImage=
HDITEM_iOrder=
+org_eclipse_swt_internal_win32_HDLAYOUT=
+HDLAYOUT_prc=cast=RECT *
+HDLAYOUT_pwpos=cast=(WINDOWPOS *)
+
org_eclipse_swt_internal_win32_HELPINFO=
HELPINFO_cbSize=
HELPINFO_iContextType=
@@ -472,6 +476,18 @@ NMREBARCHEVRON_right=accessor=rc.right
NMREBARCHEVRON_bottom=accessor=rc.bottom
NMREBARCHEVRON_lParamNM=
+org_eclipse_swt_internal_win32_NMREBARCHILDSIZE=
+NMREBARCHILDSIZE_uBand=
+NMREBARCHILDSIZE_wID=
+NMREBARCHILDSIZE_rcChild_left=accessor=rcChild.left
+NMREBARCHILDSIZE_rcChild_top=accessor=rcChild.top
+NMREBARCHILDSIZE_rcChild_right=accessor=rcChild.right
+NMREBARCHILDSIZE_rcChild_bottom=accessor=rcChild.bottom
+NMREBARCHILDSIZE_rcBand_left=accessor=rcBand.left
+NMREBARCHILDSIZE_rcBand_top=accessor=rcBand.top
+NMREBARCHILDSIZE_rcBand_right=accessor=rcBand.right
+NMREBARCHILDSIZE_rcBand_bottom=accessor=rcBand.bottom
+
org_eclipse_swt_internal_win32_NMRGINFO=
NMRGINFO_x=accessor=ptAction.x
NMRGINFO_y=accessor=ptAction.y
@@ -514,6 +530,18 @@ NMTVCUSTOMDRAW_clrText=
NMTVCUSTOMDRAW_clrTextBk=
NMTVCUSTOMDRAW_iLevel=flags=no_wince
+org_eclipse_swt_internal_win32_NMTVDISPINFO=
+NMTVDISPINFO_mask=accessor=item.mask
+NMTVDISPINFO_hItem=accessor=item.hItem,cast=HTREEITEM
+NMTVDISPINFO_state=accessor=item.state
+NMTVDISPINFO_stateMask=accessor=item.stateMask
+NMTVDISPINFO_pszText=accessor=item.pszText,cast=LPTSTR
+NMTVDISPINFO_cchTextMax=accessor=item.cchTextMax
+NMTVDISPINFO_iImage=accessor=item.iImage
+NMTVDISPINFO_iSelectedImage=accessor=item.iSelectedImage
+NMTVDISPINFO_cChildren=accessor=item.cChildren
+NMTVDISPINFO_lParam=accessor=item.lParam
+
org_eclipse_swt_internal_win32_NONCLIENTMETRICS=
NONCLIENTMETRICS_cbSize=
NONCLIENTMETRICS_iBorderWidth=
@@ -2198,6 +2226,11 @@ OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_0=cast=(PVOID)
OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_1=cast=(CONST VOID *),flags=no_out
OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_2=
+OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I=
+OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_0=cast=PVOID
+OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_1=cast=(CONST VOID *,flags=no_out
+OS_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_2=
+
OS_MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I=
OS_MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_0=cast=(PVOID)
OS_MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_1=cast=(CONST VOID *),flags=no_out
@@ -2338,6 +2371,11 @@ OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_0=cast=(PVOID)
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_1=cast=(CONST VOID *)
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_2=
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II=
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_0=cast=PVOID,flags=no_in
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_1=cast=CONST VOID *
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_2=
+
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II=
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_0=cast=PVOID,flags=no_in
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_1=cast=CONST VOID *
@@ -2368,6 +2406,11 @@ OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_0=cast=(PVOID)
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_1=cast=(CONST VOID *)
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_2=
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II=
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_0=cast=PVOID,flags=no_in
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_1=cast=CONST VOID *
+OS_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_2=
+
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II=
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_0=cast=PVOID,flags=no_in
OS_MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_1=cast=CONST VOID *
@@ -2911,6 +2954,18 @@ OS_SendMessageA__IIII_1=
OS_SendMessageA__IIII_2=cast=(WPARAM)
OS_SendMessageA__IIII_3=cast=(LPARAM)
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2=
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_0=cast=HWND
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_1=
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_2=cast=WPARAM
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_3=cast=LPARAM
+
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2=
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_0=cast=HWND
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_1=
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_2=cast=(WPARAM)
+OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_3=cast=LPARAM
+
OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2=
OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_0=cast=(HWND)
OS_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_1=
@@ -3031,6 +3086,18 @@ OS_SendMessageW__IIII_1=
OS_SendMessageW__IIII_2=cast=(WPARAM)
OS_SendMessageW__IIII_3=cast=(LPARAM)
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2=
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_0=cast=HWND
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_1=
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_2=cast=WPARAM
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_3=cast=LPARAM
+
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2=
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_0=cast=HWND
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_1=
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_2=cast=WPARAM
+OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_3=cast=LPARAM
+
OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2=
OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_0=cast=(HWND)
OS_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_1=
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
index f6b6ace206..72780384f5 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.c
@@ -5464,6 +5464,19 @@ fail:
}
#endif
+#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I
+JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I)
+ (JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
+{
+ NMTVDISPINFO _arg1, *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC);
+ if (arg1) if ((lparg1 = getNMTVDISPINFOFields(env, arg1, &_arg1)) == NULL) goto fail;
+ MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2);
+fail:
+ OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC);
+}
+#endif
+
#ifndef NO_MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I
JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I)
(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
@@ -5953,6 +5966,20 @@ fail:
}
#endif
+#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II
+JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II)
+ (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
+{
+ NMREBARCHILDSIZE _arg0, *lparg0=NULL;
+ OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC);
+ if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
+ MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
+fail:
+ if (arg0 && lparg0) setNMREBARCHILDSIZEFields(env, arg0, lparg0);
+ OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC);
+}
+#endif
+
#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II
JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II)
(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
@@ -6037,6 +6064,20 @@ fail:
}
#endif
+#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II
+JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II)
+ (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
+{
+ NMTVDISPINFO _arg0, *lparg0=NULL;
+ OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC);
+ if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
+ MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2);
+fail:
+ if (arg0 && lparg0) setNMTVDISPINFOFields(env, arg0, lparg0);
+ OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC);
+}
+#endif
+
#ifndef NO_MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II
JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II)
(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
@@ -7751,6 +7792,38 @@ JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIII)
}
#endif
+#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2
+JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
+{
+ HDITEM _arg3, *lparg3=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
+ if (arg3) if ((lparg3 = getHDITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
+fail:
+ if (arg3 && lparg3) setHDITEMFields(env, arg3, lparg3);
+ OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
+JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
+{
+ HDLAYOUT _arg3, *lparg3=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
+ if (arg3) if ((lparg3 = getHDLAYOUTFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)SendMessageA((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
+fail:
+ if (arg3 && lparg3) setHDLAYOUTFields(env, arg3, lparg3);
+ OS_NATIVE_EXIT(env, that, SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
JNIEXPORT jint JNICALL OS_NATIVE(SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
@@ -8070,6 +8143,38 @@ JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIII)
}
#endif
+#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2
+JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
+{
+ HDITEM _arg3, *lparg3=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
+ if (arg3) if ((lparg3 = getHDITEMFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
+fail:
+ if (arg3 && lparg3) setHDITEMFields(env, arg3, lparg3);
+ OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
+JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
+{
+ HDLAYOUT _arg3, *lparg3=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
+ if (arg3) if ((lparg3 = getHDLAYOUTFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)SendMessageW((HWND)arg0, arg1, (WPARAM)arg2, (LPARAM)lparg3);
+fail:
+ if (arg3 && lparg3) setHDLAYOUTFields(env, arg3, lparg3);
+ OS_NATIVE_EXIT(env, that, SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
JNIEXPORT jint JNICALL OS_NATIVE(SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
index d874eb597c..1c6f0a36d1 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os.h
@@ -69,6 +69,7 @@
#define NO_MENUINFO
#define NO_MINMAXINFO
#define NO_NMREBARCHEVRON
+#define NO_NMREBARCHILDSIZE
#define NO_NMTBHOTITEM
#define NO_NMTTDISPINFO
#define NO_NMTTDISPINFOA
@@ -267,6 +268,7 @@
#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_DROPFILES_2I
#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II
#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II
+#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II
#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HELPINFO_2II
#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I
#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I
@@ -321,6 +323,8 @@
#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2
#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_MARGINS_2
#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_UDACCEL_2
+#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2
+#define NO_SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2
#define NO_SendMessageA__IIII
#define NO_SendMessageA__III_3S
#define NO_SendMessageA__III_3I
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
index 5afb6c40c4..c0d835474a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.c
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 608;
-int OS_nativeFunctionCallCount[608];
+int OS_nativeFunctionCount = 615;
+int OS_nativeFunctionCallCount[615];
char * OS_nativeFunctionNames[] = {
"AbortDoc",
"ActivateKeyboardLayout",
@@ -367,6 +367,7 @@ char * OS_nativeFunctionNames[] = {
"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I",
"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I",
"MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I",
+ "MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I",
"MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I",
"MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I",
"MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I",
@@ -395,12 +396,14 @@ char * OS_nativeFunctionNames[] = {
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II",
+ "MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II",
+ "MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II",
"MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II",
@@ -496,6 +499,8 @@ char * OS_nativeFunctionNames[] = {
"SelectPalette",
"SendInput",
"SendMessageA__IIII",
+ "SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2",
+ "SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2",
"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2",
"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2",
"SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2",
@@ -516,6 +521,8 @@ char * OS_nativeFunctionNames[] = {
"SendMessageA__II_3II",
"SendMessageA__II_3I_3I",
"SendMessageW__IIII",
+ "SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2",
+ "SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2",
"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2",
"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2",
"SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
index 1e3122dbb0..85fb8b1660 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_stats.h
@@ -371,6 +371,7 @@ typedef enum {
MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2I_FUNC,
MoveMemory__ILorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2I_FUNC,
MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2I_FUNC,
+ MoveMemory__ILorg_eclipse_swt_internal_win32_NMTVDISPINFO_2I_FUNC,
MoveMemory__ILorg_eclipse_swt_internal_win32_RECT_2I_FUNC,
MoveMemory__ILorg_eclipse_swt_internal_win32_TRIVERTEX_2I_FUNC,
MoveMemory__ILorg_eclipse_swt_internal_win32_UDACCEL_2I_FUNC,
@@ -399,12 +400,14 @@ typedef enum {
MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVDISPINFO_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMLVFINDITEM_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHEVRON_2II_FUNC,
+ MoveMemory__Lorg_eclipse_swt_internal_win32_NMREBARCHILDSIZE_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMRGINFO_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMTOOLBAR_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOA_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMTTDISPINFOW_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVCUSTOMDRAW_2II_FUNC,
+ MoveMemory__Lorg_eclipse_swt_internal_win32_NMTVDISPINFO_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_POINT_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1ITEM_2II_FUNC,
MoveMemory__Lorg_eclipse_swt_internal_win32_SCRIPT_1LOGATTR_2II_FUNC,
@@ -500,6 +503,8 @@ typedef enum {
SelectPalette_FUNC,
SendInput_FUNC,
SendMessageA__IIII_FUNC,
+ SendMessageA__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC,
+ SendMessageA__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC,
SendMessageA__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC,
SendMessageA__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC,
SendMessageA__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC,
@@ -520,6 +525,8 @@ typedef enum {
SendMessageA__II_3II_FUNC,
SendMessageA__II_3I_3I_FUNC,
SendMessageW__IIII_FUNC,
+ SendMessageW__IIILorg_eclipse_swt_internal_win32_HDITEM_2_FUNC,
+ SendMessageW__IIILorg_eclipse_swt_internal_win32_HDLAYOUT_2_FUNC,
SendMessageW__IIILorg_eclipse_swt_internal_win32_LVCOLUMN_2_FUNC,
SendMessageW__IIILorg_eclipse_swt_internal_win32_LVHITTESTINFO_2_FUNC,
SendMessageW__IIILorg_eclipse_swt_internal_win32_LVITEM_2_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
index 717cf1133d..b47a5da9e3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.c
@@ -1088,6 +1088,40 @@ void setHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct)
}
#endif
+#ifndef NO_HDLAYOUT
+typedef struct HDLAYOUT_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID prc, pwpos;
+} HDLAYOUT_FID_CACHE;
+
+HDLAYOUT_FID_CACHE HDLAYOUTFc;
+
+void cacheHDLAYOUTFields(JNIEnv *env, jobject lpObject)
+{
+ if (HDLAYOUTFc.cached) return;
+ HDLAYOUTFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ HDLAYOUTFc.prc = (*env)->GetFieldID(env, HDLAYOUTFc.clazz, "prc", "I");
+ HDLAYOUTFc.pwpos = (*env)->GetFieldID(env, HDLAYOUTFc.clazz, "pwpos", "I");
+ HDLAYOUTFc.cached = 1;
+}
+
+HDLAYOUT *getHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct)
+{
+ if (!HDLAYOUTFc.cached) cacheHDLAYOUTFields(env, lpObject);
+ lpStruct->prc = (RECT *)(*env)->GetIntField(env, lpObject, HDLAYOUTFc.prc);
+ lpStruct->pwpos = (WINDOWPOS *)(*env)->GetIntField(env, lpObject, HDLAYOUTFc.pwpos);
+ return lpStruct;
+}
+
+void setHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct)
+{
+ if (!HDLAYOUTFc.cached) cacheHDLAYOUTFields(env, lpObject);
+ (*env)->SetIntField(env, lpObject, HDLAYOUTFc.prc, (jint)lpStruct->prc);
+ (*env)->SetIntField(env, lpObject, HDLAYOUTFc.pwpos, (jint)lpStruct->pwpos);
+}
+#endif
+
#ifndef NO_HELPINFO
typedef struct HELPINFO_FID_CACHE {
int cached;
@@ -2617,6 +2651,67 @@ void setNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpSt
}
#endif
+#ifndef NO_NMREBARCHILDSIZE
+typedef struct NMREBARCHILDSIZE_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID uBand, wID, rcChild_left, rcChild_top, rcChild_right, rcChild_bottom, rcBand_left, rcBand_top, rcBand_right, rcBand_bottom;
+} NMREBARCHILDSIZE_FID_CACHE;
+
+NMREBARCHILDSIZE_FID_CACHE NMREBARCHILDSIZEFc;
+
+void cacheNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject)
+{
+ if (NMREBARCHILDSIZEFc.cached) return;
+ cacheNMHDRFields(env, lpObject);
+ NMREBARCHILDSIZEFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ NMREBARCHILDSIZEFc.uBand = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "uBand", "I");
+ NMREBARCHILDSIZEFc.wID = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "wID", "I");
+ NMREBARCHILDSIZEFc.rcChild_left = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_left", "I");
+ NMREBARCHILDSIZEFc.rcChild_top = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_top", "I");
+ NMREBARCHILDSIZEFc.rcChild_right = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_right", "I");
+ NMREBARCHILDSIZEFc.rcChild_bottom = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcChild_bottom", "I");
+ NMREBARCHILDSIZEFc.rcBand_left = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_left", "I");
+ NMREBARCHILDSIZEFc.rcBand_top = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_top", "I");
+ NMREBARCHILDSIZEFc.rcBand_right = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_right", "I");
+ NMREBARCHILDSIZEFc.rcBand_bottom = (*env)->GetFieldID(env, NMREBARCHILDSIZEFc.clazz, "rcBand_bottom", "I");
+ NMREBARCHILDSIZEFc.cached = 1;
+}
+
+NMREBARCHILDSIZE *getNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct)
+{
+ if (!NMREBARCHILDSIZEFc.cached) cacheNMREBARCHILDSIZEFields(env, lpObject);
+ getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
+ lpStruct->uBand = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.uBand);
+ lpStruct->wID = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.wID);
+ lpStruct->rcChild.left = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_left);
+ lpStruct->rcChild.top = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_top);
+ lpStruct->rcChild.right = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_right);
+ lpStruct->rcChild.bottom = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_bottom);
+ lpStruct->rcBand.left = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_left);
+ lpStruct->rcBand.top = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_top);
+ lpStruct->rcBand.right = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_right);
+ lpStruct->rcBand.bottom = (*env)->GetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_bottom);
+ return lpStruct;
+}
+
+void setNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct)
+{
+ if (!NMREBARCHILDSIZEFc.cached) cacheNMREBARCHILDSIZEFields(env, lpObject);
+ setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.uBand, (jint)lpStruct->uBand);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.wID, (jint)lpStruct->wID);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_left, (jint)lpStruct->rcChild.left);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_top, (jint)lpStruct->rcChild.top);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_right, (jint)lpStruct->rcChild.right);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcChild_bottom, (jint)lpStruct->rcChild.bottom);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_left, (jint)lpStruct->rcBand.left);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_top, (jint)lpStruct->rcBand.top);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_right, (jint)lpStruct->rcBand.right);
+ (*env)->SetIntField(env, lpObject, NMREBARCHILDSIZEFc.rcBand_bottom, (jint)lpStruct->rcBand.bottom);
+}
+#endif
+
#ifndef NO_NMRGINFO
typedef struct NMRGINFO_FID_CACHE {
int cached;
@@ -2966,6 +3061,67 @@ void setNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpSt
}
#endif
+#ifndef NO_NMTVDISPINFO
+typedef struct NMTVDISPINFO_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID mask, hItem, state, stateMask, pszText, cchTextMax, iImage, iSelectedImage, cChildren, lParam;
+} NMTVDISPINFO_FID_CACHE;
+
+NMTVDISPINFO_FID_CACHE NMTVDISPINFOFc;
+
+void cacheNMTVDISPINFOFields(JNIEnv *env, jobject lpObject)
+{
+ if (NMTVDISPINFOFc.cached) return;
+ cacheNMHDRFields(env, lpObject);
+ NMTVDISPINFOFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ NMTVDISPINFOFc.mask = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "mask", "I");
+ NMTVDISPINFOFc.hItem = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "hItem", "I");
+ NMTVDISPINFOFc.state = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "state", "I");
+ NMTVDISPINFOFc.stateMask = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "stateMask", "I");
+ NMTVDISPINFOFc.pszText = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "pszText", "I");
+ NMTVDISPINFOFc.cchTextMax = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "cchTextMax", "I");
+ NMTVDISPINFOFc.iImage = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "iImage", "I");
+ NMTVDISPINFOFc.iSelectedImage = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "iSelectedImage", "I");
+ NMTVDISPINFOFc.cChildren = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "cChildren", "I");
+ NMTVDISPINFOFc.lParam = (*env)->GetFieldID(env, NMTVDISPINFOFc.clazz, "lParam", "I");
+ NMTVDISPINFOFc.cached = 1;
+}
+
+NMTVDISPINFO *getNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct)
+{
+ if (!NMTVDISPINFOFc.cached) cacheNMTVDISPINFOFields(env, lpObject);
+ getNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
+ lpStruct->item.mask = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.mask);
+ lpStruct->item.hItem = (HTREEITEM)(*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.hItem);
+ lpStruct->item.state = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.state);
+ lpStruct->item.stateMask = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.stateMask);
+ lpStruct->item.pszText = (LPTSTR)(*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.pszText);
+ lpStruct->item.cchTextMax = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.cchTextMax);
+ lpStruct->item.iImage = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.iImage);
+ lpStruct->item.iSelectedImage = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.iSelectedImage);
+ lpStruct->item.cChildren = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.cChildren);
+ lpStruct->item.lParam = (*env)->GetIntField(env, lpObject, NMTVDISPINFOFc.lParam);
+ return lpStruct;
+}
+
+void setNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct)
+{
+ if (!NMTVDISPINFOFc.cached) cacheNMTVDISPINFOFields(env, lpObject);
+ setNMHDRFields(env, lpObject, (NMHDR *)lpStruct);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.mask, (jint)lpStruct->item.mask);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.hItem, (jint)lpStruct->item.hItem);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.state, (jint)lpStruct->item.state);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.stateMask, (jint)lpStruct->item.stateMask);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.pszText, (jint)lpStruct->item.pszText);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.cchTextMax, (jint)lpStruct->item.cchTextMax);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.iImage, (jint)lpStruct->item.iImage);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.iSelectedImage, (jint)lpStruct->item.iSelectedImage);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.cChildren, (jint)lpStruct->item.cChildren);
+ (*env)->SetIntField(env, lpObject, NMTVDISPINFOFc.lParam, (jint)lpStruct->item.lParam);
+}
+#endif
+
#ifndef NO_NONCLIENTMETRICS
typedef struct NONCLIENTMETRICS_FID_CACHE {
int cached;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
index 5ab96df765..9d68de78ba 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_structs.h
@@ -251,6 +251,18 @@ void setHDITEMFields(JNIEnv *env, jobject lpObject, HDITEM *lpStruct);
#define HDITEM_sizeof() 0
#endif
+#ifndef NO_HDLAYOUT
+void cacheHDLAYOUTFields(JNIEnv *env, jobject lpObject);
+HDLAYOUT *getHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct);
+void setHDLAYOUTFields(JNIEnv *env, jobject lpObject, HDLAYOUT *lpStruct);
+#define HDLAYOUT_sizeof() sizeof(HDLAYOUT)
+#else
+#define cacheHDLAYOUTFields(a,b)
+#define getHDLAYOUTFields(a,b,c) NULL
+#define setHDLAYOUTFields(a,b,c)
+#define HDLAYOUT_sizeof() 0
+#endif
+
#ifndef NO_HELPINFO
void cacheHELPINFOFields(JNIEnv *env, jobject lpObject);
HELPINFO *getHELPINFOFields(JNIEnv *env, jobject lpObject, HELPINFO *lpStruct);
@@ -623,6 +635,18 @@ void setNMREBARCHEVRONFields(JNIEnv *env, jobject lpObject, NMREBARCHEVRON *lpSt
#define NMREBARCHEVRON_sizeof() 0
#endif
+#ifndef NO_NMREBARCHILDSIZE
+void cacheNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject);
+NMREBARCHILDSIZE *getNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct);
+void setNMREBARCHILDSIZEFields(JNIEnv *env, jobject lpObject, NMREBARCHILDSIZE *lpStruct);
+#define NMREBARCHILDSIZE_sizeof() sizeof(NMREBARCHILDSIZE)
+#else
+#define cacheNMREBARCHILDSIZEFields(a,b)
+#define getNMREBARCHILDSIZEFields(a,b,c) NULL
+#define setNMREBARCHILDSIZEFields(a,b,c)
+#define NMREBARCHILDSIZE_sizeof() 0
+#endif
+
#ifndef NO_NMRGINFO
void cacheNMRGINFOFields(JNIEnv *env, jobject lpObject);
NMRGINFO *getNMRGINFOFields(JNIEnv *env, jobject lpObject, NMRGINFO *lpStruct);
@@ -707,6 +731,18 @@ void setNMTVCUSTOMDRAWFields(JNIEnv *env, jobject lpObject, NMTVCUSTOMDRAW *lpSt
#define NMTVCUSTOMDRAW_sizeof() 0
#endif
+#ifndef NO_NMTVDISPINFO
+void cacheNMTVDISPINFOFields(JNIEnv *env, jobject lpObject);
+NMTVDISPINFO *getNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct);
+void setNMTVDISPINFOFields(JNIEnv *env, jobject lpObject, NMTVDISPINFO *lpStruct);
+#define NMTVDISPINFO_sizeof() sizeof(NMTVDISPINFO)
+#else
+#define cacheNMTVDISPINFOFields(a,b)
+#define getNMTVDISPINFOFields(a,b,c) NULL
+#define setNMTVDISPINFOFields(a,b,c)
+#define NMTVDISPINFO_sizeof() 0
+#endif
+
#ifndef NO_NONCLIENTMETRICS
void cacheNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject);
NONCLIENTMETRICS *getNONCLIENTMETRICSFields(JNIEnv *env, jobject lpObject, NONCLIENTMETRICS *lpStruct);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
new file mode 100644
index 0000000000..f81dde204c
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/HDLAYOUT.java
@@ -0,0 +1,17 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class HDLAYOUT {
+ public int prc;
+ public int pwpos;
+ public static final int sizeof = 8;
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
new file mode 100644
index 0000000000..bce8e2523f
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMREBARCHILDSIZE.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMREBARCHILDSIZE extends NMHDR {
+ public int uBand;
+ public int wID;
+// RECT rcChild;
+ public int rcChild_left;
+ public int rcChild_top;
+ public int rcChild_right;
+ public int rcChild_bottom;
+// RECT rcBand;
+ public int rcBand_left;
+ public int rcBand_top;
+ public int rcBand_right;
+ public int rcBand_bottom;
+ public static final int sizeof = 52;
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
new file mode 100644
index 0000000000..248f2fe844
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/NMTVDISPINFO.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.win32;
+
+public class NMTVDISPINFO extends NMHDR {
+// TVITEM item;
+ public int mask;
+ public int hItem;
+ public int state;
+ public int stateMask;
+ public int pszText;
+ public int cchTextMax;
+ public int iImage;
+ public int iSelectedImage;
+ public int cChildren;
+ public int lParam;
+ public static final int sizeof = 52;
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
index 6c465a12b2..bcd821daf3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/OS.java
@@ -149,6 +149,7 @@ public class OS extends Platform {
/* Constants */
public static final int ALTERNATE = 1;
+ public static final int BDR_SUNKENINNER = 0x8;
public static final int BFFM_INITIALIZED = 0x1;
public static final int BFFM_SETSELECTION = IsUnicode ? 0x467 : 0x466;
public static final int BFFM_VALIDATEFAILED = IsUnicode ? 0x4 : 0x3;
@@ -234,15 +235,18 @@ public class OS extends Platform {
public static final int CC_ENABLEHOOK = 0x10;
public static final int CC_RGBINIT = 0x1;
public static final int CDDS_POSTERASE = 0x00000004;
+ public static final int CDDS_POSTPAINT = 0x00000002;
public static final int CDDS_PREERASE = 0x00000003;
public static final int CDDS_PREPAINT = 0x00000001;
public static final int CDDS_ITEM = 0x00010000;
+ public static final int CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT;
public static final int CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT;
public static final int CDDS_SUBITEM = 0x00020000;
public static final int CDRF_DODEFAULT = 0x00000000;
public static final int CDRF_NEWFONT = 0x00000002;
public static final int CDRF_NOTIFYITEMDRAW = 0x00000020;
public static final int CDRF_NOTIFYPOSTERASE = 0x00000040;
+ public static final int CDRF_NOTIFYPOSTPAINT = 0x00000010;
public static final int CDRF_NOTIFYSUBITEMDRAW = 0x00000020;
public static final int CFE_AUTOCOLOR = 0x40000000;
public static final int CFE_ITALIC = 0x2;
@@ -337,12 +341,16 @@ public class OS extends Platform {
public static final int DST_BITMAP = 0x4;
public static final int DST_ICON = 0x3;
public static final int DT_CALCRECT = 0x400;
+ public static final int DT_CENTER = 0x1;
public static final int DT_EDITCONTROL = 0x2000;
public static final int DT_EXPANDTABS = 0x40;
+ public static final int DT_ENDELLIPSIS = 32768;
public static final int DT_LEFT = 0x0;
public static final int DT_NOPREFIX = 0x800;
- public static final int DT_RASPRINTER = 0x2;
+ public static final int DT_RASPRINTER = 0x2;
+ public static final int DT_RIGHT = 0x2;
public static final int DT_SINGLELINE = 0x20;
+ public static final int DT_VCENTER = 4;
public static final int DT_WORDBREAK = 0x10;
public static final int ECOOP_AND = 0x3;
public static final int ECOOP_OR = 0x2;
@@ -438,10 +446,31 @@ public class OS extends Platform {
public static final int GW_OWNER = 0x4;
public static final int HBMMENU_CALLBACK = 0xffffffff;
public static final int HCF_HIGHCONTRASTON = 0x1;
+ public static final int HDF_CENTER = 2;
+ public static final int HDF_JUSTIFYMASK = 0x3;
+ public static final int HDF_IMAGE = 0x0800;
+ public static final int HDF_LEFT = 0;
+ public static final int HDF_RIGHT = 1;
+ public static final int HDI_IMAGE = 32;
+ public static final int HDI_TEXT = 0x2;
public static final int HDI_WIDTH = 0x1;
+ public static final int HDI_FORMAT = 0x4;
public static final int HDM_FIRST = 0x1200;
+ public static final int HDM_DELETEITEM = HDM_FIRST + 2;
public static final int HDM_GETBITMAPMARGIN = HDM_FIRST + 21;
public static final int HDM_GETITEMCOUNT = 0x1200;
+ public static final int HDM_GETITEMA = HDM_FIRST + 3;
+ public static final int HDM_GETITEMW = HDM_FIRST + 11;
+ public static final int HDM_GETITEM = IsUnicode ? HDM_GETITEMW : HDM_GETITEMA;
+ public static final int HDM_GETITEMRECT = HDM_FIRST + 7;
+ public static final int HDM_INSERTITEMA = HDM_FIRST + 1;
+ public static final int HDM_INSERTITEMW = HDM_FIRST + 10;
+ public static final int HDM_INSERTITEM = IsUnicode ? HDM_INSERTITEMW : HDM_INSERTITEMA;
+ public static final int HDM_LAYOUT = HDM_FIRST + 5;
+ public static final int HDM_SETIMAGELIST = HDM_FIRST + 8;
+ public static final int HDM_SETITEMA = HDM_FIRST + 4;
+ public static final int HDM_SETITEMW = HDM_FIRST + 12;
+ public static final int HDM_SETITEM = IsUnicode ? HDM_SETITEMW : HDM_SETITEMA;
public static final int HDN_FIRST = 0xfffffed4;
public static final int HDN_BEGINTRACK = IsUnicode ? 0xfffffeba : 0xfffffece;
public static final int HDN_BEGINTRACKW = 0xfffffeba;
@@ -452,9 +481,14 @@ public class OS extends Platform {
public static final int HDN_ITEMCHANGED = IsUnicode ? 0xfffffebf : 0xfffffed3;
public static final int HDN_ITEMCHANGEDW = 0xfffffebf;
public static final int HDN_ITEMCHANGEDA = 0xfffffed3;
+ public static final int HDN_ITEMCHANGINGW = HDN_FIRST - 20;
+ public static final int HDN_ITEMCHANGINGA = HDN_FIRST;
public static final int HDN_ITEMDBLCLICKW = HDN_FIRST - 23;
public static final int HDN_ITEMDBLCLICKA = HDN_FIRST - 3;
public static final int HDN_ITEMDBLCLICK = IsUnicode ? HDN_ITEMDBLCLICKW : HDN_ITEMDBLCLICKA;
+ public static final int HDS_BUTTONS = 0x2;
+ public static final int HDS_FULLDRAG = 0x80;
+ public static final int HDS_HIDDEN = 0x8;
public static final int HEAP_ZERO_MEMORY = 0x8;
public static final int HELPINFO_MENUITEM = 0x2;
public static final int HICF_ARROWKEYS = 0x2;
@@ -864,6 +898,7 @@ public class OS extends Platform {
public static final int RBBS_USECHEVRON = 0x00000200;
public static final int RBBS_VARIABLEHEIGHT = 0x40;
public static final int RBN_FIRST = 0xfffffcc1;
+ public static final int RBN_CHILDSIZE = RBN_FIRST - 8;
public static final int RBN_CHEVRONPUSHED = RBN_FIRST - 10;
public static final int RBN_HEIGHTCHANGE = 0xfffffcc1;
public static final int RBS_DBLCLKTOGGLE = 0x8000;
@@ -1199,20 +1234,19 @@ public class OS extends Platform {
public static final int TVM_SETINSERTMARK = 0x111a;
public static final int TVM_SETITEM = IsUnicode ? 0x113f : 0x110d;
public static final int TVM_SETTEXTCOLOR = 0x111e;
- public static final int TVN_BEGINDRAG = IsUnicode ? 0xfffffe38 : 0xfffffe69;
public static final int TVN_BEGINDRAGW = 0xfffffe38;
public static final int TVN_BEGINDRAGA = 0xfffffe69;
- public static final int TVN_BEGINRDRAG = IsUnicode ? 0xfffffe37 : 0xfffffe68;
public static final int TVN_BEGINRDRAGW = 0xfffffe37;
public static final int TVN_BEGINRDRAGA = 0xfffffe68;
public static final int TVN_FIRST = 0xfffffe70;
- public static final int TVN_ITEMEXPANDING = IsUnicode ? 0xfffffe3a : 0xfffffe6b;
+ public static final int TVN_GETDISPINFOA = TVN_FIRST - 3;
+ public static final int TVN_GETDISPINFOW = TVN_FIRST - 52;
+ public static final int TVN_ITEMEXPANDEDA = TVN_FIRST -6;
+ public static final int TVN_ITEMEXPANDEDW = TVN_FIRST - 55;
public static final int TVN_ITEMEXPANDINGW = 0xfffffe3a;
public static final int TVN_ITEMEXPANDINGA = 0xfffffe6b;
- public static final int TVN_SELCHANGED = IsUnicode ? 0xfffffe3d : 0xfffffe6e;
public static final int TVN_SELCHANGEDW = 0xfffffe3d;
public static final int TVN_SELCHANGEDA = 0xfffffe6e;
- public static final int TVN_SELCHANGING = IsUnicode ? 0xfffffe3e : 0xfffffe6f;
public static final int TVN_SELCHANGINGW = 0xfffffe3e;
public static final int TVN_SELCHANGINGA = 0xfffffe6f;
public static final int TVSIL_NORMAL = 0x0;
@@ -1222,6 +1256,7 @@ public class OS extends Platform {
public static final int TVS_HASBUTTONS = 0x1;
public static final int TVS_HASLINES = 0x2;
public static final int TVS_LINESATROOT = 0x4;
+ public static final int TVS_NOHSCROLL = 0x8000;
public static final int TVS_NOTOOLTIPS = 0x80;
public static final int TVS_SHOWSELALWAYS = 0x20;
public static final int UDM_GETACCEL = 0x046C;
@@ -1305,6 +1340,7 @@ public class OS extends Platform {
public static final int VK_APP4 = 0xc4;
public static final int VK_APP5 = 0xc5;
public static final int VK_APP6 = 0xc6;
+ public static final String WC_HEADER = "SysHeader32"; //$NON-NLS-1$
public static final String WC_LISTVIEW = "SysListView32"; //$NON-NLS-1$
public static final String WC_TABCONTROL = "SysTabControl32"; //$NON-NLS-1$
public static final String WC_TREEVIEW = "SysTreeView32"; //$NON-NLS-1$
@@ -1417,6 +1453,7 @@ public class OS extends Platform {
public static final int WS_CHILD = 0x40000000;
public static final int WS_CLIPCHILDREN = 0x2000000;
public static final int WS_CLIPSIBLINGS = 0x4000000;
+ public static final int WS_DISABLED = 0x4000000;
public static final int WS_EX_CAPTIONOKBTN = 0x80000000;
public static final int WS_EX_CLIENTEDGE = 0x200;
public static final int WS_EX_DLGMODALFRAME = 0x1;
@@ -2136,6 +2173,16 @@ public static final int SendMessage (int hWnd, int Msg, int wParam, UDACCEL lPar
return SendMessageA (hWnd, Msg, wParam, lParam);
}
+public static final int SendMessage (int hWnd, int Msg, int wParam, HDITEM lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
+public static final int SendMessage (int hWnd, int Msg, int wParam, HDLAYOUT lParam) {
+ if (IsUnicode) return SendMessageW (hWnd, Msg, wParam, lParam);
+ return SendMessageA (hWnd, Msg, wParam, lParam);
+}
+
public static final boolean SetMenuItemInfo (int hMenu, int uItem, boolean fByPosition, MENUITEMINFO lpmii) {
if (IsUnicode) return SetMenuItemInfoW (hMenu, uItem, fByPosition, lpmii);
return SetMenuItemInfoA (hMenu, uItem, fByPosition, lpmii);
@@ -2604,10 +2651,13 @@ public static final native void MoveMemory (NMTVCUSTOMDRAW Destination, int Sour
public static final native void MoveMemory (int Destination, NMLVCUSTOMDRAW Source, int Length);
public static final native void MoveMemory (int Destination, NMTVCUSTOMDRAW Source, int Length);
public static final native void MoveMemory (int Destination, NMLVDISPINFO Source, int Length);
+public static final native void MoveMemory (int Destination, NMTVDISPINFO Source, int Length);
public static final native void MoveMemory (NMLVDISPINFO Destination, int Source, int Length);
+public static final native void MoveMemory (NMTVDISPINFO Destination, int Source, int Length);
public static final native void MoveMemory (NMLVFINDITEM Destination, int Source, int Length);
public static final native void MoveMemory (NMHEADER Destination, int Source, int Length);
public static final native void MoveMemory (NMLISTVIEW Destination, int Source, int Length);
+public static final native void MoveMemory (NMREBARCHILDSIZE Destination, int Source, int Length);
public static final native void MoveMemory (NMREBARCHEVRON Destination, int Source, int Length);
public static final native void MoveMemory (NMTOOLBAR Destination, int Source, int Length);
public static final native void MoveMemory (NMTTDISPINFOW Destination, int Source, int Length);
@@ -2716,6 +2766,8 @@ public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVHI
public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVINSERTSTRUCT lParam);
public static final native int SendMessageW (int hWnd, int Msg, int wParam, TVITEM lParam);
public static final native int SendMessageW (int hWnd, int Msg, int wParam, UDACCEL lParam);
+public static final native int SendMessageW (int hWnd, int Msg, int wParam, HDITEM lParam);
+public static final native int SendMessageW (int hWnd, int Msg, int wParam, HDLAYOUT lParam);
public static final native int SendMessageA (int hWnd, int Msg, int [] wParam, int [] lParam);
public static final native int SendMessageA (int hWnd, int Msg, int [] wParam, int lParam);
public static final native int SendMessageA (int hWnd, int Msg, int wParam, byte [] lParam);
@@ -2736,6 +2788,8 @@ public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVHI
public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVINSERTSTRUCT lParam);
public static final native int SendMessageA (int hWnd, int Msg, int wParam, TVITEM lParam);
public static final native int SendMessageA (int hWnd, int Msg, int wParam, UDACCEL lParam);
+public static final native int SendMessageA (int hWnd, int Msg, int wParam, HDITEM lParam);
+public static final native int SendMessageA (int hWnd, int Msg, int wParam, HDLAYOUT lParam);
public static final native int SetActiveWindow (int hWnd);
public static final native int SetBkColor (int hdc, int colorRef);
public static final native int SetBkMode (int hdc, int mode);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
index a6d6c1fb3d..b3a5a5c0fd 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TCHAR.java
@@ -21,11 +21,10 @@ package org.eclipse.swt.internal.win32;
*/
public class TCHAR {
-
-int codePage;
-public char [] chars;
-public byte [] bytes;
-int byteCount;
+ int codePage;
+ public char [] chars;
+ public byte [] bytes;
+ int byteCount;
public final static int sizeof = OS.IsUnicode ? 2 : 1;
@@ -39,15 +38,18 @@ public TCHAR (int codePage, int length) {
}
public TCHAR (int codePage, char ch, boolean terminate) {
- this (codePage, String.valueOf (ch), terminate);
+ this (codePage, terminate ? new char [] {ch, '\0'} : new char [] {ch}, false);
}
-public TCHAR (int codePage, String string, boolean terminate) {
+public TCHAR (int codePage, char [] chars, boolean terminate) {
this.codePage = codePage;
- int charCount = string.length ();
- char [] chars = new char [charCount + (terminate ? 1 : 0)];
- string.getChars (0, charCount, chars, 0);
+ int charCount = chars.length;
if (OS.IsUnicode) {
+ if (terminate && charCount > 0 && chars [charCount - 1] != 0) {
+ char [] newChars = new char [charCount + 1];
+ System.arraycopy (chars, 0, newChars, 0, charCount);
+ chars = newChars;
+ }
this.chars = chars;
} else {
int cp = codePage != 0 ? codePage : OS.CP_ACP;
@@ -57,6 +59,17 @@ public TCHAR (int codePage, String string, boolean terminate) {
}
}
+public TCHAR (int codePage, String string, boolean terminate) {
+ this (codePage, getChars (string, terminate), false);
+}
+
+static char [] getChars (String string, boolean terminate) {
+ int length = string.length ();
+ char [] chars = new char [length + (terminate ? 1 : 0)];
+ string.getChars (0, length, chars, 0);
+ return chars;
+}
+
public int length () {
if (OS.IsUnicode) {
return chars.length;

Back to the top