@nativescript-community/gesturehandler
Version:
Declarative API exposing platform native touch and gesture system to NativeScript.
105 lines (104 loc) • 4.64 kB
TypeScript
import { View } from '@nativescript/core';
import { FlingGestureHandlerOptions, ForceTouchGestureHandlerOptions, 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 enum FlingDirection {
DIRECTION_LEFT = 2,
DIRECTION_UP = 4,
DIRECTION_DOWN = 8,
DIRECTION_RIGHT = 1
}
export declare function install(overrideNGestures?: boolean): void;
export declare class GestureRootView extends BaseGestureRootView {
}
export declare class HandlerDelegate extends NSObject implements GestureHandlerDelegate {
static ObjCProtocols: {
prototype: GestureHandlerDelegate;
}[];
private _owner;
static new(): HandlerDelegate;
static initWithOwner(owner: WeakRef<Handler<any, any>>): HandlerDelegate;
gestureHandlerDidChangeStatePrevStateExtraDataView(handler: GestureHandler, state: GestureHandlerState, prevState: GestureHandlerState, extraData: NSDictionary<any, any>, view: UIView & {
nsView?: WeakRef<View>;
}): void;
gestureHandlerTouchEventOnViewStateExtraData(handler: GestureHandler, view: UIView & {
nsView?: WeakRef<View>;
}, state: GestureHandlerState, extraData: NSDictionary<any, any>): void;
gestureHandlerShouldActivateForEvent(handler: GestureHandler, extraData: NSDictionary<any, any>): any;
}
export declare class Handler<T extends GestureHandler, U extends HandlerOptions> extends BaseNative<T, U> {
manager: WeakRef<Manager>;
delegate: HandlerDelegate;
enabled: boolean;
shouldCancelWhenOutside: boolean;
createNative(): any;
attachedView: View;
nativeGetterKey: string;
attachToView(view: View): void;
detachFromView(view?: View): void;
getTag(): number;
setTag(value: any): void;
getView(): View;
cancel(): void;
}
export declare class TapHandler extends Handler<TapGestureHandler, TapGestureHandlerOptions> {
numberOfTaps: number;
maxDurationMs: number;
maxDelayMs: number;
maxDeltaX: number;
maxDeltaY: number;
maxDist: number;
minPointers: number;
}
export declare class PanHandler extends Handler<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;
}
export declare class PinchHandler extends Handler<PinchGestureHandler, PinchGestureHandlerOptions> {
minSpan: number;
}
export declare class FlingHandler extends Handler<FlingGestureHandler, FlingGestureHandlerOptions> {
numberOfPointers: number;
direction: number;
}
export declare class ForceTouchGestureHandler extends Handler<ForceTouchHandler, ForceTouchGestureHandlerOptions> {
minForce: number;
maxForce: number;
}
export declare class LongPressHandler extends Handler<LongPressGestureHandler, LongPressGestureHandlerOptions> {
minDurationMs: number;
maxDist: number;
}
export declare class RotationHandler extends Handler<RotationGestureHandler, RotationGestureHandlerOptions> {
}
export declare class NativeViewHandler extends Handler<NativeViewGestureHandler, NativeViewGestureHandlerOptions> {
shouldActivateOnStart: boolean;
disallowInterruption: boolean;
}
export declare class Manager extends ManagerBase {
_manager: GestureHandlerManager;
get manager(): GestureHandlerManager;
static sManager: Manager;
static getInstance(): Manager;
createGestureHandler<T extends HandlerType>(handlerName: T, handlerTag: number, config?: OptionsTypeMap[T]): TypeMap[T];
viewListeners: Map<View, Map<number, {
init: () => void;
dispose: () => void;
}>>;
attachGestureHandler(handler: Handler<any, any>, view: View): void;
detachGestureHandler(handlerTag: number, view: View): void;
}