@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
56 lines • 2.05 kB
TypeScript
import { TgdEventPriority } from "../event";
import { TgdInputPointerEventMove, TgdInputPointerEventFinger, TgdInputPointerEventTap, TgdInputPointerEventZoom, TgdInputPointerEventTapMultiple } from "../types";
export declare class TgdInputPointer {
private readonly canvas?;
readonly eventTap: TgdEventPriority<Readonly<TgdInputPointerEventTap>>;
readonly eventTapMultiple: TgdEventPriority<Readonly<TgdInputPointerEventTapMultiple>>;
readonly eventMoveStart: TgdEventPriority<Readonly<TgdInputPointerEventMove>>;
readonly eventMove: TgdEventPriority<Readonly<TgdInputPointerEventMove>>;
readonly eventHover: TgdEventPriority<Readonly<TgdInputPointerEventMove>>;
readonly eventMoveEnd: TgdEventPriority<Readonly<TgdInputPointerEventMove>>;
readonly eventZoom: TgdEventPriority<Readonly<TgdInputPointerEventZoom>>;
/**
* This is a tap only of the pointer touched for less that
* `tapDelay` milliseconds.
*/
tapDelay: number;
private moves;
private controlKeys;
private start;
private current;
private previous;
/**
* To manage multi taps.
*/
private lastTap;
private tapsCount;
/**
* If not null, the pointer is touching.
*/
private pointerEvent;
constructor(canvas?: HTMLCanvasElement | undefined);
get x(): number;
get y(): number;
get speedX(): number;
get speedY(): number;
isTouching(hitTest?: (event: Readonly<TgdInputPointerEventFinger>) => boolean): boolean;
detach(): void;
private readonly handleContextMenu;
private readonly handleCanvasWheel;
private readonly handlePointerDown;
private readonly handlePointerMove;
private readonly handlePointerUp;
private isMultiTap;
private getPoint;
}
export declare function resolvePointerButtons({ buttons }: {
buttons: number;
}): {
buttons: number;
buttonLeft: boolean;
buttonRight: boolean;
buttonMiddle: boolean;
buttonBack: boolean;
buttonForward: boolean;
};
//# sourceMappingURL=pointer.d.ts.map