diff options
author | Scott Kovatch | 2010-12-20 23:31:25 +0000 |
---|---|---|
committer | Scott Kovatch | 2010-12-20 23:31:25 +0000 |
commit | 46958a15f43936733bc819b97c827c339d68bc9e (patch) | |
tree | e15ce7830e7f4b5adbd8d6fb2d957a12dd5d8767 /bundles/org.eclipse.swt/Eclipse SWT PI | |
parent | 47ba9e76486cd9d9cdae92690c6b15ee0252a7d8 (diff) | |
download | eclipse.platform.swt-46958a15f43936733bc819b97c827c339d68bc9e.tar.gz eclipse.platform.swt-46958a15f43936733bc819b97c827c339d68bc9e.tar.xz eclipse.platform.swt-46958a15f43936733bc819b97c827c339d68bc9e.zip |
279884 - Implement gestures on Win32
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI')
13 files changed, 1050 insertions, 2 deletions
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 ffa4735239..12a477f00a 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 @@ -857,6 +857,26 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(CloseEnhMetaFile) } #endif +#ifndef NO_CloseGestureInfoHandle +JNIEXPORT jintLong JNICALL OS_NATIVE(CloseGestureInfoHandle) + (JNIEnv *env, jclass that, jintLong arg0) +{ + jintLong rc = 0; + OS_NATIVE_ENTER(env, that, CloseGestureInfoHandle_FUNC); +/* + rc = (jintLong)CloseGestureInfoHandle((HGESTUREINFO)arg0); +*/ + { + LOAD_FUNCTION(fp, CloseGestureInfoHandle) + if (fp) { + rc = (jintLong)((jintLong (CALLING_CONVENTION*)(HGESTUREINFO))fp)((HGESTUREINFO)arg0); + } + } + OS_NATIVE_EXIT(env, that, CloseGestureInfoHandle_FUNC); + return rc; +} +#endif + #ifndef NO_CloseHandle JNIEXPORT jboolean JNICALL OS_NATIVE(CloseHandle) (JNIEnv *env, jclass that, jintLong arg0) @@ -889,6 +909,26 @@ JNIEXPORT jint JNICALL OS_NATIVE(CloseThemeData) } #endif +#ifndef NO_CloseTouchInputHandle +JNIEXPORT jboolean JNICALL OS_NATIVE(CloseTouchInputHandle) + (JNIEnv *env, jclass that, jintLong arg0) +{ + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, CloseTouchInputHandle_FUNC); +/* + rc = (jboolean)CloseTouchInputHandle((HTOUCHINPUT)arg0); +*/ + { + LOAD_FUNCTION(fp, CloseTouchInputHandle) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(HTOUCHINPUT))fp)((HTOUCHINPUT)arg0); + } + } + OS_NATIVE_EXIT(env, that, CloseTouchInputHandle_FUNC); + return rc; +} +#endif + #ifndef NO_CoCreateInstance JNIEXPORT jint JNICALL OS_NATIVE(CoCreateInstance) (JNIEnv *env, jclass that, jbyteArray arg0, jintLong arg1, jint arg2, jbyteArray arg3, jintLongArray arg4) @@ -3133,6 +3173,30 @@ JNIEXPORT jint JNICALL OS_NATIVE(FILETIME_1sizeof) } #endif +#ifndef NO_FLICK_1DATA_1sizeof +JNIEXPORT jint JNICALL OS_NATIVE(FLICK_1DATA_1sizeof) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, FLICK_1DATA_1sizeof_FUNC); + rc = (jint)FLICK_DATA_sizeof(); + OS_NATIVE_EXIT(env, that, FLICK_1DATA_1sizeof_FUNC); + return rc; +} +#endif + +#ifndef NO_FLICK_1POINT_1sizeof +JNIEXPORT jint JNICALL OS_NATIVE(FLICK_1POINT_1sizeof) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, FLICK_1POINT_1sizeof_FUNC); + rc = (jint)FLICK_POINT_sizeof(); + OS_NATIVE_EXIT(env, that, FLICK_1POINT_1sizeof_FUNC); + return rc; +} +#endif + #ifndef NO_FillPath JNIEXPORT jboolean JNICALL OS_NATIVE(FillPath) (JNIEnv *env, jclass that, jintLong arg0) @@ -3254,6 +3318,30 @@ JNIEXPORT jint JNICALL OS_NATIVE(GCP_1RESULTS_1sizeof) } #endif +#ifndef NO_GESTURECONFIG_1sizeof +JNIEXPORT jint JNICALL OS_NATIVE(GESTURECONFIG_1sizeof) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, GESTURECONFIG_1sizeof_FUNC); + rc = (jint)GESTURECONFIG_sizeof(); + OS_NATIVE_EXIT(env, that, GESTURECONFIG_1sizeof_FUNC); + return rc; +} +#endif + +#ifndef NO_GESTUREINFO_1sizeof +JNIEXPORT jint JNICALL OS_NATIVE(GESTUREINFO_1sizeof) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, GESTUREINFO_1sizeof_FUNC); + rc = (jint)GESTUREINFO_sizeof(); + OS_NATIVE_EXIT(env, that, GESTUREINFO_1sizeof_FUNC); + return rc; +} +#endif + #ifndef NO_GET_1WHEEL_1DELTA_1WPARAM JNIEXPORT jint JNICALL OS_NATIVE(GET_1WHEEL_1DELTA_1WPARAM) (JNIEnv *env, jclass that, jintLong arg0) @@ -3290,6 +3378,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(GET_1Y_1LPARAM) } #endif +#ifndef NO_GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT +JNIEXPORT jdouble JNICALL OS_NATIVE(GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT) + (JNIEnv *env, jclass that, jlong arg0) +{ + jdouble rc = 0; + OS_NATIVE_ENTER(env, that, GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT_FUNC); + rc = (jdouble)GID_ROTATE_ANGLE_FROM_ARGUMENT(arg0); + OS_NATIVE_EXIT(env, that, GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT_FUNC); + return rc; +} +#endif + #ifndef NO_GRADIENT_1RECT_1sizeof JNIEXPORT jint JNICALL OS_NATIVE(GRADIENT_1RECT_1sizeof) (JNIEnv *env, jclass that) @@ -4086,6 +4186,30 @@ fail: } #endif +#ifndef NO_GetGestureInfo +JNIEXPORT jboolean JNICALL OS_NATIVE(GetGestureInfo) + (JNIEnv *env, jclass that, jintLong arg0, jobject arg1) +{ + GESTUREINFO _arg1, *lparg1=NULL; + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, GetGestureInfo_FUNC); + if (arg1) if ((lparg1 = getGESTUREINFOFields(env, arg1, &_arg1)) == NULL) goto fail; +/* + rc = (jboolean)GetGestureInfo((HGESTUREINFO)arg0, (PGESTUREINFO)lparg1); +*/ + { + LOAD_FUNCTION(fp, GetGestureInfo) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(HGESTUREINFO, PGESTUREINFO))fp)((HGESTUREINFO)arg0, (PGESTUREINFO)lparg1); + } + } +fail: + if (arg1 && lparg1) setGESTUREINFOFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, GetGestureInfo_FUNC); + return rc; +} +#endif + #ifndef NO_GetGlyphIndicesW JNIEXPORT jint JNICALL OS_NATIVE(GetGlyphIndicesW) (JNIEnv *env, jclass that, jintLong arg0, jcharArray arg1, jint arg2, jshortArray arg3, jint arg4) @@ -6003,6 +6127,26 @@ fail: } #endif +#ifndef NO_GetTouchInputInfo +JNIEXPORT jboolean JNICALL OS_NATIVE(GetTouchInputInfo) + (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintLong arg2, jint arg3) +{ + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, GetTouchInputInfo_FUNC); +/* + rc = (jboolean)GetTouchInputInfo((HTOUCHINPUT)arg0, (UINT)arg1, (PTOUCHINPUT)arg2, arg3); +*/ + { + LOAD_FUNCTION(fp, GetTouchInputInfo) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(HTOUCHINPUT, UINT, PTOUCHINPUT, jint))fp)((HTOUCHINPUT)arg0, (UINT)arg1, (PTOUCHINPUT)arg2, arg3); + } + } + OS_NATIVE_EXIT(env, that, GetTouchInputInfo_FUNC); + return rc; +} +#endif + #ifndef NO_GetUpdateRect JNIEXPORT jboolean JNICALL OS_NATIVE(GetUpdateRect) (JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jboolean arg2) @@ -7710,6 +7854,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(LITEM_1sizeof) } #endif +#ifndef NO_LODWORD +JNIEXPORT jint JNICALL OS_NATIVE(LODWORD) + (JNIEnv *env, jclass that, jlong arg0) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, LODWORD_FUNC); + rc = (jint)LODWORD(arg0); + OS_NATIVE_EXIT(env, that, LODWORD_FUNC); + return rc; +} +#endif + #ifndef NO_LOGBRUSH_1sizeof JNIEXPORT jint JNICALL OS_NATIVE(LOGBRUSH_1sizeof) (JNIEnv *env, jclass that) @@ -8587,6 +8743,30 @@ fail: } #endif +#if (!defined(NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I) && !defined(JNI64)) || (!defined(NO_MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I) && defined(JNI64)) +#ifndef JNI64 +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2) +#else +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2) +#endif +{ + GESTURECONFIG _arg1, *lparg1=NULL; +#ifndef JNI64 + OS_NATIVE_ENTER(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC); +#else + OS_NATIVE_ENTER(env, that, MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC); +#endif + if (arg1) if ((lparg1 = getGESTURECONFIGFields(env, arg1, &_arg1)) == NULL) goto fail; + MoveMemory((PVOID)arg0, (CONST VOID *)lparg1, arg2); +fail: +#ifndef JNI64 + OS_NATIVE_EXIT(env, that, MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC); +#else + OS_NATIVE_EXIT(env, that, MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC); +#endif +} +#endif + #if (!defined(NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I) && !defined(JNI64)) || (!defined(NO_MoveMemory__JLorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I) && defined(JNI64)) #ifndef JNI64 JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2) @@ -9620,6 +9800,62 @@ fail: } #endif +#if (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II) && !defined(JNI64)) || (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI) && defined(JNI64)) +#ifndef JNI64 +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II)(JNIEnv *env, jclass that, jobject arg0, jintLongArray arg1, jint arg2) +#else +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI)(JNIEnv *env, jclass that, jobject arg0, jintLongArray arg1, jint arg2) +#endif +{ + FLICK_DATA _arg0, *lparg0=NULL; + jintLong *lparg1=NULL; +#ifndef JNI64 + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II_FUNC); +#else + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI_FUNC); +#endif + if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetIntLongArrayElements(env, arg1, NULL)) == NULL) goto fail; + MoveMemory((PVOID)lparg0, (CONST VOID *)lparg1, arg2); +fail: + if (arg1 && lparg1) (*env)->ReleaseIntLongArrayElements(env, arg1, lparg1, JNI_ABORT); + if (arg0 && lparg0) setFLICK_DATAFields(env, arg0, lparg0); +#ifndef JNI64 + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II_FUNC); +#else + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI_FUNC); +#endif +} +#endif + +#if (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II) && !defined(JNI64)) || (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI) && defined(JNI64)) +#ifndef JNI64 +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II)(JNIEnv *env, jclass that, jobject arg0, jintLongArray arg1, jint arg2) +#else +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI)(JNIEnv *env, jclass that, jobject arg0, jintLongArray arg1, jint arg2) +#endif +{ + FLICK_POINT _arg0, *lparg0=NULL; + jintLong *lparg1=NULL; +#ifndef JNI64 + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II_FUNC); +#else + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI_FUNC); +#endif + if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetIntLongArrayElements(env, arg1, NULL)) == NULL) goto fail; + MoveMemory((PVOID)lparg0, (CONST VOID *)lparg1, arg2); +fail: + if (arg1 && lparg1) (*env)->ReleaseIntLongArrayElements(env, arg1, lparg1, JNI_ABORT); + if (arg0 && lparg0) setFLICK_POINTFields(env, arg0, lparg0); +#ifndef JNI64 + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II_FUNC); +#else + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI_FUNC); +#endif +} +#endif + #if (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II) && !defined(JNI64)) || (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2JI) && defined(JNI64)) #ifndef JNI64 JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2) @@ -10629,6 +10865,31 @@ fail: } #endif +#if (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II) && !defined(JNI64)) || (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI) && defined(JNI64)) +#ifndef JNI64 +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2) +#else +JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2) +#endif +{ + TOUCHINPUT _arg0, *lparg0=NULL; +#ifndef JNI64 + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II_FUNC); +#else + OS_NATIVE_ENTER(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI_FUNC); +#endif + if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail; + MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2); +fail: + if (arg0 && lparg0) setTOUCHINPUTFields(env, arg0, lparg0); +#ifndef JNI64 + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II_FUNC); +#else + OS_NATIVE_EXIT(env, that, MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI_FUNC); +#endif +} +#endif + #if (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II) && !defined(JNI64)) || (!defined(NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2JI) && defined(JNI64)) #ifndef JNI64 JNIEXPORT void JNICALL OS_NATIVE(MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2) @@ -12570,6 +12831,26 @@ fail: } #endif +#ifndef NO_RegisterTouchWindow +JNIEXPORT jboolean JNICALL OS_NATIVE(RegisterTouchWindow) + (JNIEnv *env, jclass that, jintLong arg0, jint arg1) +{ + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, RegisterTouchWindow_FUNC); +/* + rc = (jboolean)RegisterTouchWindow((HWND)arg0, (ULONG)arg1); +*/ + { + LOAD_FUNCTION(fp, RegisterTouchWindow) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(HWND, ULONG))fp)((HWND)arg0, (ULONG)arg1); + } + } + OS_NATIVE_EXIT(env, that, RegisterTouchWindow_FUNC); + return rc; +} +#endif + #ifndef NO_RegisterWindowMessageA JNIEXPORT jint JNICALL OS_NATIVE(RegisterWindowMessageA) (JNIEnv *env, jclass that, jbyteArray arg0) @@ -15726,6 +16007,26 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(SetForegroundWindow) } #endif +#ifndef NO_SetGestureConfig +JNIEXPORT jboolean JNICALL OS_NATIVE(SetGestureConfig) + (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2, jintLong arg3, jint arg4) +{ + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, SetGestureConfig_FUNC); +/* + rc = (jboolean)SetGestureConfig((HWND)arg0, arg1, arg2, (PGESTURECONFIG)arg3, arg4); +*/ + { + LOAD_FUNCTION(fp, SetGestureConfig) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(HWND, jint, jint, PGESTURECONFIG, jint))fp)((HWND)arg0, arg1, arg2, (PGESTURECONFIG)arg3, arg4); + } + } + OS_NATIVE_EXIT(env, that, SetGestureConfig_FUNC); + return rc; +} +#endif + #ifndef NO_SetGraphicsMode JNIEXPORT jint JNICALL OS_NATIVE(SetGraphicsMode) (JNIEnv *env, jclass that, jintLong arg0, jint arg1) @@ -16803,6 +17104,30 @@ JNIEXPORT jint JNICALL OS_NATIVE(TOOLINFO_1sizeof) } #endif +#ifndef NO_TOUCHINPUT_1sizeof +JNIEXPORT jint JNICALL OS_NATIVE(TOUCHINPUT_1sizeof) + (JNIEnv *env, jclass that) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, TOUCHINPUT_1sizeof_FUNC); + rc = (jint)TOUCHINPUT_sizeof(); + OS_NATIVE_EXIT(env, that, TOUCHINPUT_1sizeof_FUNC); + return rc; +} +#endif + +#ifndef NO_TOUCH_1COORD_1TO_1PIXEL +JNIEXPORT jlong JNICALL OS_NATIVE(TOUCH_1COORD_1TO_1PIXEL) + (JNIEnv *env, jclass that, jlong arg0) +{ + jlong rc = 0; + OS_NATIVE_ENTER(env, that, TOUCH_1COORD_1TO_1PIXEL_FUNC); + rc = (jlong)TOUCH_COORD_TO_PIXEL(arg0); + OS_NATIVE_EXIT(env, that, TOUCH_1COORD_1TO_1PIXEL_FUNC); + return rc; +} +#endif + #ifndef NO_TRACKMOUSEEVENT_1sizeof JNIEXPORT jint JNICALL OS_NATIVE(TRACKMOUSEEVENT_1sizeof) (JNIEnv *env, jclass that) @@ -17153,6 +17478,26 @@ fail: } #endif +#ifndef NO_UnregisterTouchWindow +JNIEXPORT jboolean JNICALL OS_NATIVE(UnregisterTouchWindow) + (JNIEnv *env, jclass that, jintLong arg0) +{ + jboolean rc = 0; + OS_NATIVE_ENTER(env, that, UnregisterTouchWindow_FUNC); +/* + rc = (jboolean)UnregisterTouchWindow(arg0); +*/ + { + LOAD_FUNCTION(fp, UnregisterTouchWindow) + if (fp) { + rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong))fp)(arg0); + } + } + OS_NATIVE_EXIT(env, that, UnregisterTouchWindow_FUNC); + return rc; +} +#endif + #ifndef NO_UpdateLayeredWindow JNIEXPORT jboolean JNICALL OS_NATIVE(UpdateLayeredWindow) (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jobject arg2, jobject arg3, jintLong arg4, jobject arg5, jint arg6, jobject arg7, jint arg8) 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 36ed3f0cf8..04c285a5f9 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 @@ -68,6 +68,11 @@ #define NO_EMREXTCREATEFONTINDIRECTW #define NO_EXTLOGFONTW #define NO_EXTLOGPEN +#define NO_FLICK_DATA +#define NO_FLICK_POINT +#define NO_GESTURECONFIG +#define NO_GESTUREINFO +#define NO_GESTURENOTIFYSTRUCT #define NO_GCP_RESULTS #define NO_GRADIENT_RECT #define NO_GUITHREADINFO @@ -113,6 +118,7 @@ #define NO_TF_DA_COLOR #define NO_TF_DISPLAYATTRIBUTE #define NO_TOOLINFO +#define NO_TOUCHINPUT #define NO_TRACKMOUSEEVENT #define NO_TRIVERTEX #define NO_TVITEMEX @@ -179,7 +185,9 @@ #define NO_ChooseFontA #define NO_ChooseFontW #define NO_CloseEnhMetaFile +#define NO_CloseGestureInfoHandle #define NO_CloseThemeData +#define NO_CloseTouchInputHandle #define NO_CoCreateInstance #define NO_CoInternetIsFeatureEnabled #define NO_CoInternetSetFeatureEnabled @@ -245,8 +253,13 @@ #define NO_ExtractIconExA #define NO_FillPath #define NO_FindWindowA +#define NO_FLICK_1DATA_1sizeof +#define NO_FLICK_1POINT_1sizeof #define NO_FormatMessageA #define NO_GdiSetBatchLimit +#define NO_GESTURECONFIG_1sizeof +#define NO_GESTUREINFO_1sizeof +#define NO_GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT #define NO_GetCharABCWidthsA #define NO_GetCharABCWidthsW #define NO_GetCharWidthA @@ -261,6 +274,7 @@ #define NO_GetDIBColorTable #define NO_GetDIBits #define NO_GetFontLanguageInfo +#define NO_GetGestureInfo #define NO_GetGlyphIndicesW #define NO_GetGraphicsMode #define NO_GetGUIThreadInfo @@ -328,6 +342,7 @@ #define NO_GetThemeRect #define NO_GetThemeSysSize #define NO_GetTimeFormatA +#define NO_GetTouchInputInfo #define NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2 #define NO_GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXA_2 #define NO_GetVersionExW__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOEXW_2 @@ -374,6 +389,7 @@ #define NO_LoadLibraryA #define NO_LoadStringA #define NO_LockWindowUpdate +#define NO_LODWORD #define NO_LPtoDP #define NO_MapVirtualKeyA #define NO_MCIWndRegisterClass @@ -386,10 +402,14 @@ #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EMREXTCREATEFONTINDIRECTW_2II #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EMR_2II #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2II +#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II +#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II #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_GESTURECONFIG_2I +#define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I #define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMLINK_2II #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_NMTBHOTITEM_2II @@ -408,6 +428,7 @@ #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2II #define NO_MoveMemory__ILorg_eclipse_swt_internal_win32_MINMAXINFO_2I #define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_MINMAXINFO_2II +#define NO_MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II #define NO_MoveToEx #define NO_NotifyWinEvent #define NO_OleInitialize @@ -432,12 +453,14 @@ #define NO_RegQueryValueExA__I_3BI_3I_3I_3I #define NO_RegisterClassA #define NO_RegisterClipboardFormatA +#define NO_RegisterTouchWindow #define NO_RegisterWindowMessageA #define NO_RemoveFontResourceExW #define NO_RemovePropA #define NO_RemovePropW #define NO_ReplyMessage #define NO_SetCurrentProcessExplicitAppUserModelID +#define NO_SetGestureConfig #define NO_SetLayeredWindowAttributes #define NO_SetLayout #define NO_SetProcessDPIAware @@ -553,6 +576,8 @@ #define NO_ScriptXtoCP #define NO_StrokePath #define NO_ToAscii +#define NO_TOUCHINPUT_1sizeof +#define NO_TOUCH_1COORD_1TO_1PIXEL #define NO_ToUnicode #define NO_TrackMouseEvent #define NO_TranslateAcceleratorA @@ -560,6 +585,7 @@ #define NO_TransparentBlt #define NO_UnhookWindowsHookEx #define NO_UnregisterClassA +#define NO_UnregisterTouchWindow #define NO_UpdateLayeredWindow #define NO_VkKeyScanA #define NO_VkKeyScanW @@ -673,10 +699,127 @@ typedef struct tagTVITEMCHANGE { #endif /* _WIN32_IE <= 0x0600 */ #endif /* _WIN32_WCE */ +#if (WINVER < 0x0601) +typedef enum FLICKDIRECTION +{ + FLICKDIRECTION_MIN = 0, + FLICKDIRECTION_RIGHT = 0, + FLICKDIRECTION_UPRIGHT = 1, + FLICKDIRECTION_UP = 2, + FLICKDIRECTION_UPLEFT = 3, + FLICKDIRECTION_LEFT = 4, + FLICKDIRECTION_DOWNLEFT = 5, + FLICKDIRECTION_DOWN = 6, + FLICKDIRECTION_DOWNRIGHT = 7, + FLICKDIRECTION_INVALID = 8, +}FLICKDIRECTION; + +typedef struct FLICK_POINT +{ + INT x:16; + INT y:16; +}FLICK_POINT; + +typedef enum FLICKACTION_COMMANDCODE +{ + FLICKACTION_COMMANDCODE_NULL = 0, + FLICKACTION_COMMANDCODE_SCROLL = 1, + FLICKACTION_COMMANDCODE_APPCOMMAND = 2, + FLICKACTION_COMMANDCODE_CUSTOMKEY = 3, + FLICKACTION_COMMANDCODE_KEYMODIFIER = 4, +}FLICKACTION_COMMANDCODE; + +typedef struct FLICK_DATA +{ + FLICKACTION_COMMANDCODE iFlickActionCommandCode:5; + FLICKDIRECTION iFlickDirection:3; + BOOL fControlModifier:1; + BOOL fMenuModifier:1; + BOOL fAltGRModifier:1; + BOOL fWinModifier:1; + BOOL fShiftModifier:1; + INT iReserved:2; + BOOL fOnInkingSurface:1; + INT iActionArgument:16; +}FLICK_DATA; + +/* + * Touch input handle + */ +DECLARE_HANDLE(HTOUCHINPUT); + +typedef struct tagTOUCHINPUT { + LONG x; + LONG y; + HANDLE hSource; + DWORD dwID; + DWORD dwFlags; + DWORD dwMask; + DWORD dwTime; + ULONG_PTR dwExtraInfo; + DWORD cxContact; + DWORD cyContact; +} TOUCHINPUT, *PTOUCHINPUT; +typedef TOUCHINPUT const * PCTOUCHINPUT; + +/* + * Conversion of touch input coordinates to pixels + */ +#define TOUCH_COORD_TO_PIXEL(l) ((l) / 100) + +/* + * Gesture information handle + */ +DECLARE_HANDLE(HGESTUREINFO); + +typedef struct tagGESTUREINFO { + UINT cbSize; // size, in bytes, of this structure (including variable length Args field) + DWORD dwFlags; // see GF_* flags + DWORD dwID; // gesture ID, see GID_* defines + HWND hwndTarget; // handle to window targeted by this gesture + POINTS ptsLocation; // current location of this gesture + DWORD dwInstanceID; // internally used + DWORD dwSequenceID; // internally used + ULONGLONG ullArguments; // arguments for gestures whose arguments fit in 8 BYTES + UINT cbExtraArgs; // size, in bytes, of extra arguments, if any, that accompany this gesture +} GESTUREINFO, *PGESTUREINFO; +typedef GESTUREINFO const * PCGESTUREINFO; + +typedef struct tagGESTURENOTIFYSTRUCT { + UINT cbSize; // size, in bytes, of this structure + DWORD dwFlags; // unused + HWND hwndTarget; // handle to window targeted by the gesture + POINTS ptsLocation; // starting location + DWORD dwInstanceID; // internally used +} GESTURENOTIFYSTRUCT, *PGESTURENOTIFYSTRUCT; + +/* + * Gesture argument helpers + * - Angle should be a double in the range of -2pi to +2pi + * - Argument should be an unsigned 16-bit value + */ +#define GID_ROTATE_ANGLE_TO_ARGUMENT(_arg_) ((USHORT)((((_arg_) + 2.0 * 3.14159265) / (4.0 * 3.14159265)) * 65535.0)) +#define GID_ROTATE_ANGLE_FROM_ARGUMENT(_arg_) ((((double)(_arg_) / 65535.0) * 4.0 * 3.14159265) - 2.0 * 3.14159265) + +typedef struct tagGESTURECONFIG { + DWORD dwID; // gesture ID + DWORD dwWant; // settings related to gesture ID that are to be turned on + DWORD dwBlock; // settings related to gesture ID that are to be turned off +} GESTURECONFIG, *PGESTURECONFIG; +#endif /* WINVER >= 0x0601 */ + #ifndef GET_WHEEL_DELTA_WPARAM #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) #endif +#ifndef LODWORD +#define LODWORD(l) ((DWORD)((DWORDLONG)(l))) +#endif + +#ifndef HIDWORD +#define HIDWORD(l) ((DWORD)(((DWORDLONG)(l)>>32)&0xFFFFFFFF)) +#endif + #include "os_custom.h" #endif /* INC_os_H */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h index 2ffdf4859f..452e6fed5e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.h @@ -26,7 +26,9 @@ #define BufferedPaintUnInit_LIB "uxtheme.dll" #define BufferedPaintSetAlpha_LIB "uxtheme.dll" #define BeginBufferedPaint_LIB "uxtheme.dll" +#define CloseGestureInfoHandle_LIB "user32.dll" #define CloseThemeData_LIB "uxtheme.dll" +#define CloseTouchInputHandle_LIB "user32.dll" #define CoInternetIsFeatureEnabled_LIB "urlmon.dll" #define CoInternetSetFeatureEnabled_LIB "urlmon.dll" #define CreateActCtxW_LIB "kernel32.dll" @@ -38,6 +40,7 @@ #define DrawThemeText_LIB "uxtheme.dll" #define DwmEnableBlurBehindWindow_LIB "dwmapi.dll" #define DwmExtendFrameIntoClientArea_LIB "dwmapi.dll" +#define GetGestureInfo_LIB "user32.dll" #define GetThemeInt_LIB "uxtheme.dll" #define GetThemeMargins_LIB "uxtheme.dll" #define GetThemeBackgroundContentRect_LIB "uxtheme.dll" @@ -47,6 +50,7 @@ #define GetThemeMetric_LIB "uxtheme.dll" #define GetThemeRect_LIB "uxtheme.dll" #define GetThemeSysSize_LIB "uxtheme.dll" +#define GetTouchInputInfo_LIB "user32.dll" #define HitTestThemeBackground_LIB "uxtheme.dll" #define EndBufferedPaint_LIB "uxtheme.dll" #define EnumDisplayMonitors_LIB "user32.dll" @@ -72,7 +76,9 @@ #define OpenThemeData_LIB "uxtheme.dll" #define PrintWindow_LIB "user32.dll" #define PSPropertyKeyFromString_LIB "propsys.dll" +#define RegisterTouchWindow_LIB "user32.dll" #define SetCurrentProcessExplicitAppUserModelID_LIB "shell32.dll" +#define SetGestureConfig_LIB "user32.dll" #define SetLayeredWindowAttributes_LIB "user32.dll" #define SetLayout_LIB "gdi32.dll" #define SetMenuInfo_LIB "user32.dll" @@ -81,4 +87,5 @@ #define SHCreateItemFromRelativeName_LIB "shell32.dll" #define SHCreateItemInKnownFolder_LIB "shell32.dll" #define TransparentBlt_LIB "msimg32.dll" +#define UnregisterTouchWindow_LIB "user32.dll" #define UpdateLayeredWindow_LIB "user32.dll" 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 ce04a26fc1..c817d59b70 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 = 1012; -int OS_nativeFunctionCallCount[1012]; +int OS_nativeFunctionCount = 1031; +int OS_nativeFunctionCallCount[1031]; char * OS_nativeFunctionNames[] = { "ACCEL_1sizeof", "ACTCTX_1sizeof", @@ -78,8 +78,10 @@ char * OS_nativeFunctionNames[] = { "ClientToScreen", "CloseClipboard", "CloseEnhMetaFile", + "CloseGestureInfoHandle", "CloseHandle", "CloseThemeData", + "CloseTouchInputHandle", "CoCreateInstance", "CoInternetIsFeatureEnabled", "CoInternetSetFeatureEnabled", @@ -231,6 +233,8 @@ char * OS_nativeFunctionNames[] = { "ExtractIconExA", "ExtractIconExW", "FILETIME_1sizeof", + "FLICK_1DATA_1sizeof", + "FLICK_1POINT_1sizeof", "FillPath", "FillRect", "FindWindowA", @@ -239,9 +243,12 @@ char * OS_nativeFunctionNames[] = { "FormatMessageW", "FreeLibrary", "GCP_1RESULTS_1sizeof", + "GESTURECONFIG_1sizeof", + "GESTUREINFO_1sizeof", "GET_1WHEEL_1DELTA_1WPARAM", "GET_1X_1LPARAM", "GET_1Y_1LPARAM", + "GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT", "GRADIENT_1RECT_1sizeof", "GUITHREADINFO_1sizeof", "GdiSetBatchLimit", @@ -289,6 +296,7 @@ char * OS_nativeFunctionNames[] = { "GetFontLanguageInfo", "GetForegroundWindow", "GetGUIThreadInfo", + "GetGestureInfo", "GetGlyphIndicesW", "GetGraphicsMode", "GetIconInfo", @@ -448,6 +456,7 @@ char * OS_nativeFunctionNames[] = { "GetTickCount", "GetTimeFormatA", "GetTimeFormatW", + "GetTouchInputInfo", "GetUpdateRect", "GetUpdateRgn", "GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2", @@ -586,6 +595,7 @@ char * OS_nativeFunctionNames[] = { "KEYBDINPUT_1sizeof", "KillTimer", "LITEM_1sizeof", + "LODWORD", "LOGBRUSH_1sizeof", "LOGFONTA_1sizeof", "LOGFONTW_1sizeof", @@ -688,6 +698,11 @@ char * OS_nativeFunctionNames[] = { "MoveMemory__JLorg_eclipse_swt_internal_win32_DROPFILES_2I", #endif #ifndef JNI64 + "MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I", +#else + "MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I", +#endif +#ifndef JNI64 "MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I", #else "MoveMemory__JLorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I", @@ -874,6 +889,16 @@ char * OS_nativeFunctionNames[] = { "MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2JI", #endif #ifndef JNI64 + "MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II", +#else + "MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI", +#endif +#ifndef JNI64 + "MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II", +#else + "MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI", +#endif +#ifndef JNI64 "MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II", #else "MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2JI", @@ -1070,6 +1095,11 @@ char * OS_nativeFunctionNames[] = { "MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2JI", #endif #ifndef JNI64 + "MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II", +#else + "MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI", +#endif +#ifndef JNI64 "MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II", #else "MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2JI", @@ -1239,6 +1269,7 @@ char * OS_nativeFunctionNames[] = { "RegisterClassW", "RegisterClipboardFormatA", "RegisterClipboardFormatW", + "RegisterTouchWindow", "RegisterWindowMessageA", "RegisterWindowMessageW", "ReleaseCapture", @@ -1666,6 +1697,7 @@ char * OS_nativeFunctionNames[] = { "SetErrorMode", "SetFocus", "SetForegroundWindow", + "SetGestureConfig", "SetGraphicsMode", "SetLayeredWindowAttributes", "SetLayout", @@ -1741,6 +1773,8 @@ char * OS_nativeFunctionNames[] = { "TF_1DA_1COLOR_1sizeof", "TF_1DISPLAYATTRIBUTE_1sizeof", "TOOLINFO_1sizeof", + "TOUCHINPUT_1sizeof", + "TOUCH_1COORD_1TO_1PIXEL", "TRACKMOUSEEVENT_1sizeof", "TRIVERTEX_1sizeof", "TVHITTESTINFO_1sizeof", @@ -1765,6 +1799,7 @@ char * OS_nativeFunctionNames[] = { "UnmapViewOfFile", "UnregisterClassA", "UnregisterClassW", + "UnregisterTouchWindow", "UpdateLayeredWindow", "UpdateWindow", "ValidateRect", 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 077523b5d4..5f5e4433f9 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 @@ -86,8 +86,10 @@ typedef enum { ClientToScreen_FUNC, CloseClipboard_FUNC, CloseEnhMetaFile_FUNC, + CloseGestureInfoHandle_FUNC, CloseHandle_FUNC, CloseThemeData_FUNC, + CloseTouchInputHandle_FUNC, CoCreateInstance_FUNC, CoInternetIsFeatureEnabled_FUNC, CoInternetSetFeatureEnabled_FUNC, @@ -239,6 +241,8 @@ typedef enum { ExtractIconExA_FUNC, ExtractIconExW_FUNC, FILETIME_1sizeof_FUNC, + FLICK_1DATA_1sizeof_FUNC, + FLICK_1POINT_1sizeof_FUNC, FillPath_FUNC, FillRect_FUNC, FindWindowA_FUNC, @@ -247,9 +251,12 @@ typedef enum { FormatMessageW_FUNC, FreeLibrary_FUNC, GCP_1RESULTS_1sizeof_FUNC, + GESTURECONFIG_1sizeof_FUNC, + GESTUREINFO_1sizeof_FUNC, GET_1WHEEL_1DELTA_1WPARAM_FUNC, GET_1X_1LPARAM_FUNC, GET_1Y_1LPARAM_FUNC, + GID_1ROTATE_1ANGLE_1FROM_1ARGUMENT_FUNC, GRADIENT_1RECT_1sizeof_FUNC, GUITHREADINFO_1sizeof_FUNC, GdiSetBatchLimit_FUNC, @@ -297,6 +304,7 @@ typedef enum { GetFontLanguageInfo_FUNC, GetForegroundWindow_FUNC, GetGUIThreadInfo_FUNC, + GetGestureInfo_FUNC, GetGlyphIndicesW_FUNC, GetGraphicsMode_FUNC, GetIconInfo_FUNC, @@ -456,6 +464,7 @@ typedef enum { GetTickCount_FUNC, GetTimeFormatA_FUNC, GetTimeFormatW_FUNC, + GetTouchInputInfo_FUNC, GetUpdateRect_FUNC, GetUpdateRgn_FUNC, GetVersionExA__Lorg_eclipse_swt_internal_win32_OSVERSIONINFOA_2_FUNC, @@ -594,6 +603,7 @@ typedef enum { KEYBDINPUT_1sizeof_FUNC, KillTimer_FUNC, LITEM_1sizeof_FUNC, + LODWORD_FUNC, LOGBRUSH_1sizeof_FUNC, LOGFONTA_1sizeof_FUNC, LOGFONTW_1sizeof_FUNC, @@ -696,6 +706,11 @@ typedef enum { MoveMemory__JLorg_eclipse_swt_internal_win32_DROPFILES_2I_FUNC, #endif #ifndef JNI64 + MoveMemory__ILorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC, +#else + MoveMemory__JLorg_eclipse_swt_internal_win32_GESTURECONFIG_2I_FUNC, +#endif +#ifndef JNI64 MoveMemory__ILorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I_FUNC, #else MoveMemory__JLorg_eclipse_swt_internal_win32_GRADIENT_1RECT_2I_FUNC, @@ -882,6 +897,16 @@ typedef enum { MoveMemory__Lorg_eclipse_swt_internal_win32_EXTLOGPEN_2JI_FUNC, #endif #ifndef JNI64 + MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3II_FUNC, +#else + MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1DATA_2_3JI_FUNC, +#endif +#ifndef JNI64 + MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3II_FUNC, +#else + MoveMemory__Lorg_eclipse_swt_internal_win32_FLICK_1POINT_2_3JI_FUNC, +#endif +#ifndef JNI64 MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2II_FUNC, #else MoveMemory__Lorg_eclipse_swt_internal_win32_HDITEM_2JI_FUNC, @@ -1078,6 +1103,11 @@ typedef enum { MoveMemory__Lorg_eclipse_swt_internal_win32_TEXTMETRICW_2JI_FUNC, #endif #ifndef JNI64 + MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2II_FUNC, +#else + MoveMemory__Lorg_eclipse_swt_internal_win32_TOUCHINPUT_2JI_FUNC, +#endif +#ifndef JNI64 MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2II_FUNC, #else MoveMemory__Lorg_eclipse_swt_internal_win32_TVITEM_2JI_FUNC, @@ -1247,6 +1277,7 @@ typedef enum { RegisterClassW_FUNC, RegisterClipboardFormatA_FUNC, RegisterClipboardFormatW_FUNC, + RegisterTouchWindow_FUNC, RegisterWindowMessageA_FUNC, RegisterWindowMessageW_FUNC, ReleaseCapture_FUNC, @@ -1674,6 +1705,7 @@ typedef enum { SetErrorMode_FUNC, SetFocus_FUNC, SetForegroundWindow_FUNC, + SetGestureConfig_FUNC, SetGraphicsMode_FUNC, SetLayeredWindowAttributes_FUNC, SetLayout_FUNC, @@ -1749,6 +1781,8 @@ typedef enum { TF_1DA_1COLOR_1sizeof_FUNC, TF_1DISPLAYATTRIBUTE_1sizeof_FUNC, TOOLINFO_1sizeof_FUNC, + TOUCHINPUT_1sizeof_FUNC, + TOUCH_1COORD_1TO_1PIXEL_FUNC, TRACKMOUSEEVENT_1sizeof_FUNC, TRIVERTEX_1sizeof_FUNC, TVHITTESTINFO_1sizeof_FUNC, @@ -1773,6 +1807,7 @@ typedef enum { UnmapViewOfFile_FUNC, UnregisterClassA_FUNC, UnregisterClassW_FUNC, + UnregisterTouchWindow_FUNC, UpdateLayeredWindow_FUNC, UpdateWindow_FUNC, ValidateRect_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 a7c7a15e6c..88234f9a3e 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 @@ -1721,6 +1721,98 @@ void setFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct) } #endif +#ifndef NO_FLICK_DATA +typedef struct FLICK_DATA_FID_CACHE { + int cached; + jclass clazz; + jfieldID iFlickActionCommandCode, iFlickDirection, fControlModifier, fMenuModifier, fAltGRModifier, fWinModifier, fShiftModifier, iReserved, fOnInkingSurface, iActionArgument; +} FLICK_DATA_FID_CACHE; + +FLICK_DATA_FID_CACHE FLICK_DATAFc; + +void cacheFLICK_DATAFields(JNIEnv *env, jobject lpObject) +{ + if (FLICK_DATAFc.cached) return; + FLICK_DATAFc.clazz = (*env)->GetObjectClass(env, lpObject); + FLICK_DATAFc.iFlickActionCommandCode = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "iFlickActionCommandCode", "I"); + FLICK_DATAFc.iFlickDirection = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "iFlickDirection", "I"); + FLICK_DATAFc.fControlModifier = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fControlModifier", "Z"); + FLICK_DATAFc.fMenuModifier = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fMenuModifier", "Z"); + FLICK_DATAFc.fAltGRModifier = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fAltGRModifier", "Z"); + FLICK_DATAFc.fWinModifier = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fWinModifier", "Z"); + FLICK_DATAFc.fShiftModifier = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fShiftModifier", "Z"); + FLICK_DATAFc.iReserved = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "iReserved", "I"); + FLICK_DATAFc.fOnInkingSurface = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "fOnInkingSurface", "Z"); + FLICK_DATAFc.iActionArgument = (*env)->GetFieldID(env, FLICK_DATAFc.clazz, "iActionArgument", "I"); + FLICK_DATAFc.cached = 1; +} + +FLICK_DATA *getFLICK_DATAFields(JNIEnv *env, jobject lpObject, FLICK_DATA *lpStruct) +{ + if (!FLICK_DATAFc.cached) cacheFLICK_DATAFields(env, lpObject); + lpStruct->iFlickActionCommandCode = (*env)->GetIntField(env, lpObject, FLICK_DATAFc.iFlickActionCommandCode); + lpStruct->iFlickDirection = (*env)->GetIntField(env, lpObject, FLICK_DATAFc.iFlickDirection); + lpStruct->fControlModifier = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fControlModifier); + lpStruct->fMenuModifier = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fMenuModifier); + lpStruct->fAltGRModifier = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fAltGRModifier); + lpStruct->fWinModifier = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fWinModifier); + lpStruct->fShiftModifier = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fShiftModifier); + lpStruct->iReserved = (*env)->GetIntField(env, lpObject, FLICK_DATAFc.iReserved); + lpStruct->fOnInkingSurface = (*env)->GetBooleanField(env, lpObject, FLICK_DATAFc.fOnInkingSurface); + lpStruct->iActionArgument = (*env)->GetIntField(env, lpObject, FLICK_DATAFc.iActionArgument); + return lpStruct; +} + +void setFLICK_DATAFields(JNIEnv *env, jobject lpObject, FLICK_DATA *lpStruct) +{ + if (!FLICK_DATAFc.cached) cacheFLICK_DATAFields(env, lpObject); + (*env)->SetIntField(env, lpObject, FLICK_DATAFc.iFlickActionCommandCode, (jint)lpStruct->iFlickActionCommandCode); + (*env)->SetIntField(env, lpObject, FLICK_DATAFc.iFlickDirection, (jint)lpStruct->iFlickDirection); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fControlModifier, (jboolean)lpStruct->fControlModifier); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fMenuModifier, (jboolean)lpStruct->fMenuModifier); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fAltGRModifier, (jboolean)lpStruct->fAltGRModifier); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fWinModifier, (jboolean)lpStruct->fWinModifier); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fShiftModifier, (jboolean)lpStruct->fShiftModifier); + (*env)->SetIntField(env, lpObject, FLICK_DATAFc.iReserved, (jint)lpStruct->iReserved); + (*env)->SetBooleanField(env, lpObject, FLICK_DATAFc.fOnInkingSurface, (jboolean)lpStruct->fOnInkingSurface); + (*env)->SetIntField(env, lpObject, FLICK_DATAFc.iActionArgument, (jint)lpStruct->iActionArgument); +} +#endif + +#ifndef NO_FLICK_POINT +typedef struct FLICK_POINT_FID_CACHE { + int cached; + jclass clazz; + jfieldID x, y; +} FLICK_POINT_FID_CACHE; + +FLICK_POINT_FID_CACHE FLICK_POINTFc; + +void cacheFLICK_POINTFields(JNIEnv *env, jobject lpObject) +{ + if (FLICK_POINTFc.cached) return; + FLICK_POINTFc.clazz = (*env)->GetObjectClass(env, lpObject); + FLICK_POINTFc.x = (*env)->GetFieldID(env, FLICK_POINTFc.clazz, "x", "I"); + FLICK_POINTFc.y = (*env)->GetFieldID(env, FLICK_POINTFc.clazz, "y", "I"); + FLICK_POINTFc.cached = 1; +} + +FLICK_POINT *getFLICK_POINTFields(JNIEnv *env, jobject lpObject, FLICK_POINT *lpStruct) +{ + if (!FLICK_POINTFc.cached) cacheFLICK_POINTFields(env, lpObject); + lpStruct->x = (*env)->GetIntField(env, lpObject, FLICK_POINTFc.x); + lpStruct->y = (*env)->GetIntField(env, lpObject, FLICK_POINTFc.y); + return lpStruct; +} + +void setFLICK_POINTFields(JNIEnv *env, jobject lpObject, FLICK_POINT *lpStruct) +{ + if (!FLICK_POINTFc.cached) cacheFLICK_POINTFields(env, lpObject); + (*env)->SetIntField(env, lpObject, FLICK_POINTFc.x, (jint)lpStruct->x); + (*env)->SetIntField(env, lpObject, FLICK_POINTFc.y, (jint)lpStruct->y); +} +#endif + #ifndef NO_GCP_RESULTS typedef struct GCP_RESULTS_FID_CACHE { int cached; @@ -1776,6 +1868,101 @@ void setGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct) } #endif +#ifndef NO_GESTURECONFIG +typedef struct GESTURECONFIG_FID_CACHE { + int cached; + jclass clazz; + jfieldID dwID, dwWant, dwBlock; +} GESTURECONFIG_FID_CACHE; + +GESTURECONFIG_FID_CACHE GESTURECONFIGFc; + +void cacheGESTURECONFIGFields(JNIEnv *env, jobject lpObject) +{ + if (GESTURECONFIGFc.cached) return; + GESTURECONFIGFc.clazz = (*env)->GetObjectClass(env, lpObject); + GESTURECONFIGFc.dwID = (*env)->GetFieldID(env, GESTURECONFIGFc.clazz, "dwID", "I"); + GESTURECONFIGFc.dwWant = (*env)->GetFieldID(env, GESTURECONFIGFc.clazz, "dwWant", "I"); + GESTURECONFIGFc.dwBlock = (*env)->GetFieldID(env, GESTURECONFIGFc.clazz, "dwBlock", "I"); + GESTURECONFIGFc.cached = 1; +} + +GESTURECONFIG *getGESTURECONFIGFields(JNIEnv *env, jobject lpObject, GESTURECONFIG *lpStruct) +{ + if (!GESTURECONFIGFc.cached) cacheGESTURECONFIGFields(env, lpObject); + lpStruct->dwID = (*env)->GetIntField(env, lpObject, GESTURECONFIGFc.dwID); + lpStruct->dwWant = (*env)->GetIntField(env, lpObject, GESTURECONFIGFc.dwWant); + lpStruct->dwBlock = (*env)->GetIntField(env, lpObject, GESTURECONFIGFc.dwBlock); + return lpStruct; +} + +void setGESTURECONFIGFields(JNIEnv *env, jobject lpObject, GESTURECONFIG *lpStruct) +{ + if (!GESTURECONFIGFc.cached) cacheGESTURECONFIGFields(env, lpObject); + (*env)->SetIntField(env, lpObject, GESTURECONFIGFc.dwID, (jint)lpStruct->dwID); + (*env)->SetIntField(env, lpObject, GESTURECONFIGFc.dwWant, (jint)lpStruct->dwWant); + (*env)->SetIntField(env, lpObject, GESTURECONFIGFc.dwBlock, (jint)lpStruct->dwBlock); +} +#endif + +#ifndef NO_GESTUREINFO +typedef struct GESTUREINFO_FID_CACHE { + int cached; + jclass clazz; + jfieldID cbSize, dwFlags, dwID, hwndTarget, x, y, dwInstanceID, dwSequenceID, ullArguments, cbExtraArgs; +} GESTUREINFO_FID_CACHE; + +GESTUREINFO_FID_CACHE GESTUREINFOFc; + +void cacheGESTUREINFOFields(JNIEnv *env, jobject lpObject) +{ + if (GESTUREINFOFc.cached) return; + GESTUREINFOFc.clazz = (*env)->GetObjectClass(env, lpObject); + GESTUREINFOFc.cbSize = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "cbSize", "I"); + GESTUREINFOFc.dwFlags = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "dwFlags", "I"); + GESTUREINFOFc.dwID = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "dwID", "I"); + GESTUREINFOFc.hwndTarget = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "hwndTarget", I_J); + GESTUREINFOFc.x = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "x", "S"); + GESTUREINFOFc.y = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "y", "S"); + GESTUREINFOFc.dwInstanceID = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "dwInstanceID", "I"); + GESTUREINFOFc.dwSequenceID = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "dwSequenceID", "I"); + GESTUREINFOFc.ullArguments = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "ullArguments", "J"); + GESTUREINFOFc.cbExtraArgs = (*env)->GetFieldID(env, GESTUREINFOFc.clazz, "cbExtraArgs", "I"); + GESTUREINFOFc.cached = 1; +} + +GESTUREINFO *getGESTUREINFOFields(JNIEnv *env, jobject lpObject, GESTUREINFO *lpStruct) +{ + if (!GESTUREINFOFc.cached) cacheGESTUREINFOFields(env, lpObject); + lpStruct->cbSize = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.cbSize); + lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.dwFlags); + lpStruct->dwID = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.dwID); + lpStruct->hwndTarget = (HWND)(*env)->GetIntLongField(env, lpObject, GESTUREINFOFc.hwndTarget); + lpStruct->ptsLocation.x = (*env)->GetShortField(env, lpObject, GESTUREINFOFc.x); + lpStruct->ptsLocation.y = (*env)->GetShortField(env, lpObject, GESTUREINFOFc.y); + lpStruct->dwInstanceID = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.dwInstanceID); + lpStruct->dwSequenceID = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.dwSequenceID); + lpStruct->ullArguments = (*env)->GetLongField(env, lpObject, GESTUREINFOFc.ullArguments); + lpStruct->cbExtraArgs = (*env)->GetIntField(env, lpObject, GESTUREINFOFc.cbExtraArgs); + return lpStruct; +} + +void setGESTUREINFOFields(JNIEnv *env, jobject lpObject, GESTUREINFO *lpStruct) +{ + if (!GESTUREINFOFc.cached) cacheGESTUREINFOFields(env, lpObject); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.cbSize, (jint)lpStruct->cbSize); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.dwFlags, (jint)lpStruct->dwFlags); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.dwID, (jint)lpStruct->dwID); + (*env)->SetIntLongField(env, lpObject, GESTUREINFOFc.hwndTarget, (jintLong)lpStruct->hwndTarget); + (*env)->SetShortField(env, lpObject, GESTUREINFOFc.x, (jshort)lpStruct->ptsLocation.x); + (*env)->SetShortField(env, lpObject, GESTUREINFOFc.y, (jshort)lpStruct->ptsLocation.y); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.dwInstanceID, (jint)lpStruct->dwInstanceID); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.dwSequenceID, (jint)lpStruct->dwSequenceID); + (*env)->SetLongField(env, lpObject, GESTUREINFOFc.ullArguments, (jlong)lpStruct->ullArguments); + (*env)->SetIntField(env, lpObject, GESTUREINFOFc.cbExtraArgs, (jint)lpStruct->cbExtraArgs); +} +#endif + #ifndef NO_GRADIENT_RECT typedef struct GRADIENT_RECT_FID_CACHE { int cached; @@ -8282,6 +8469,64 @@ void setTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct) } #endif +#ifndef NO_TOUCHINPUT +typedef struct TOUCHINPUT_FID_CACHE { + int cached; + jclass clazz; + jfieldID x, y, hSource, dwID, dwFlags, dwMask, dwTime, dwExtraInfo, cxContact, cyContact; +} TOUCHINPUT_FID_CACHE; + +TOUCHINPUT_FID_CACHE TOUCHINPUTFc; + +void cacheTOUCHINPUTFields(JNIEnv *env, jobject lpObject) +{ + if (TOUCHINPUTFc.cached) return; + TOUCHINPUTFc.clazz = (*env)->GetObjectClass(env, lpObject); + TOUCHINPUTFc.x = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "x", I_J); + TOUCHINPUTFc.y = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "y", I_J); + TOUCHINPUTFc.hSource = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "hSource", I_J); + TOUCHINPUTFc.dwID = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "dwID", "I"); + TOUCHINPUTFc.dwFlags = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "dwFlags", "I"); + TOUCHINPUTFc.dwMask = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "dwMask", "I"); + TOUCHINPUTFc.dwTime = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "dwTime", "I"); + TOUCHINPUTFc.dwExtraInfo = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "dwExtraInfo", I_J); + TOUCHINPUTFc.cxContact = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "cxContact", "I"); + TOUCHINPUTFc.cyContact = (*env)->GetFieldID(env, TOUCHINPUTFc.clazz, "cyContact", "I"); + TOUCHINPUTFc.cached = 1; +} + +TOUCHINPUT *getTOUCHINPUTFields(JNIEnv *env, jobject lpObject, TOUCHINPUT *lpStruct) +{ + if (!TOUCHINPUTFc.cached) cacheTOUCHINPUTFields(env, lpObject); + lpStruct->x = (*env)->GetIntLongField(env, lpObject, TOUCHINPUTFc.x); + lpStruct->y = (*env)->GetIntLongField(env, lpObject, TOUCHINPUTFc.y); + lpStruct->hSource = (HWND)(*env)->GetIntLongField(env, lpObject, TOUCHINPUTFc.hSource); + lpStruct->dwID = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.dwID); + lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.dwFlags); + lpStruct->dwMask = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.dwMask); + lpStruct->dwTime = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.dwTime); + lpStruct->dwExtraInfo = (*env)->GetIntLongField(env, lpObject, TOUCHINPUTFc.dwExtraInfo); + lpStruct->cxContact = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.cxContact); + lpStruct->cyContact = (*env)->GetIntField(env, lpObject, TOUCHINPUTFc.cyContact); + return lpStruct; +} + +void setTOUCHINPUTFields(JNIEnv *env, jobject lpObject, TOUCHINPUT *lpStruct) +{ + if (!TOUCHINPUTFc.cached) cacheTOUCHINPUTFields(env, lpObject); + (*env)->SetIntLongField(env, lpObject, TOUCHINPUTFc.x, (jintLong)lpStruct->x); + (*env)->SetIntLongField(env, lpObject, TOUCHINPUTFc.y, (jintLong)lpStruct->y); + (*env)->SetIntLongField(env, lpObject, TOUCHINPUTFc.hSource, (jintLong)lpStruct->hSource); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.dwID, (jint)lpStruct->dwID); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.dwFlags, (jint)lpStruct->dwFlags); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.dwMask, (jint)lpStruct->dwMask); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.dwTime, (jint)lpStruct->dwTime); + (*env)->SetIntLongField(env, lpObject, TOUCHINPUTFc.dwExtraInfo, (jintLong)lpStruct->dwExtraInfo); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.cxContact, (jint)lpStruct->cxContact); + (*env)->SetIntField(env, lpObject, TOUCHINPUTFc.cyContact, (jint)lpStruct->cyContact); +} +#endif + #ifndef NO_TRACKMOUSEEVENT typedef struct TRACKMOUSEEVENT_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 b13086fb14..1bee778c30 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 @@ -359,6 +359,30 @@ void setFILETIMEFields(JNIEnv *env, jobject lpObject, FILETIME *lpStruct); #define FILETIME_sizeof() 0 #endif +#ifndef NO_FLICK_DATA +void cacheFLICK_DATAFields(JNIEnv *env, jobject lpObject); +FLICK_DATA *getFLICK_DATAFields(JNIEnv *env, jobject lpObject, FLICK_DATA *lpStruct); +void setFLICK_DATAFields(JNIEnv *env, jobject lpObject, FLICK_DATA *lpStruct); +#define FLICK_DATA_sizeof() sizeof(FLICK_DATA) +#else +#define cacheFLICK_DATAFields(a,b) +#define getFLICK_DATAFields(a,b,c) NULL +#define setFLICK_DATAFields(a,b,c) +#define FLICK_DATA_sizeof() 0 +#endif + +#ifndef NO_FLICK_POINT +void cacheFLICK_POINTFields(JNIEnv *env, jobject lpObject); +FLICK_POINT *getFLICK_POINTFields(JNIEnv *env, jobject lpObject, FLICK_POINT *lpStruct); +void setFLICK_POINTFields(JNIEnv *env, jobject lpObject, FLICK_POINT *lpStruct); +#define FLICK_POINT_sizeof() sizeof(FLICK_POINT) +#else +#define cacheFLICK_POINTFields(a,b) +#define getFLICK_POINTFields(a,b,c) NULL +#define setFLICK_POINTFields(a,b,c) +#define FLICK_POINT_sizeof() 0 +#endif + #ifndef NO_GCP_RESULTS void cacheGCP_RESULTSFields(JNIEnv *env, jobject lpObject); GCP_RESULTS *getGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct); @@ -371,6 +395,30 @@ void setGCP_RESULTSFields(JNIEnv *env, jobject lpObject, GCP_RESULTS *lpStruct); #define GCP_RESULTS_sizeof() 0 #endif +#ifndef NO_GESTURECONFIG +void cacheGESTURECONFIGFields(JNIEnv *env, jobject lpObject); +GESTURECONFIG *getGESTURECONFIGFields(JNIEnv *env, jobject lpObject, GESTURECONFIG *lpStruct); +void setGESTURECONFIGFields(JNIEnv *env, jobject lpObject, GESTURECONFIG *lpStruct); +#define GESTURECONFIG_sizeof() sizeof(GESTURECONFIG) +#else +#define cacheGESTURECONFIGFields(a,b) +#define getGESTURECONFIGFields(a,b,c) NULL +#define setGESTURECONFIGFields(a,b,c) +#define GESTURECONFIG_sizeof() 0 +#endif + +#ifndef NO_GESTUREINFO +void cacheGESTUREINFOFields(JNIEnv *env, jobject lpObject); +GESTUREINFO *getGESTUREINFOFields(JNIEnv *env, jobject lpObject, GESTUREINFO *lpStruct); +void setGESTUREINFOFields(JNIEnv *env, jobject lpObject, GESTUREINFO *lpStruct); +#define GESTUREINFO_sizeof() sizeof(GESTUREINFO) +#else +#define cacheGESTUREINFOFields(a,b) +#define getGESTUREINFOFields(a,b,c) NULL +#define setGESTUREINFOFields(a,b,c) +#define GESTUREINFO_sizeof() 0 +#endif + #ifndef NO_GRADIENT_RECT void cacheGRADIENT_RECTFields(JNIEnv *env, jobject lpObject); GRADIENT_RECT *getGRADIENT_RECTFields(JNIEnv *env, jobject lpObject, GRADIENT_RECT *lpStruct); @@ -1727,6 +1775,18 @@ void setTOOLINFOFields(JNIEnv *env, jobject lpObject, TOOLINFO *lpStruct); #define TOOLINFO_sizeof() 0 #endif +#ifndef NO_TOUCHINPUT +void cacheTOUCHINPUTFields(JNIEnv *env, jobject lpObject); +TOUCHINPUT *getTOUCHINPUTFields(JNIEnv *env, jobject lpObject, TOUCHINPUT *lpStruct); +void setTOUCHINPUTFields(JNIEnv *env, jobject lpObject, TOUCHINPUT *lpStruct); +#define TOUCHINPUT_sizeof() sizeof(TOUCHINPUT) +#else +#define cacheTOUCHINPUTFields(a,b) +#define getTOUCHINPUTFields(a,b,c) NULL +#define setTOUCHINPUTFields(a,b,c) +#define TOUCHINPUT_sizeof() 0 +#endif + #ifndef NO_TRACKMOUSEEVENT void cacheTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject); TRACKMOUSEEVENT *getTRACKMOUSEEVENTFields(JNIEnv *env, jobject lpObject, TRACKMOUSEEVENT *lpStruct); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_DATA.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_DATA.java new file mode 100644 index 0000000000..3ebebad5a5 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_DATA.java @@ -0,0 +1,17 @@ + +package org.eclipse.swt.internal.win32; + +public class FLICK_DATA { + public int iFlickActionCommandCode; + /* @field cast=(unsigned int) */ + public int iFlickDirection; + public boolean fControlModifier; + public boolean fMenuModifier; + public boolean fAltGRModifier; + public boolean fWinModifier; + public boolean fShiftModifier; + public int iReserved; + public boolean fOnInkingSurface; + public int iActionArgument; + public static final int sizeof = OS.FLICK_DATA_sizeof(); +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_POINT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_POINT.java new file mode 100644 index 0000000000..872f4e760c --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/FLICK_POINT.java @@ -0,0 +1,7 @@ +package org.eclipse.swt.internal.win32; + +public class FLICK_POINT { + public int x; + public int y; + public static final int sizeof = OS.FLICK_POINT_sizeof(); +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTURECONFIG.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTURECONFIG.java new file mode 100644 index 0000000000..09c17f39fb --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTURECONFIG.java @@ -0,0 +1,8 @@ +package org.eclipse.swt.internal.win32; + +public class GESTURECONFIG { + public int dwID; // gesture ID + public int dwWant; // settings related to gesture ID that are to be turned on + public int dwBlock; // settings related to gesture ID that are to be turned off + public static final int sizeof = OS.GESTURECONFIG_sizeof (); +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTUREINFO.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTUREINFO.java new file mode 100644 index 0000000000..4fc8f73c3e --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/GESTUREINFO.java @@ -0,0 +1,19 @@ +package org.eclipse.swt.internal.win32; + +public class GESTUREINFO { + public int cbSize; + public int dwFlags; + public int dwID; + /** @field cast=(HWND) */ + public int /*long*/ hwndTarget; + // POINTS ptsLocation + /** @field accessor=ptsLocation.x */ + public short x; + /** @field accessor=ptsLocation.y */ + public short y; + public int dwInstanceID; + public int dwSequenceID; + public long ullArguments; + public int cbExtraArgs; + public static final int sizeof = OS.GESTUREINFO_sizeof (); +} 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 c0774d7a47..3b3a90cde1 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 @@ -679,6 +679,15 @@ public class OS extends C { public static final int FILE_ATTRIBUTE_DIRECTORY = 0x00000010; public static final int FILE_ATTRIBUTE_NORMAL = 0x00000080; public static final int FILE_MAP_READ = 4; + public static final int FLICKDIRECTION_RIGHT = 0; + public static final int FLICKDIRECTION_UPRIGHT = 1; + public static final int FLICKDIRECTION_UP = 2; + public static final int FLICKDIRECTION_UPLEFT = 3; + public static final int FLICKDIRECTION_LEFT = 4; + public static final int FLICKDIRECTION_DOWNLEFT = 5; + public static final int FLICKDIRECTION_DOWN = 6; + public static final int FLICKDIRECTION_DOWNRIGHT = 7; + public static final int FLICKDIRECTION_INVALID = 8; public static final int FNERR_INVALIDFILENAME = 0x3002; public static final int FNERR_BUFFERTOOSMALL = 0x3003; public static final int FOF_SILENT = 0x0004; @@ -705,7 +714,17 @@ public class OS extends C { public static final int GCS_CURSORPOS = 0x0080; public static final int GDT_VALID = 0; public static final int GET_FEATURE_FROM_PROCESS = 0x2; + public static final int GF_BEGIN = 1; + public static final int GF_INERTIA = 2; + public static final int GF_END = 4; public static final int GGI_MARK_NONEXISTING_GLYPHS = 1; + public static final int GID_BEGIN = 1; + public static final int GID_END = 2; + public static final int GID_ZOOM = 3; + public static final int GID_PAN = 4; + public static final int GID_ROTATE = 5; + public static final int GID_TWOFINGERTAP = 6; + public static final int GID_PRESSANDTAP = 7; public static final int GLPS_CLOSED = 1; public static final int GLPS_OPENED = 2; public static final int GM_ADVANCED = 2; @@ -1204,6 +1223,8 @@ public class OS extends C { public static final int MWMO_INPUTAVAILABLE = 0x4; public static final int MWT_LEFTMULTIPLY = 2; public static final int NI_COMPOSITIONSTR = 0x15; + public static final int NID_READY = 0x80; + public static final int NID_MULTI_INPUT = 0x40; public static final int NIF_ICON = 0x00000002; public static final int NIF_INFO = 0x00000010; public static final int NIF_MESSAGE = 0x00000001; @@ -1519,6 +1540,8 @@ public class OS extends C { public static final int SM_CMOUSEBUTTONS = 43; public static final int SM_CYSCREEN = 0x1; public static final int SM_CYVSCROLL = 0x14; + public static final int SM_DIGITIZER = 94; + public static final int SM_MAXIMUMTOUCHES= 95; // public static final int SM_DBCSENABLED = 0x2A; // public static final int SM_IMMENABLED = 0x52; public static final int SPI_GETFONTSMOOTHINGTYPE = 0x200A; @@ -1739,6 +1762,13 @@ public class OS extends C { public static final int TME_QUERY = 0x40000000; public static final int TMPF_VECTOR = 0x2; public static final int TMT_CONTENTMARGINS = 3602; + public static final int TOUCHEVENTF_MOVE = 0x0001; + public static final int TOUCHEVENTF_DOWN = 0x0002; + public static final int TOUCHEVENTF_UP = 0x0004; + public static final int TOUCHEVENTF_INRANGE = 0x0008; + public static final int TOUCHEVENTF_PRIMARY = 0x0010; + public static final int TOUCHEVENTF_NOCOALESCE = 0x0020; + public static final int TOUCHEVENTF_PALM = 0x0080; public static final String TOOLBARCLASSNAME = "ToolbarWindow32"; //$NON-NLS-1$ public static final String TOOLTIPS_CLASS = "tooltips_class32"; //$NON-NLS-1$ public static final int TP_BUTTON = 1; @@ -2067,6 +2097,7 @@ public class OS extends C { public static final int WM_ENDSESSION = 0x16; public static final int WM_ENTERIDLE = 0x121; public static final int WM_ERASEBKGND = 0x14; + public static final int WM_GESTURE = 0x0119; public static final int WM_GETDLGCODE = 0x87; public static final int WM_GETFONT = 0x31; // public static final int WM_GETICON = 0x7f; @@ -2139,8 +2170,10 @@ public class OS extends C { public static final int WM_SYSCOMMAND = 0x112; public static final int WM_SYSKEYDOWN = 0x104; public static final int WM_SYSKEYUP = 0x105; + public static final int WM_TABLET_FLICK = 0x02C0 + 11; public static final int WM_TIMER = 0x113; public static final int WM_THEMECHANGED = 0x031a; + public static final int WM_TOUCH = 0x240; public static final int WM_UNDO = 0x304; public static final int WM_UPDATEUISTATE = 0x0128; public static final int WM_USER = 0x400; @@ -2220,7 +2253,11 @@ public static final native int EMREXTCREATEFONTINDIRECTW_sizeof (); public static final native int EXTLOGFONTW_sizeof (); public static final native int EXTLOGPEN_sizeof (); public static final native int FILETIME_sizeof (); +public static final native int FLICK_DATA_sizeof (); +public static final native int FLICK_POINT_sizeof (); public static final native int GCP_RESULTS_sizeof (); +public static final native int GESTURECONFIG_sizeof (); +public static final native int GESTUREINFO_sizeof (); public static final native int GRADIENT_RECT_sizeof (); public static final native int GUITHREADINFO_sizeof (); public static final native int HDITEM_sizeof (); @@ -2329,6 +2366,7 @@ public static final native int TEXTMETRICW_sizeof (); public static final native int TF_DA_COLOR_sizeof (); public static final native int TF_DISPLAYATTRIBUTE_sizeof (); public static final native int TOOLINFO_sizeof (); +public static final native int TOUCHINPUT_sizeof(); public static final native int TRACKMOUSEEVENT_sizeof (); public static final native int TRIVERTEX_sizeof (); public static final native int TVHITTESTINFO_sizeof (); @@ -3524,6 +3562,11 @@ public static final native boolean ClientToScreen (int /*long*/ hWnd, POINT lpPo public static final native boolean CloseClipboard (); /** @param hdc cast=(HDC) */ public static final native int /*long*/ CloseEnhMetaFile (int /*long*/ hdc); +/** + * @method flags=dynamic + * @param hGesture cast=(HGESTUREINFO) + */ +public static final native int /*long*/ CloseGestureInfoHandle (int /*long*/ hGesture); /** @param hObject cast=(HANDLE) */ public static final native boolean CloseHandle (int /*long*/ hObject); /** @@ -3532,6 +3575,11 @@ public static final native boolean CloseHandle (int /*long*/ hObject); */ public static final native int CloseThemeData (int /*long*/ hTheme); /** + * @method flags=dynamic + * @param hTouchInput cast=(HTOUCHINPUT) + */ +public static final native boolean CloseTouchInputHandle(int /*long*/ hTouchInput); +/** * @param rclsid cast=(REFCLSID) * @param pUnkOuter cast=(LPUNKNOWN) * @param riid cast=(REFIID) @@ -4165,6 +4213,12 @@ public static final native int /*long*/ GetFocus (); /** @param hdc cast=(HDC) */ public static final native int GetFontLanguageInfo (int /*long*/ hdc); public static final native int /*long*/ GetForegroundWindow (); +/** + * @method flags=dynamic + * @param hGestureInfo cast=(HGESTUREINFO) + * @param pGestureInfo cast=(PGESTUREINFO) + */ +public static final native boolean GetGestureInfo(int /*long*/ hGestureInfo, GESTUREINFO pGestureInfo); /** @param hdc cast=(HDC) */ public static final native int GetGraphicsMode (int /*long*/ hdc); /** @@ -4515,6 +4569,13 @@ public static final native int GetTimeFormatW(int Locale, int dwFlags, SYSTEMTIM */ public static final native int GetTimeFormatA(int Locale, int dwFlags, SYSTEMTIME lpTime, byte [] lpFormat, byte [] lpTimeStr, int cchTime); /** + * @method flags=dynamic + * @param hTouchInput cast=(HTOUCHINPUT) + * @param cInputs cast=(UINT) + * @param pTouchInputs cast=(PTOUCHINPUT) + */ +public static final native boolean GetTouchInputInfo(int /*long*/ hTouchInput, int cInputs, int /*long*/ pTouchInputs, int cbSize); +/** * @param hWnd cast=(HWND) * @param lpRect cast=(LPRECT) * @param bErase cast=(BOOL) @@ -4583,6 +4644,7 @@ public static final native int GetWindowThreadProcessId (int /*long*/ hWnd, int * @param lpXform cast=(LPXFORM) */ public static final native boolean GetWorldTransform (int /*long*/ hdc, float[] lpXform); +public static final native double GID_ROTATE_ANGLE_FROM_ARGUMENT(long dwArgument); /** @param lpString cast=(LPCWSTR) */ public static final native int GlobalAddAtomW (char [] lpString); /** @param lpString cast=(LPCTSTR) */ @@ -4924,6 +4986,7 @@ public static final native int /*long*/ LoadLibraryA (byte [] lpLibFileName); public static final native int /*long*/ LocalFree (int /*long*/ hMem); /** @param hWndLock cast=(HWND) */ public static final native boolean LockWindowUpdate (int /*long*/ hWndLock); +public static final native int LODWORD (long l); public static final native int LOWORD (int /*long*/ l); /** @param hdc cast=(HDC) */ public static final native boolean LPtoDP (int /*long*/ hdc, POINT lpPoints, int nCount); @@ -5159,6 +5222,16 @@ public static final native void MoveMemory (DRAWITEMSTRUCT Destination, int /*lo public static final native void MoveMemory (EXTLOGPEN Destination, int /*long*/ Source, int Length); /** * @param Destination cast=(PVOID),flags=no_in + * @param Source cast=(CONST VOID *),flags=no_out + */ +public static final native void MoveMemory (FLICK_DATA Destination, int /*long*/ [] Source, int Length); +/** + * @param Destination cast=(PVOID),flags=no_in + * @param Source cast=(CONST VOID *),flags=no_out + */ +public static final native void MoveMemory (FLICK_POINT Destination, int /*long*/ [] Source, int Length); +/** + * @param Destination cast=(PVOID),flags=no_in * @param Source cast=(CONST VOID *) */ public static final native void MoveMemory (HDITEM Destination, int /*long*/ Source, int Length); @@ -5377,6 +5450,11 @@ public static final native void MoveMemory (TEXTMETRICA Destination, int /*long* * @param Destination cast=(PVOID),flags=no_in * @param Source cast=(CONST VOID *) */ +public static final native void MoveMemory (TOUCHINPUT Destination, int /*long*/ Source, int Length); +/** + * @param Destination cast=(PVOID),flags=no_in + * @param Source cast=(CONST VOID *) + */ public static final native void MoveMemory (TVITEM Destination, int /*long*/ Source, int Length); /** * @param Destination cast=(PVOID),flags=no_in @@ -5444,6 +5522,11 @@ public static final native void MoveMemory (int /*long*/ Destination, KEYBDINPUT */ public static final native void MoveMemory (int /*long*/ Destination, MOUSEINPUT Source, int Length); /** + * @param Destination cast=(PVOID) + * @param Source cast=(CONST VOID *),flags=no_out + */ +public static final native void MoveMemory (int /*long*/ Destination, GESTURECONFIG Source, int Length); +/** * @param hdc cast=(HDC) * @param lPoint cast=(LPPOINT) */ @@ -5588,6 +5671,12 @@ public static final native int RegEnumKeyExA (int /*long*/ hKey, int dwIndex, by /** @param lpWndClass cast=(LPWNDCLASSW) */ public static final native int RegisterClassW (WNDCLASS lpWndClass); public static final native int RegisterClassA (WNDCLASS lpWndClass); +/** + * @method flags=dynamic + * @param hWnd cast=(HWND) + * @param ulFlags cast=(ULONG) + */ +public static final native boolean RegisterTouchWindow(int /*long*/ hWnd, int ulFlags); /** @param lpString cast=(LPWSTR) */ public static final native int RegisterWindowMessageW (char [] lpString); /** @param lpString cast=(LPTSTR) */ @@ -6298,6 +6387,12 @@ public static final native int SetErrorMode (int uMode); public static final native int /*long*/ SetFocus (int /*long*/ hWnd); /** @param hWnd cast=(HWND) */ public static final native boolean SetForegroundWindow (int /*long*/ hWnd); +/** + * @method flags=dynamic + * @param hwnd cast=(HWND) + * @param pGestureConfig cast=(PGESTURECONFIG) + */ +public static final native boolean SetGestureConfig(int /*long*/ hwnd, int dwReserved, int cIDs, int /*long*/ pGestureConfig, int cbSize); /** @param hdc cast=(HDC) */ public static final native int SetGraphicsMode (int /*long*/ hdc, int iMode); /** @@ -6558,6 +6653,7 @@ public static final native int ToAscii (int uVirtKey, int uScanCode, byte [] lpK * @param pwszBuff cast=(LPWSTR) */ public static final native int ToUnicode (int wVirtKey, int wScanCode, byte [] lpKeyState, char [] pwszBuff, int cchBuff, int wFlags); +public static final native long TOUCH_COORD_TO_PIXEL(long touchCoord); /** * @param hwndTV cast=(HWND) * @param hitem cast=(HTREEITEM) @@ -6618,6 +6714,11 @@ public static final native boolean UnregisterClassA (byte [] lpClassName, int /* * @param crKey cast=(COLORREF) */ public static final native boolean UpdateLayeredWindow (int /*long*/ hwnd, int /*long*/ hdcDst, POINT pptDst, SIZE psize, int /*long*/ hdcSrc, POINT pptSrc, int crKey, BLENDFUNCTION pblend, int dwFlags); +/** + * @method flags=dynamic + * @param hWnd cast=(HWND) + */ +public static final native boolean UnregisterTouchWindow (int /*long*/ hwnd); /** @param hWnd cast=(HWND) */ public static final native boolean UpdateWindow (int /*long*/ hWnd); /** @param hWnd cast=(HWND) */ diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOUCHINPUT.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOUCHINPUT.java new file mode 100644 index 0000000000..868f75462d --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/win32/TOUCHINPUT.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2000, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.swt.internal.win32; + +public class TOUCHINPUT { + public int /*long*/ x; + public int /*long*/ y; + /** @field cast=(HWND) */ + public int /*long*/ hSource; + public int dwID; + public int dwFlags; + public int dwMask; + public int dwTime; + public int /*long*/ dwExtraInfo; + public int cxContact; + public int cyContact; + public static final int sizeof = OS.TOUCHINPUT_sizeof(); +} |