@nativescript-community/gesturehandler
Version:
Declarative API exposing platform native touch and gesture system to NativeScript.
181 lines (180 loc) • 8 kB
TypeScript
import { View } from '@nativescript/core';
import { HandlerOptions, LongPressGestureHandlerOptions, NativeViewGestureHandlerOptions, PanGestureHandlerOptions, PinchGestureHandlerOptions, RotationGestureHandlerOptions, TapGestureHandlerOptions } from './gesturehandler';
import { BaseGestureRootView, BaseNative, GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureState, GestureStateEventData, GestureTouchEventData, HandlerType, ManagerBase, OptionsTypeMap, TypeMap, ViewDisposeEvent, ViewInitEvent } from './gesturehandler.common';
export { GestureState, GestureHandlerStateEvent, GestureHandlerTouchEvent, GestureStateEventData, GestureTouchEventData, HandlerType, ViewInitEvent, ViewDisposeEvent };
export declare class GestureRootView extends BaseGestureRootView {
createNativeView(): com.nativescript.gesturehandler.PageLayout;
initNativeView(): void;
disposeNativeView(): void;
get registry(): any;
}
export declare function install(overrideNGestures?: boolean): void;
export declare abstract class Handler<T extends com.swmansion.gesturehandler.GestureHandler<any>, U extends HandlerOptions> extends BaseNative<T, U> {
hitSlop: any;
enabled: boolean;
shouldCancelWhenOutside: boolean;
shouldStartGesture: (arg: any) => boolean;
manager: WeakRef<Manager>;
touchListener: com.swmansion.gesturehandler.OnTouchEventListener<T>;
nativeGetterKey: string;
getExtraData(handler: T): {
positions: any[];
numberOfPointers: number;
};
initNativeView(native: T, options: U): void;
disposeNativeView(): void;
handleShouldStartGesture(handler: T, event: android.view.MotionEvent): boolean;
onTouchEvent(handler: T, event: android.view.MotionEvent): void;
onStateChange(handler: T, state: number, prevState: number): void;
tag: number;
attachedView: View;
setTag(tag: number): void;
getTag(): number;
getView(): globalAndroid.view.View;
cancel(): void;
attachToView(view: View): void;
detachFromView(view?: View): void;
}
export declare class TapGestureHandler extends Handler<com.swmansion.gesturehandler.TapGestureHandler, TapGestureHandlerOptions> {
numberOfTaps: number;
maxDurationMs: number;
maxDelayMs: number;
maxDeltaX: number;
maxDeltaY: number;
maxDist: number;
minPointers: number;
createNative(options: any): com.swmansion.gesturehandler.TapGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.TapGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
x: number;
y: number;
absoluteX: number;
absoluteY: number;
};
}
export declare class PanGestureHandler extends Handler<com.swmansion.gesturehandler.PanGestureHandler, PanGestureHandlerOptions> {
minDist: number;
activeOffsetXStart: number;
activeOffsetXEnd: number;
failOffsetXStart: number;
failOffsetXEnd: number;
activeOffsetYStart: number;
activeOffsetYEnd: number;
failOffsetYStart: number;
failOffsetYEnd: number;
minVelocity: number;
minVelocityX: number;
minVelocityY: number;
minPointers: number;
maxPointers: number;
avgTouches: number;
numberOfPointers: number;
createNative(options: any): com.swmansion.gesturehandler.PanGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.PanGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
x: number;
y: number;
absoluteX: number;
absoluteY: number;
translationX: number;
translationY: number;
velocityX: number;
velocityY: number;
};
}
export declare class PinchGestureHandler extends Handler<com.swmansion.gesturehandler.PinchGestureHandler, PinchGestureHandlerOptions> {
minSpan: number;
createNative(options: any): com.swmansion.gesturehandler.PinchGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.PinchGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
x: number;
y: number;
absoluteX: number;
absoluteY: number;
scale: number;
focalX: number;
focalY: number;
velocity: number;
};
}
export declare enum FlingDirection {
DIRECTION_LEFT,
DIRECTION_UP,
DIRECTION_DOWN,
DIRECTION_RIGHT
}
export declare class FlingGestureHandler extends Handler<com.swmansion.gesturehandler.FlingGestureHandler, TapGestureHandlerOptions> {
numberOfPointers: number;
direction: number;
createNative(options: any): com.swmansion.gesturehandler.FlingGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.FlingGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
direction: string;
};
}
export declare class LongPressGestureHandler extends Handler<com.swmansion.gesturehandler.LongPressGestureHandler, LongPressGestureHandlerOptions> {
minDurationMs: number;
maxDist: number;
createNative(options: any): com.swmansion.gesturehandler.LongPressGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.LongPressGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
x: number;
y: number;
absoluteX: number;
absoluteY: number;
};
}
export declare class RotationGestureHandler extends Handler<com.swmansion.gesturehandler.RotationGestureHandler, RotationGestureHandlerOptions> {
createNative(options: any): com.swmansion.gesturehandler.RotationGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.RotationGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
x: number;
y: number;
absoluteX: number;
absoluteY: number;
rotation: number;
anchorX: number;
anchorY: number;
velocity: number;
};
}
export declare class NativeViewGestureHandler extends Handler<com.swmansion.gesturehandler.NativeViewGestureHandler, NativeViewGestureHandlerOptions> {
shouldActivateOnStart: boolean;
disallowInterruption: boolean;
createNative(options: any): com.swmansion.gesturehandler.NativeViewGestureHandler;
getExtraData(handler: com.swmansion.gesturehandler.NativeViewGestureHandler): {
positions: any[];
numberOfPointers: number;
} & {
pointerInside: boolean;
};
}
export declare class Manager extends ManagerBase {
_interactionManager: com.nativescript.gesturehandler.GestureHandlerInteractionController;
configureInteractions<T extends com.swmansion.gesturehandler.GestureHandler<any>, U extends HandlerOptions>(handler: Handler<T, U>, options?: U): void;
get interactionManager(): com.nativescript.gesturehandler.GestureHandlerInteractionController;
static sManager: Manager;
static getInstance(): Manager;
createGestureHandler<T extends HandlerType>(handlerName: T, handlerTag: number, config?: OptionsTypeMap[T]): TypeMap[T];
findRegistry(view: View): com.swmansion.gesturehandler.GestureHandlerRegistryImpl;
attachGestureHandlerToView<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View): void;
detachGestureHandlerFromView<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View): void;
viewListeners: Map<View, Map<number, {
init: () => void;
dispose: () => void;
}>>;
attachGestureHandler<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View): void;
detachGestureHandler<T extends com.swmansion.gesturehandler.GestureHandler<any> = com.swmansion.gesturehandler.GestureHandler<any>>(handler: Handler<T, any>, view: View): void;
}