@nativescript-community/gesturehandler 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pnpm-debug.log +1 -0
- package/CHANGELOG.md +68 -144
- package/README.md +132 -12
- package/{packages/gesturehandler/blueprint.md → blueprint.md} +0 -0
- package/gesturehandler.android.d.ts +180 -0
- package/{.history/src/gesturehandler/gesturehandler.android_20220328163618.ts → gesturehandler.android.js} +208 -228
- package/gesturehandler.android.js.map +1 -0
- package/gesturehandler.common.d.ts +96 -0
- package/{.history/src/gesturehandler.common_20210512114125.ts → gesturehandler.common.js} +74 -161
- package/gesturehandler.common.js.map +1 -0
- package/{src/gesturehandler/gesturehandler.d.ts → gesturehandler.d.ts} +0 -0
- package/gesturehandler.ios.d.ts +56 -0
- package/{.history/src/gesturehandler.ios_20210422150701.ts → gesturehandler.ios.js} +71 -100
- package/gesturehandler.ios.js.map +1 -0
- package/gestures_override.d.ts +29 -0
- package/{.history/src/gesturehandler/gestures_override_20220328170818.ts → gestures_override.js} +63 -171
- package/gestures_override.js.map +1 -0
- package/package.json +51 -60
- package/{packages/gesturehandler/platforms → platforms}/android/AndroidManifest.xml +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/include.gradle +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/GestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/PageLayout.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/nativescript/gesturehandler/RootViewGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/BaseGestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/FlingGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerInteractionController.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerOrchestrator.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerRegistry.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureHandlerRegistryImpl.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/GestureUtils.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/LongPressGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/NativeViewGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/OnTouchEventListener.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PanGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PinchGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEvents.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEventsConfig.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/PointerEventsSpec.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/RotationGestureDetector.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/RotationGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/ScaleGestureDetector.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/TapGestureHandler.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/java/com/swmansion/gesturehandler/ViewConfigurationHelper.java +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/native-api-usage.json +0 -0
- package/{packages/gesturehandler/platforms → platforms}/android/res/values/config.xml +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/FlingHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/FlingHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/ForceTouchHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/ForceTouchHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerDirection.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerEvents.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerEvents.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerHeader.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerManager.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerManager.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerRegistry.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerRegistry.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/GestureHandlerState.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/LongPressHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/LongPressHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/NativeViewHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/NativeViewHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PanHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PanHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PinchHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/PinchHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RootViewGestureRecognizer.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RootViewGestureRecognizer.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RotationHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/RotationHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/TapHandler.h +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/TapHandler.m +0 -0
- package/{packages/gesturehandler/platforms → platforms}/ios/src/module.modulemap +0 -0
- package/react/index.d.ts +20 -0
- package/react/index.js +9 -0
- package/react/index.js.map +1 -0
- package/references.d.ts +3 -3
- package/svelte/index.d.ts +11 -0
- package/svelte/index.js +26 -0
- package/svelte/index.js.map +1 -0
- package/tsconfig.json +8 -4
- package/{src/gesturehandler/typings → typings}/android.d.ts +0 -0
- package/{src/gesturehandler/typings → typings}/extensions.android.d.ts +0 -0
- package/{src/gesturehandler/typings → typings}/ios.d.ts +0 -0
- package/vue/index.d.ts +4 -0
- package/{.history/src/gesturehandler/vue/index_20220328163021.ts → vue/index.js} +1 -1
- package/vue/index.js.map +1 -0
- package/.classpath +0 -12
- package/.eslintrc.js +0 -3
- package/.gitattributes +0 -17
- package/.github/FUNDING.yml +0 -1
- package/.github/issue_template.md +0 -28
- package/.gitmodules +0 -6
- package/.gradle/7.3/checksums/checksums.lock +0 -0
- package/.gradle/7.3/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/7.3/dependencies-accessors/gc.properties +0 -0
- package/.gradle/7.3/fileChanges/last-build.bin +0 -0
- package/.gradle/7.3/fileHashes/fileHashes.lock +0 -0
- package/.gradle/7.3/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/.gradle/checksums/checksums.lock +0 -0
- package/.gradle/checksums/md5-checksums.bin +0 -0
- package/.gradle/checksums/sha1-checksums.bin +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/.history/build_20201106173734.gradle +0 -22
- package/.history/build_20220218093019.gradle +0 -22
- package/.history/build_20220218093024.gradle +0 -22
- package/.history/build_20220218093151.gradle +0 -22
- package/.history/build_20220218093200.gradle +0 -22
- package/.history/build_20220218093224.gradle +0 -22
- package/.history/build_20220218093249.gradle +0 -22
- package/.history/build_20220218093334.gradle +0 -22
- package/.history/build_20220218093339.gradle +0 -22
- package/.history/build_20220218093341.gradle +0 -22
- package/.history/build_20220218093411.gradle +0 -22
- package/.history/build_20220218093413.gradle +0 -22
- package/.history/build_20220218093416.gradle +0 -22
- package/.history/build_20220218093421.gradle +0 -23
- package/.history/build_20220218093423.gradle +0 -22
- package/.history/build_20220218100008.gradle +0 -22
- package/.history/demo-snippets/package_20211119094134.json +0 -7
- package/.history/demo-snippets/package_20220328153105.json +0 -7
- package/.history/demo-snippets/package_20220328153251.json +0 -7
- package/.history/demo-snippets/package_20220328153410.json +0 -7
- package/.history/demo-snippets/vue/Basic_20210917174642.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154031.vue +0 -44
- package/.history/demo-snippets/vue/Basic_20220328154730.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154741.vue +0 -46
- package/.history/demo-snippets/vue/Basic_20220328154807.vue +0 -47
- package/.history/demo-snippets/vue/Basic_20220328154838.vue +0 -51
- package/.history/demo-snippets/vue/Basic_20220328154839.vue +0 -51
- package/.history/demo-snippets/vue/Basic_20220328154901.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328154925.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328162644.vue +0 -52
- package/.history/demo-snippets/vue/Basic_20220328162656.vue +0 -48
- package/.history/demo-snippets/vue/Basic_20220328162658.vue +0 -48
- package/.history/demo-snippets/vue/Basic_20220328162731.vue +0 -48
- package/.history/demo-snippets/vue/ModalView_20220328154527.vue +0 -0
- package/.history/demo-snippets/vue/ModalView_20220328154555.vue +0 -15
- package/.history/demo-snippets/vue/ModalView_20220328162755.vue +0 -15
- package/.history/demo-snippets/vue/ModalView_20220328162915.vue +0 -17
- package/.history/demo-snippets/vue/install_20211117134051.ts +0 -14
- package/.history/demo-snippets/vue/install_20220328153411.ts +0 -10
- package/.history/demo-snippets/vue/install_20220328154031.ts +0 -9
- package/.history/demo-snippets/vue/install_20220328162915.ts +0 -10
- package/.history/demo-vue/.npmrc_20220328151942 +0 -1
- package/.history/demo-vue/.npmrc_20220329084955 +0 -2
- package/.history/demo-vue/package_20220328151942.json +0 -60
- package/.history/demo-vue/package_20220328153206.json +0 -60
- package/.history/demo-vue/package_20220328153218.json +0 -59
- package/.history/demo-vue/package_20220328153326.json +0 -60
- package/.history/demo-vue/package_20220328153411.json +0 -60
- package/.history/demo_vue/app/App_20201115162303.vue +0 -118
- package/.history/demo_vue/app/App_20220328150238.vue +0 -118
- package/.history/demo_vue/app/App_20220328150240.vue +0 -116
- package/.history/demo_vue/app/App_20220328150241.vue +0 -115
- package/.history/demo_vue/package_20210511163846.json +0 -30
- package/.history/demo_vue/package_20220328145031.json +0 -30
- package/.history/demo_vue/package_20220328150155.json +0 -30
- package/.history/demo_vue/package_20220328151156.json +0 -29
- package/.history/demo_vue/tsconfig_20200909142713.json +0 -30
- package/.history/demo_vue/tsconfig_20220328151126.json +0 -28
- package/.history/demo_vue/tsconfig_20220328151129.json +0 -27
- package/.history/demo_vue/webpack.config_20200909141619.js +0 -370
- package/.history/demo_vue/webpack.config_20220328145113.js +0 -6
- package/.history/demo_vue/webpack.config_20220328145115.js +0 -5
- package/.history/lerna_20220104212014.json +0 -21
- package/.history/lerna_20220328152313.json +0 -21
- package/.history/package_20220311095923.json +0 -74
- package/.history/package_20220328152312.json +0 -74
- package/.history/packages/gesturehandler/blueprint_20220306151807.md +0 -221
- package/.history/packages/gesturehandler/blueprint_20220328164413.md +0 -74
- package/.history/packages/gesturehandler/package_20220325110528.json +0 -39
- package/.history/packages/gesturehandler/package_20220328152653.json +0 -52
- package/.history/packages/gesturehandler/package_20220328152719.json +0 -52
- package/.history/packages/gesturehandler/package_20220328153446.json +0 -52
- package/.history/packages/gesturehandler/package_20220328164418.json +0 -52
- package/.history/packages/gesturehandler/package_20220328164722.json +0 -52
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/GestureHandler_20210517182228.java +0 -544
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/GestureHandler_20220331104607.java +0 -540
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/LongPressGestureHandler_20210512101356.java +0 -81
- package/.history/packages/gesturehandler/platforms/android/java/com/swmansion/gesturehandler/LongPressGestureHandler_20220331111050.java +0 -81
- package/.history/packages/gesturehandler/tsconfig_20220328152950.json +0 -13
- package/.history/packages/gesturehandler/tsconfig_20220328153011.json +0 -13
- package/.history/plugin/platforms/android/include_20220125161223.gradle +0 -10
- package/.history/plugin/platforms/android/include_20220217110818.gradle +0 -19
- package/.history/plugin/platforms/android/include_20220217112410.gradle +0 -18
- package/.history/plugin/platforms/android/include_20220217153211.gradle +0 -19
- package/.history/plugin/platforms/android/include_20220218092908.gradle +0 -19
- package/.history/plugin/platforms/android/java/com/nativescript/gesturehandler/GestureLayout_20220217101202.java +0 -189
- package/.history/plugin/platforms/android/java/com/nativescript/gesturehandler/GestureLayout_20220217101931.java +0 -185
- package/.history/plugin/platforms/ios/src/GestureHandler_20201106183454.h +0 -98
- package/.history/plugin/platforms/ios/src/GestureHandler_20201111112216.m +0 -365
- package/.history/plugin/platforms/ios/src/GestureHandler_20220104160100.m +0 -369
- package/.history/plugin/platforms/ios/src/GestureHandler_20220104172158.h +0 -101
- package/.history/src/gesturehandler/gesturehandler.android_20220328144612.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328154126.ts +0 -609
- package/.history/src/gesturehandler/gesturehandler.android_20220328154143.ts +0 -609
- package/.history/src/gesturehandler/gesturehandler.android_20220328154730.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328160735.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.android_20220328161307.ts +0 -612
- package/.history/src/gesturehandler/gesturehandler.android_20220328161410.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328161742.ts +0 -612
- package/.history/src/gesturehandler/gesturehandler.android_20220328162317.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328162541.ts +0 -613
- package/.history/src/gesturehandler/gesturehandler.android_20220328162915.ts +0 -611
- package/.history/src/gesturehandler/gesturehandler.android_20220328163707.ts +0 -610
- package/.history/src/gesturehandler/gesturehandler.common_20220328144620.ts +0 -325
- package/.history/src/gesturehandler/gesturehandler.common_20220328153656.ts +0 -325
- package/.history/src/gesturehandler/gestures_override_20210512114352.ts +0 -523
- package/.history/src/gesturehandler/gestures_override_20220328155041.ts +0 -523
- package/.history/src/gesturehandler/gestures_override_20220328155424.ts +0 -525
- package/.history/src/gesturehandler/gestures_override_20220328160121.ts +0 -527
- package/.history/src/gesturehandler/gestures_override_20220328160132.ts +0 -527
- package/.history/src/gesturehandler/gestures_override_20220328160220.ts +0 -528
- package/.history/src/gesturehandler/gestures_override_20220328160416.ts +0 -529
- package/.history/src/gesturehandler/gestures_override_20220328160731.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328160808.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160834.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160909.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328160931.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161052.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161319.ts +0 -536
- package/.history/src/gesturehandler/gestures_override_20220328161759.ts +0 -534
- package/.history/src/gesturehandler/gestures_override_20220328162317.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328162503.ts +0 -535
- package/.history/src/gesturehandler/gestures_override_20220328170816.ts +0 -533
- package/.history/src/gesturehandler/vue/index_20201021164506.ts +0 -12
- package/.history/src/gesturehandler.android_20220325103749.ts +0 -574
- package/.history/src/gesturehandler.android_20220325110406.ts +0 -574
- package/.history/src/gesturehandler.android_20220328144613.ts +0 -610
- package/.history/src/gesturehandler.common_20220328144621.ts +0 -325
- package/.history/src/gesturehandler.d_20210422150412.ts +0 -154
- package/.history/src/gesturehandler.d_20220328144718.ts +0 -156
- package/.history/src/gesturehandler.ios_20220328144653.ts +0 -296
- package/.history/src/references.d_20200412093513.ts +0 -3
- package/.history/src/references.d_20220328144701.ts +0 -3
- package/.history/tsconfig_20220306153539.json +0 -9
- package/.history/tsconfig_20220328152313.json +0 -9
- package/.prettierignore +0 -4
- package/.prettierrc +0 -6
- package/.prettierrc.js +0 -7
- package/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/.vscode/settings.json +0 -19
- package/CONTRIBUTING.md +0 -19
- package/build.gradle +0 -22
- package/config.json +0 -7
- package/demo-snippets/node_modules/.package-lock.json +0 -20
- package/demo-snippets/package.json +0 -7
- package/demo-snippets/vue/Basic.vue +0 -48
- package/demo-snippets/vue/ModalView.vue +0 -17
- package/demo-snippets/vue/install.ts +0 -10
- package/demo-vue/App_Resources/Android/app.gradle +0 -20
- package/demo-vue/App_Resources/Android/src/main/AndroidManifest.xml +0 -42
- package/demo-vue/App_Resources/Android/src/main/res/drawable/ic_launcher_foreground.xml +0 -15
- package/demo-vue/App_Resources/Android/src/main/res/drawable-hdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-hdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-ldpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-ldpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-mdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-mdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml +0 -8
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/demo-vue/App_Resources/Android/src/main/res/values/colors.xml +0 -7
- package/demo-vue/App_Resources/Android/src/main/res/values/ic_launcher_background.xml +0 -4
- package/demo-vue/App_Resources/Android/src/main/res/values/styles.xml +0 -42
- package/demo-vue/App_Resources/Android/src/main/res/values-v21/colors.xml +0 -4
- package/demo-vue/App_Resources/Android/src/main/res/values-v21/styles.xml +0 -28
- package/demo-vue/App_Resources/Android/src/main/res/values-v29/styles.xml +0 -12
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -122
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/Contents.json +0 -6
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json +0 -23
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json +0 -23
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png +0 -0
- package/demo-vue/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png +0 -0
- package/demo-vue/App_Resources/iOS/Info.plist +0 -47
- package/demo-vue/App_Resources/iOS/LaunchScreen.storyboard +0 -53
- package/demo-vue/App_Resources/iOS/build.xcconfig +0 -6
- package/demo-vue/app/app.scss +0 -11
- package/demo-vue/app/app.ts +0 -9
- package/demo-vue/app/components/Menu.vue +0 -54
- package/demo-vue/nativescript.config.ts +0 -11
- package/demo-vue/package.json +0 -60
- package/demo-vue/tsconfig.json +0 -25
- package/demo-vue/types/references.d.ts +0 -1
- package/demo-vue/types/shims.vue.d.ts +0 -4
- package/demo-vue/webpack.config.js +0 -42
- package/images/demo.gif +0 -0
- package/lerna.json +0 -21
- package/packages/gesturehandler/CHANGELOG.md +0 -609
- package/packages/gesturehandler/README.md +0 -176
- package/packages/gesturehandler/package.json +0 -52
- package/packages/gesturehandler/tsconfig.json +0 -13
- package/src/gesturehandler/gesturehandler.android.ts +0 -610
- package/src/gesturehandler/gesturehandler.common.ts +0 -325
- package/src/gesturehandler/gesturehandler.ios.ts +0 -296
- package/src/gesturehandler/gestures_override.ts +0 -532
- package/src/gesturehandler/references.d.ts +0 -3
- package/src/gesturehandler/vue/index.ts +0 -7
- package/src-native/.vscode/settings.json +0 -3
- package/src-native/android/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/src-native/android/.vscode/settings.json +0 -3
- package/src-native/android/README.md +0 -14
- package/src-native/android/build.gradle +0 -25
- package/src-native/android/build.sh +0 -36
- package/src-native/android/gesturehandler/.classpath +0 -6
- package/src-native/android/gesturehandler/.settings/org.eclipse.buildship.core.prefs +0 -2
- package/src-native/android/gesturehandler/build.gradle +0 -84
- package/src-native/android/gesturehandler/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src-native/android/gesturehandler/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/src-native/android/gesturehandler/gradlew +0 -160
- package/src-native/android/gesturehandler/gradlew.bat +0 -90
- package/src-native/android/gesturehandler/local.properties +0 -9
- package/src-native/android/gesturehandler/proguard-rules.pro +0 -17
- package/src-native/android/gesturehandler/src/main/AndroidManifest.xml +0 -9
- package/src-native/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src-native/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/src-native/android/gradle.properties +0 -23
- package/src-native/android/gradlew +0 -160
- package/src-native/android/gradlew.bat +0 -90
- package/src-native/android/settings.gradle +0 -1
- package/src-native/ios/GestureHandler.xcodeproj/project.pbxproj +0 -662
- package/src-native/ios/GestureHandler.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/src-native/ios/GestureHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandler.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandlerApp.xcscheme +0 -87
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/GestureHandlerLib.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/test.xcscheme +0 -76
- package/src-native/ios/GestureHandler.xcodeproj/xcshareddata/xcschemes/universal.xcscheme +0 -76
- package/src-native/ios/build.sh +0 -10
- package/tools/.eslintrc.js +0 -252
- package/tools/builddoc.mjs +0 -54
- package/tools/common/.eslintrc.js +0 -3
- package/tools/common/.prettierignore +0 -4
- package/tools/common/.prettierrc.js +0 -7
- package/tools/common/references.d.ts +0 -3
- package/tools/package.json +0 -116
- package/tools/readme/blueprint.json +0 -10
- package/tools/readme/demos-and-development.md +0 -35
- package/tools/readme/edit-warning.md +0 -20
- package/tools/readme/questions.md +0 -3
- package/tools/readme.js +0 -54
- package/tools/sync.js +0 -102
- package/tools/tsconfig.doc.json +0 -10
- package/tools/tsconfig.eslint.json +0 -4
- package/tools/tsconfig.json +0 -38
- package/tools/typedoc.js +0 -17
- package/tools/update.js +0 -32
@@ -1,540 +0,0 @@
|
|
1
|
-
package com.swmansion.gesturehandler;
|
2
|
-
|
3
|
-
import android.util.Log;
|
4
|
-
|
5
|
-
import android.view.MotionEvent;
|
6
|
-
import android.view.View;
|
7
|
-
|
8
|
-
import java.util.Arrays;
|
9
|
-
|
10
|
-
public class GestureHandler<T extends GestureHandler> {
|
11
|
-
private final String TAG = "GestureHandler";
|
12
|
-
public static boolean debug = false;
|
13
|
-
|
14
|
-
public static final int STATE_UNDETERMINED = 0;
|
15
|
-
public static final int STATE_FAILED = 1;
|
16
|
-
public static final int STATE_BEGAN = 2;
|
17
|
-
public static final int STATE_CANCELLED = 3;
|
18
|
-
public static final int STATE_ACTIVE = 4;
|
19
|
-
public static final int STATE_END = 5;
|
20
|
-
|
21
|
-
public static final float HIT_SLOP_NONE = Float.NaN;
|
22
|
-
|
23
|
-
private static final int HIT_SLOP_LEFT_IDX = 0;
|
24
|
-
private static final int HIT_SLOP_TOP_IDX = 1;
|
25
|
-
private static final int HIT_SLOP_RIGHT_IDX = 2;
|
26
|
-
private static final int HIT_SLOP_BOTTOM_IDX = 3;
|
27
|
-
private static final int HIT_SLOP_WIDTH_IDX = 4;
|
28
|
-
private static final int HIT_SLOP_HEIGHT_IDX = 5;
|
29
|
-
|
30
|
-
public static final int DIRECTION_RIGHT = 1;
|
31
|
-
public static final int DIRECTION_LEFT = 2;
|
32
|
-
public static final int DIRECTION_UP = 4;
|
33
|
-
public static final int DIRECTION_DOWN = 8;
|
34
|
-
|
35
|
-
private static int MAX_POINTERS_COUNT = 12;
|
36
|
-
private static MotionEvent.PointerProperties[] sPointerProps;
|
37
|
-
private static MotionEvent.PointerCoords[] sPointerCoords;
|
38
|
-
|
39
|
-
private static void initPointerProps(int size) {
|
40
|
-
if (sPointerProps == null) {
|
41
|
-
sPointerProps = new MotionEvent.PointerProperties[MAX_POINTERS_COUNT];
|
42
|
-
sPointerCoords = new MotionEvent.PointerCoords[MAX_POINTERS_COUNT];
|
43
|
-
}
|
44
|
-
for (; size > 0 && sPointerProps[size - 1] == null; size--) {
|
45
|
-
sPointerProps[size - 1] = new MotionEvent.PointerProperties();
|
46
|
-
sPointerCoords[size - 1] = new MotionEvent.PointerCoords();
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
private final int[] mTrackedPointerIDs = new int[MAX_POINTERS_COUNT];
|
51
|
-
private int mTrackedPointersCount = 0;
|
52
|
-
|
53
|
-
private int mTag;
|
54
|
-
private View mView;
|
55
|
-
private int mState = STATE_UNDETERMINED;
|
56
|
-
private float mX, mY;
|
57
|
-
private final float[] mXs = new float[MAX_POINTERS_COUNT];
|
58
|
-
private final float[] mYs = new float[MAX_POINTERS_COUNT];
|
59
|
-
private boolean mWithinBounds;
|
60
|
-
private boolean mEnabled = true;
|
61
|
-
private float mHitSlop[];
|
62
|
-
|
63
|
-
private float mLastX, mLastY;
|
64
|
-
private float mLastEventOffsetX, mLastEventOffsetY;
|
65
|
-
|
66
|
-
private boolean mShouldCancelWhenOutside = false;
|
67
|
-
private int mNumberOfPointers = 0;
|
68
|
-
|
69
|
-
private GestureHandlerOrchestrator mOrchestrator;
|
70
|
-
private OnTouchEventListener<T> mListener;
|
71
|
-
private GestureHandlerInteractionController mInteractionController;
|
72
|
-
int mActivationIndex;
|
73
|
-
// set and accessed only by the orchestrator
|
74
|
-
boolean mIsActive;
|
75
|
-
// set and accessed only by the orchestrator
|
76
|
-
boolean mIsAwaiting; // set and accessed only by the orchestrator
|
77
|
-
|
78
|
-
private static boolean hitSlopSet(float value) {
|
79
|
-
return !Float.isNaN(value);
|
80
|
-
}
|
81
|
-
|
82
|
-
void dispatchStateChange(int newState, int prevState) {
|
83
|
-
if (mListener != null) {
|
84
|
-
mListener.onStateChange((T) this, newState, prevState);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
void dispatchTouchEvent(MotionEvent event) {
|
89
|
-
if (mListener != null) {
|
90
|
-
mListener.onTouchEvent((T) this, event);
|
91
|
-
}
|
92
|
-
}
|
93
|
-
|
94
|
-
public boolean hasCommonPointers(GestureHandler other) {
|
95
|
-
for (int i = 0; i < mTrackedPointerIDs.length; i++) {
|
96
|
-
if (mTrackedPointerIDs[i] != -1 && other.mTrackedPointerIDs[i] != -1) {
|
97
|
-
return true;
|
98
|
-
}
|
99
|
-
}
|
100
|
-
return false;
|
101
|
-
}
|
102
|
-
|
103
|
-
public T setShouldCancelWhenOutside(boolean shouldCancelWhenOutside) {
|
104
|
-
mShouldCancelWhenOutside = shouldCancelWhenOutside;
|
105
|
-
return (T) this;
|
106
|
-
}
|
107
|
-
|
108
|
-
public T setEnabled(boolean enabled) {
|
109
|
-
if (mView != null) {
|
110
|
-
// If view is set then handler is in "active" state. In that case we want to
|
111
|
-
// "cancel" handler
|
112
|
-
// when it changes enabled state so that it gets cleared from the orchestrator
|
113
|
-
cancel();
|
114
|
-
}
|
115
|
-
mEnabled = enabled;
|
116
|
-
return (T) this;
|
117
|
-
}
|
118
|
-
|
119
|
-
public boolean isEnabled() {
|
120
|
-
return mEnabled;
|
121
|
-
}
|
122
|
-
|
123
|
-
public T setHitSlop(float leftPad, float topPad, float rightPad, float bottomPad, float width, float height) {
|
124
|
-
if (mHitSlop == null) {
|
125
|
-
mHitSlop = new float[6];
|
126
|
-
}
|
127
|
-
mHitSlop[HIT_SLOP_LEFT_IDX] = leftPad;
|
128
|
-
mHitSlop[HIT_SLOP_TOP_IDX] = topPad;
|
129
|
-
mHitSlop[HIT_SLOP_RIGHT_IDX] = rightPad;
|
130
|
-
mHitSlop[HIT_SLOP_BOTTOM_IDX] = bottomPad;
|
131
|
-
mHitSlop[HIT_SLOP_WIDTH_IDX] = width;
|
132
|
-
mHitSlop[HIT_SLOP_HEIGHT_IDX] = height;
|
133
|
-
if (hitSlopSet(width) && hitSlopSet(leftPad) && hitSlopSet(rightPad)) {
|
134
|
-
throw new IllegalArgumentException("Cannot have all of left, right and width defined");
|
135
|
-
}
|
136
|
-
if (hitSlopSet(width) && !hitSlopSet(leftPad) && !hitSlopSet(rightPad)) {
|
137
|
-
throw new IllegalArgumentException("When width is set one of left or right pads need to be defined");
|
138
|
-
}
|
139
|
-
if (hitSlopSet(height) && hitSlopSet(bottomPad) && hitSlopSet(topPad)) {
|
140
|
-
throw new IllegalArgumentException("Cannot have all of top, bottom and height defined");
|
141
|
-
}
|
142
|
-
if (hitSlopSet(height) && !hitSlopSet(bottomPad) && !hitSlopSet(topPad)) {
|
143
|
-
throw new IllegalArgumentException("When height is set one of top or bottom pads need to be defined");
|
144
|
-
}
|
145
|
-
return (T) this;
|
146
|
-
}
|
147
|
-
|
148
|
-
public T setHitSlop(float padding) {
|
149
|
-
return setHitSlop(padding, padding, padding, padding, HIT_SLOP_NONE, HIT_SLOP_NONE);
|
150
|
-
}
|
151
|
-
|
152
|
-
public T setInteractionController(GestureHandlerInteractionController controller) {
|
153
|
-
mInteractionController = controller;
|
154
|
-
return (T) this;
|
155
|
-
}
|
156
|
-
|
157
|
-
public void setTag(int tag) {
|
158
|
-
mTag = tag;
|
159
|
-
}
|
160
|
-
|
161
|
-
public int getTag() {
|
162
|
-
return mTag;
|
163
|
-
}
|
164
|
-
|
165
|
-
public View getView() {
|
166
|
-
return mView;
|
167
|
-
}
|
168
|
-
|
169
|
-
public float getX() {
|
170
|
-
return mX;
|
171
|
-
}
|
172
|
-
|
173
|
-
public float getXAtIndex(int index) {
|
174
|
-
return mXs[index];
|
175
|
-
}
|
176
|
-
|
177
|
-
public float getY() {
|
178
|
-
return mY;
|
179
|
-
}
|
180
|
-
|
181
|
-
public float getYAtIndex(int index) {
|
182
|
-
return mYs[index];
|
183
|
-
}
|
184
|
-
|
185
|
-
public int getNumberOfPointers() {
|
186
|
-
return mNumberOfPointers;
|
187
|
-
}
|
188
|
-
|
189
|
-
public boolean isWithinBounds() {
|
190
|
-
return mWithinBounds;
|
191
|
-
}
|
192
|
-
|
193
|
-
public final void prepare(View view, GestureHandlerOrchestrator orchestrator) {
|
194
|
-
if (mView != null || mOrchestrator != null) {
|
195
|
-
throw new IllegalStateException("Already prepared or hasn't been reset");
|
196
|
-
}
|
197
|
-
Arrays.fill(mTrackedPointerIDs, -1);
|
198
|
-
mTrackedPointersCount = 0;
|
199
|
-
mState = STATE_UNDETERMINED;
|
200
|
-
|
201
|
-
mView = view;
|
202
|
-
mOrchestrator = orchestrator;
|
203
|
-
}
|
204
|
-
|
205
|
-
private int findNextLocalPointerId() {
|
206
|
-
int localPointerId = 0;
|
207
|
-
for (; localPointerId < mTrackedPointersCount; localPointerId++) {
|
208
|
-
int i = 0;
|
209
|
-
for (; i < mTrackedPointerIDs.length; i++) {
|
210
|
-
if (mTrackedPointerIDs[i] == localPointerId) {
|
211
|
-
break;
|
212
|
-
}
|
213
|
-
}
|
214
|
-
if (i == mTrackedPointerIDs.length) {
|
215
|
-
return localPointerId;
|
216
|
-
}
|
217
|
-
}
|
218
|
-
return localPointerId;
|
219
|
-
}
|
220
|
-
|
221
|
-
public void startTrackingPointer(int pointerId) {
|
222
|
-
if (mTrackedPointerIDs[pointerId] == -1) {
|
223
|
-
mTrackedPointerIDs[pointerId] = findNextLocalPointerId();
|
224
|
-
mTrackedPointersCount++;
|
225
|
-
}
|
226
|
-
}
|
227
|
-
|
228
|
-
public void stopTrackingPointer(int pointerId) {
|
229
|
-
if (mTrackedPointerIDs[pointerId] != -1) {
|
230
|
-
mTrackedPointerIDs[pointerId] = -1;
|
231
|
-
mTrackedPointersCount--;
|
232
|
-
}
|
233
|
-
}
|
234
|
-
|
235
|
-
private boolean needAdapt(MotionEvent event) {
|
236
|
-
if (event.getPointerCount() != mTrackedPointersCount) {
|
237
|
-
return true;
|
238
|
-
}
|
239
|
-
for (int i = 0; i < mTrackedPointerIDs.length; i++) {
|
240
|
-
if (mTrackedPointerIDs[i] != -1 && mTrackedPointerIDs[i] != i) {
|
241
|
-
return true;
|
242
|
-
}
|
243
|
-
}
|
244
|
-
return false;
|
245
|
-
}
|
246
|
-
|
247
|
-
private MotionEvent adaptEvent(MotionEvent event) {
|
248
|
-
if (!needAdapt(event)) {
|
249
|
-
return event;
|
250
|
-
}
|
251
|
-
int action = event.getActionMasked();
|
252
|
-
int actionIndex = -1;
|
253
|
-
if (action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_POINTER_DOWN) {
|
254
|
-
actionIndex = event.getActionIndex();
|
255
|
-
int actionPointer = event.getPointerId(actionIndex);
|
256
|
-
if (mTrackedPointerIDs[actionPointer] != -1) {
|
257
|
-
action = mTrackedPointersCount == 1 ? MotionEvent.ACTION_DOWN : MotionEvent.ACTION_POINTER_DOWN;
|
258
|
-
} else {
|
259
|
-
action = MotionEvent.ACTION_MOVE;
|
260
|
-
}
|
261
|
-
} else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) {
|
262
|
-
actionIndex = event.getActionIndex();
|
263
|
-
int actionPointer = event.getPointerId(actionIndex);
|
264
|
-
if (mTrackedPointerIDs[actionPointer] != -1) {
|
265
|
-
action = mTrackedPointersCount == 1 ? MotionEvent.ACTION_UP : MotionEvent.ACTION_POINTER_UP;
|
266
|
-
} else {
|
267
|
-
action = MotionEvent.ACTION_MOVE;
|
268
|
-
}
|
269
|
-
}
|
270
|
-
initPointerProps(mTrackedPointersCount);
|
271
|
-
int count = 0;
|
272
|
-
float oldX = event.getX();
|
273
|
-
float oldY = event.getY();
|
274
|
-
event.setLocation(event.getRawX(), event.getRawY());
|
275
|
-
for (int index = 0, size = event.getPointerCount(); index < size; index++) {
|
276
|
-
int origPointerId = event.getPointerId(index);
|
277
|
-
if (mTrackedPointerIDs[origPointerId] != -1) {
|
278
|
-
event.getPointerProperties(index, sPointerProps[count]);
|
279
|
-
sPointerProps[count].id = mTrackedPointerIDs[origPointerId];
|
280
|
-
event.getPointerCoords(index, sPointerCoords[count]);
|
281
|
-
if (index == actionIndex) {
|
282
|
-
action = action | (count << MotionEvent.ACTION_POINTER_INDEX_SHIFT);
|
283
|
-
}
|
284
|
-
count++;
|
285
|
-
}
|
286
|
-
}
|
287
|
-
MotionEvent result = MotionEvent.obtain(event.getDownTime(), event.getEventTime(), action, count,
|
288
|
-
sPointerProps, /* props are copied and hence itis safe to use static array here */
|
289
|
-
sPointerCoords, /* same applies to coords */
|
290
|
-
event.getMetaState(), event.getButtonState(), event.getXPrecision(), event.getYPrecision(), event.getDeviceId(),
|
291
|
-
event.getEdgeFlags(), event.getSource(), event.getFlags());
|
292
|
-
event.setLocation(oldX, oldY);
|
293
|
-
result.setLocation(oldX, oldY);
|
294
|
-
return result;
|
295
|
-
}
|
296
|
-
|
297
|
-
public final void handle(MotionEvent origEvent) {
|
298
|
-
if (!mEnabled || mState == STATE_CANCELLED || mState == STATE_FAILED || mState == STATE_END
|
299
|
-
|| mTrackedPointersCount < 1) {
|
300
|
-
return;
|
301
|
-
}
|
302
|
-
MotionEvent event = adaptEvent(origEvent);
|
303
|
-
mNumberOfPointers = event.getPointerCount();
|
304
|
-
mX = event.getX();
|
305
|
-
mY = event.getY();
|
306
|
-
for (int index = 0, size = mNumberOfPointers; index < size; index++) {
|
307
|
-
mXs[index] = event.getX(index);
|
308
|
-
mYs[index] = event.getY(index);
|
309
|
-
}
|
310
|
-
|
311
|
-
mWithinBounds = isWithinBounds(mView, mX, mY);
|
312
|
-
if (mShouldCancelWhenOutside && !mWithinBounds) {
|
313
|
-
if (mState == STATE_ACTIVE) {
|
314
|
-
cancel();
|
315
|
-
} else if (mState == STATE_BEGAN) {
|
316
|
-
fail();
|
317
|
-
}
|
318
|
-
if (event != origEvent) {
|
319
|
-
event.recycle();
|
320
|
-
}
|
321
|
-
return;
|
322
|
-
}
|
323
|
-
|
324
|
-
mLastX = GestureUtils.getLastPointerX(event, true);
|
325
|
-
mLastY = GestureUtils.getLastPointerY(event, true);
|
326
|
-
mLastEventOffsetX = event.getRawX() - event.getX();
|
327
|
-
mLastEventOffsetY = event.getRawY() - event.getY();
|
328
|
-
|
329
|
-
int action = event.getActionMasked();
|
330
|
-
if(action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_POINTER_DOWN) {
|
331
|
-
if (mListener != null && !mListener.shouldStartGesture((T) this, event)) {
|
332
|
-
fail();
|
333
|
-
if (event != origEvent) {
|
334
|
-
event.recycle();
|
335
|
-
}
|
336
|
-
return;
|
337
|
-
}
|
338
|
-
}
|
339
|
-
|
340
|
-
onHandle(event);
|
341
|
-
if (event != origEvent) {
|
342
|
-
event.recycle();
|
343
|
-
}
|
344
|
-
}
|
345
|
-
|
346
|
-
private void moveToState(int newState) {
|
347
|
-
if (mOrchestrator == null) {
|
348
|
-
// ignore not prepared
|
349
|
-
return;
|
350
|
-
}
|
351
|
-
if (mState == newState) {
|
352
|
-
return;
|
353
|
-
}
|
354
|
-
int oldState = mState;
|
355
|
-
mState = newState;
|
356
|
-
mOrchestrator.onHandlerStateChange(this, newState, oldState);
|
357
|
-
|
358
|
-
onStateChange(newState, oldState);
|
359
|
-
}
|
360
|
-
|
361
|
-
public boolean wantEvents(MotionEvent event) {
|
362
|
-
return mEnabled && mState != STATE_FAILED && mState != STATE_CANCELLED && mState != STATE_END
|
363
|
-
&& mTrackedPointersCount > 0;
|
364
|
-
}
|
365
|
-
|
366
|
-
public int getState() {
|
367
|
-
return mState;
|
368
|
-
}
|
369
|
-
|
370
|
-
public boolean shouldRequireToWaitForFailure(GestureHandler handler) {
|
371
|
-
if (handler != this && mInteractionController != null) {
|
372
|
-
return mInteractionController.shouldRequireHandlerToWaitForFailure(this, handler);
|
373
|
-
}
|
374
|
-
return false;
|
375
|
-
}
|
376
|
-
|
377
|
-
public boolean shouldWaitForHandlerFailure(GestureHandler handler) {
|
378
|
-
if (handler != this && mInteractionController != null) {
|
379
|
-
return mInteractionController.shouldWaitForHandlerFailure(this, handler);
|
380
|
-
}
|
381
|
-
return false;
|
382
|
-
}
|
383
|
-
|
384
|
-
public boolean shouldRecognizeSimultaneously(GestureHandler handler) {
|
385
|
-
if (handler == this) {
|
386
|
-
return true;
|
387
|
-
}
|
388
|
-
if (mInteractionController != null) {
|
389
|
-
return mInteractionController.shouldRecognizeSimultaneously(this, handler);
|
390
|
-
}
|
391
|
-
return false;
|
392
|
-
}
|
393
|
-
|
394
|
-
public boolean shouldBeCancelledBy(GestureHandler handler) {
|
395
|
-
if (handler == this) {
|
396
|
-
return false;
|
397
|
-
}
|
398
|
-
if (mInteractionController != null) {
|
399
|
-
return mInteractionController.shouldHandlerBeCancelledBy(this, handler);
|
400
|
-
}
|
401
|
-
return false;
|
402
|
-
}
|
403
|
-
|
404
|
-
public boolean isWithinBounds(View view, float posX, float posY) {
|
405
|
-
float left = 0;
|
406
|
-
float top = 0;
|
407
|
-
float right = view.getWidth();
|
408
|
-
float bottom = view.getHeight();
|
409
|
-
if (mHitSlop != null) {
|
410
|
-
float padLeft = mHitSlop[HIT_SLOP_LEFT_IDX];
|
411
|
-
float padTop = mHitSlop[HIT_SLOP_TOP_IDX];
|
412
|
-
float padRight = mHitSlop[HIT_SLOP_RIGHT_IDX];
|
413
|
-
float padBottom = mHitSlop[HIT_SLOP_BOTTOM_IDX];
|
414
|
-
if (hitSlopSet(padLeft)) {
|
415
|
-
left -= padLeft;
|
416
|
-
}
|
417
|
-
if (hitSlopSet(padTop)) {
|
418
|
-
top -= padTop;
|
419
|
-
}
|
420
|
-
if (hitSlopSet(padRight)) {
|
421
|
-
right += padRight;
|
422
|
-
}
|
423
|
-
if (hitSlopSet(padBottom)) {
|
424
|
-
bottom += padBottom;
|
425
|
-
}
|
426
|
-
|
427
|
-
float width = mHitSlop[HIT_SLOP_WIDTH_IDX];
|
428
|
-
float height= mHitSlop[HIT_SLOP_HEIGHT_IDX];
|
429
|
-
if (hitSlopSet(width)) {
|
430
|
-
if (!hitSlopSet(padLeft)) {
|
431
|
-
left = right - width;
|
432
|
-
} else if (!hitSlopSet(padRight)) {
|
433
|
-
right = left + width;
|
434
|
-
}
|
435
|
-
}
|
436
|
-
if (hitSlopSet(height)) {
|
437
|
-
if (!hitSlopSet(padTop)) {
|
438
|
-
top = bottom - height;
|
439
|
-
} else if (!hitSlopSet(padBottom)) {
|
440
|
-
bottom = top + height;
|
441
|
-
}
|
442
|
-
}
|
443
|
-
}
|
444
|
-
return posX >= left && posX <= right && posY >= top && posY <= bottom;
|
445
|
-
}
|
446
|
-
|
447
|
-
public final void cancel() {
|
448
|
-
if (mState == STATE_ACTIVE || mState == STATE_UNDETERMINED || mState == STATE_BEGAN) {
|
449
|
-
onCancel();
|
450
|
-
moveToState(STATE_CANCELLED);
|
451
|
-
}
|
452
|
-
}
|
453
|
-
|
454
|
-
public final void fail() {
|
455
|
-
if (GestureHandler.debug) {
|
456
|
-
Log.d("JS", "GestureHandler fail " + this);
|
457
|
-
}
|
458
|
-
if (mState == STATE_ACTIVE || mState == STATE_UNDETERMINED || mState == STATE_BEGAN) {
|
459
|
-
moveToState(STATE_FAILED);
|
460
|
-
}
|
461
|
-
}
|
462
|
-
|
463
|
-
public final void activate() {
|
464
|
-
if (mState == STATE_UNDETERMINED || mState == STATE_BEGAN) {
|
465
|
-
moveToState(STATE_ACTIVE);
|
466
|
-
}
|
467
|
-
}
|
468
|
-
|
469
|
-
public final void begin() {
|
470
|
-
if (mState == STATE_UNDETERMINED) {
|
471
|
-
moveToState(STATE_BEGAN);
|
472
|
-
}
|
473
|
-
}
|
474
|
-
|
475
|
-
public final void end() {
|
476
|
-
if (mState == STATE_BEGAN || mState == STATE_ACTIVE) {
|
477
|
-
moveToState(STATE_END);
|
478
|
-
}
|
479
|
-
}
|
480
|
-
|
481
|
-
protected void onHandle(MotionEvent event) {
|
482
|
-
moveToState(STATE_FAILED);
|
483
|
-
}
|
484
|
-
|
485
|
-
protected void onStateChange(int newState, int previousState) {
|
486
|
-
}
|
487
|
-
|
488
|
-
protected void onReset() {
|
489
|
-
}
|
490
|
-
|
491
|
-
protected void onCancel() {
|
492
|
-
}
|
493
|
-
|
494
|
-
public final void reset() {
|
495
|
-
mView = null;
|
496
|
-
mOrchestrator = null;
|
497
|
-
Arrays.fill(mTrackedPointerIDs, -1);
|
498
|
-
mTrackedPointersCount = 0;
|
499
|
-
onReset();
|
500
|
-
}
|
501
|
-
|
502
|
-
public static String stateToString(int state) {
|
503
|
-
switch (state) {
|
504
|
-
case STATE_UNDETERMINED: return "UNDETERMINED";
|
505
|
-
case STATE_ACTIVE: return "ACTIVE";
|
506
|
-
case STATE_FAILED: return "FAILED";
|
507
|
-
case STATE_BEGAN: return "BEGIN";
|
508
|
-
case STATE_CANCELLED: return "CANCELLED";
|
509
|
-
case STATE_END: return "END";
|
510
|
-
}
|
511
|
-
return null;
|
512
|
-
}
|
513
|
-
|
514
|
-
public GestureHandler setOnTouchEventListener(OnTouchEventListener<T> listener) {
|
515
|
-
mListener = listener;
|
516
|
-
return this;
|
517
|
-
}
|
518
|
-
|
519
|
-
@Override
|
520
|
-
public String toString() {
|
521
|
-
String viewString = mView == null ? null : mView.getClass().getSimpleName();
|
522
|
-
return this.getClass().getSimpleName() + "@[" + mTag + "]:" + viewString;
|
523
|
-
}
|
524
|
-
|
525
|
-
public float getLastAbsolutePositionX() {
|
526
|
-
return mLastX;
|
527
|
-
}
|
528
|
-
|
529
|
-
public float getLastAbsolutePositionY() {
|
530
|
-
return mLastY;
|
531
|
-
}
|
532
|
-
|
533
|
-
public float getLastRelativePositionX() {
|
534
|
-
return mLastX - mLastEventOffsetX;
|
535
|
-
}
|
536
|
-
|
537
|
-
public float getLastRelativePositionY() {
|
538
|
-
return mLastY - mLastEventOffsetY;
|
539
|
-
}
|
540
|
-
}
|
@@ -1,81 +0,0 @@
|
|
1
|
-
package com.swmansion.gesturehandler;
|
2
|
-
|
3
|
-
import android.content.Context;
|
4
|
-
import android.os.Handler;
|
5
|
-
import android.view.MotionEvent;
|
6
|
-
|
7
|
-
public class LongPressGestureHandler extends GestureHandler<LongPressGestureHandler> {
|
8
|
-
|
9
|
-
private static final long DEFAULT_MIN_DURATION_MS = 500; // 1 sec
|
10
|
-
private static float DEFAULT_MAX_DIST_DP = 10; // 20dp
|
11
|
-
|
12
|
-
private long mMinDurationMs = DEFAULT_MIN_DURATION_MS;
|
13
|
-
private float mMaxDistSq;
|
14
|
-
private float mStartX, mStartY;
|
15
|
-
private Handler mHandler;
|
16
|
-
|
17
|
-
public LongPressGestureHandler(Context context) {
|
18
|
-
setShouldCancelWhenOutside(true);
|
19
|
-
mMaxDistSq = DEFAULT_MAX_DIST_DP * context.getResources().getDisplayMetrics().density;
|
20
|
-
}
|
21
|
-
|
22
|
-
public void setMinDurationMs(long minDurationMs) {
|
23
|
-
mMinDurationMs = minDurationMs;
|
24
|
-
}
|
25
|
-
|
26
|
-
public LongPressGestureHandler setMaxDist(float maxDist) {
|
27
|
-
mMaxDistSq = maxDist * maxDist;
|
28
|
-
return this;
|
29
|
-
}
|
30
|
-
|
31
|
-
@Override
|
32
|
-
protected void onHandle(MotionEvent event) {
|
33
|
-
if (getState() == STATE_UNDETERMINED) {
|
34
|
-
begin();
|
35
|
-
mStartX = event.getRawX();
|
36
|
-
mStartY = event.getRawY();
|
37
|
-
mHandler = new Handler();
|
38
|
-
if (mMinDurationMs > 0) {
|
39
|
-
mHandler.postDelayed(new Runnable() {
|
40
|
-
@Override
|
41
|
-
public void run() {
|
42
|
-
activate();
|
43
|
-
}
|
44
|
-
}, mMinDurationMs);
|
45
|
-
} else if (mMinDurationMs == 0) {
|
46
|
-
activate();
|
47
|
-
}
|
48
|
-
}
|
49
|
-
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
|
50
|
-
if (mHandler != null) {
|
51
|
-
mHandler.removeCallbacksAndMessages(null);
|
52
|
-
mHandler = null;
|
53
|
-
}
|
54
|
-
if (getState() == STATE_ACTIVE) {
|
55
|
-
end();
|
56
|
-
} else {
|
57
|
-
fail();
|
58
|
-
}
|
59
|
-
} else {
|
60
|
-
// calculate distance from start
|
61
|
-
float deltaX = event.getRawX() - mStartX;
|
62
|
-
float deltaY = event.getRawY() - mStartY;
|
63
|
-
float distSq = deltaX * deltaX + deltaY * deltaY;
|
64
|
-
if (distSq > mMaxDistSq) {
|
65
|
-
if (getState() == STATE_ACTIVE) {
|
66
|
-
cancel();
|
67
|
-
} else {
|
68
|
-
fail();
|
69
|
-
}
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
|
74
|
-
@Override
|
75
|
-
protected void onStateChange(int newState, int previousState) {
|
76
|
-
if (mHandler != null) {
|
77
|
-
mHandler.removeCallbacksAndMessages(null);
|
78
|
-
mHandler = null;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
@@ -1,81 +0,0 @@
|
|
1
|
-
package com.swmansion.gesturehandler;
|
2
|
-
|
3
|
-
import android.content.Context;
|
4
|
-
import android.os.Handler;
|
5
|
-
import android.view.MotionEvent;
|
6
|
-
|
7
|
-
public class LongPressGestureHandler extends GestureHandler<LongPressGestureHandler> {
|
8
|
-
|
9
|
-
private static final long DEFAULT_MIN_DURATION_MS = 500; // 1 sec
|
10
|
-
private static float DEFAULT_MAX_DIST_DP = 10; // 20dp
|
11
|
-
|
12
|
-
private long mMinDurationMs = DEFAULT_MIN_DURATION_MS;
|
13
|
-
private float mMaxDistSq;
|
14
|
-
private float mStartX, mStartY;
|
15
|
-
private Handler mHandler;
|
16
|
-
|
17
|
-
public LongPressGestureHandler(Context context) {
|
18
|
-
setShouldCancelWhenOutside(true);
|
19
|
-
mMaxDistSq = DEFAULT_MAX_DIST_DP * context.getResources().getDisplayMetrics().density;
|
20
|
-
}
|
21
|
-
|
22
|
-
public void setMinDurationMs(long minDurationMs) {
|
23
|
-
mMinDurationMs = minDurationMs;
|
24
|
-
}
|
25
|
-
|
26
|
-
public LongPressGestureHandler setMaxDist(float maxDist) {
|
27
|
-
mMaxDistSq = maxDist * maxDist;
|
28
|
-
return this;
|
29
|
-
}
|
30
|
-
|
31
|
-
@Override
|
32
|
-
protected void onHandle(MotionEvent event) {
|
33
|
-
if (getState() == STATE_UNDETERMINED) {
|
34
|
-
begin();
|
35
|
-
mStartX = event.getRawX();
|
36
|
-
mStartY = event.getRawY();
|
37
|
-
mHandler = new Handler();
|
38
|
-
if (mMinDurationMs > 0) {
|
39
|
-
mHandler.postDelayed(new Runnable() {
|
40
|
-
@Override
|
41
|
-
public void run() {
|
42
|
-
activate();
|
43
|
-
}
|
44
|
-
}, mMinDurationMs);
|
45
|
-
} else if (mMinDurationMs == 0) {
|
46
|
-
activate();
|
47
|
-
}
|
48
|
-
}
|
49
|
-
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
|
50
|
-
if (mHandler != null) {
|
51
|
-
mHandler.removeCallbacksAndMessages(null);
|
52
|
-
mHandler = null;
|
53
|
-
}
|
54
|
-
if (getState() == STATE_ACTIVE) {
|
55
|
-
end();
|
56
|
-
} else {
|
57
|
-
fail();
|
58
|
-
}
|
59
|
-
} else {
|
60
|
-
// calculate distance from start
|
61
|
-
float deltaX = event.getRawX() - mStartX;
|
62
|
-
float deltaY = event.getRawY() - mStartY;
|
63
|
-
float distSq = (float)Math.sqrt((double)(deltaX * deltaX + deltaY * deltaY));
|
64
|
-
if (distSq > mMaxDistSq) {
|
65
|
-
if (getState() == STATE_ACTIVE) {
|
66
|
-
cancel();
|
67
|
-
} else {
|
68
|
-
fail();
|
69
|
-
}
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
|
74
|
-
@Override
|
75
|
-
protected void onStateChange(int newState, int previousState) {
|
76
|
-
if (mHandler != null) {
|
77
|
-
mHandler.removeCallbacksAndMessages(null);
|
78
|
-
mHandler = null;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"extends": "../../tsconfig.json",
|
3
|
-
"compilerOptions": {
|
4
|
-
"rootDir": "../../src/ui-pager",
|
5
|
-
"outDir": "./",
|
6
|
-
"paths": {
|
7
|
-
"tns-core-modules": ["./node_modules/@nativescript/core"],
|
8
|
-
"tns-core-modules/*": ["./node_modules/@nativescript/core/*"]
|
9
|
-
}
|
10
|
-
},
|
11
|
-
"include": ["../../src/ui-pager/**/*", "../../references.d.ts", "../../src/references.d.ts"],
|
12
|
-
"exclude": ["../../src/ui-pager/angular/**"]
|
13
|
-
}
|