react-native-gesture-handler
Version:
Experimental implementation of a new declarative API for gesture handling in react-native
44 lines (34 loc) • 1.24 kB
text/typescript
import { State } from '../../State';
import { AdaptedEvent, Config } from '../interfaces';
import GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';
import GestureHandler from './GestureHandler';
export default class HoverGestureHandler extends GestureHandler {
public init(ref: number, propsRef: React.RefObject<unknown>) {
super.init(ref, propsRef);
}
public updateGestureConfig({ enabled = true, ...props }: Config): void {
super.updateGestureConfig({ enabled: enabled, ...props });
}
protected onPointerMoveOver(event: AdaptedEvent): void {
GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);
this.tracker.addToTracker(event);
super.onPointerMoveOver(event);
if (this.getState() === State.UNDETERMINED) {
this.begin();
this.activate();
}
}
protected onPointerMoveOut(event: AdaptedEvent): void {
this.tracker.addToTracker(event);
super.onPointerMoveOut(event);
this.end();
}
protected onPointerMove(event: AdaptedEvent): void {
this.tracker.track(event);
super.onPointerMove(event);
}
protected onPointerCancel(event: AdaptedEvent): void {
super.onPointerCancel(event);
this.reset();
}
}