react-native-gesture-handler
Version:
Declarative API exposing native platform touch and gesture system to React Native
48 lines (39 loc) • 1.44 kB
text/typescript
import { SingleGestureName } from '../../v3/types';
import type { AdaptedEvent } from '../interfaces';
import type { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';
import GestureHandler from './GestureHandler';
import type IGestureHandler from './IGestureHandler';
export default class ManualGestureHandler extends GestureHandler {
public override readonly isContinuous = true;
public constructor(
delegate: GestureHandlerDelegate<unknown, IGestureHandler>
) {
super(delegate);
this.name = SingleGestureName.Manual;
}
protected override onPointerDown(event: AdaptedEvent): void {
this.tracker.addToTracker(event);
super.onPointerDown(event);
this.begin();
}
protected override onPointerAdd(event: AdaptedEvent): void {
this.tracker.addToTracker(event);
super.onPointerAdd(event);
}
protected override onPointerMove(event: AdaptedEvent): void {
this.tracker.track(event);
super.onPointerMove(event);
}
protected override onPointerOutOfBounds(event: AdaptedEvent): void {
this.tracker.track(event);
super.onPointerOutOfBounds(event);
}
protected override onPointerUp(event: AdaptedEvent): void {
super.onPointerUp(event);
this.tracker.removeFromTracker(event.pointerId);
}
protected override onPointerRemove(event: AdaptedEvent): void {
super.onPointerRemove(event);
this.tracker.removeFromTracker(event.pointerId);
}
}