@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
87 lines • 2.73 kB
TypeScript
import type { TgdContext } from "../../context";
import { TgdEvent } from "../../event";
import type { TgdInputPointerEventMove, TgdInputPointerEventTap, TgdInputPointerEventTapMultiple, TgdInputPointerEventZoom } from "../../index";
import type { TgdTexture2D } from "../../texture";
import { TgdPainter } from "../painter";
export interface TgdPainterOverlayOptions {
/**
* * -1: left
* * 0: center
* * +1: right
*/
alignX: number;
/**
* * -1: bottom
* * 0: center
* * +1: top
*/
alignY: number;
/**
* Width in pixels
*/
width: number;
/**
* Height in pixels
*/
height: number;
/**
* Margin in pixels.
*/
margin: number | [vertical: number, horizontal: number] | [top: number, right: number, bottom: number, left: number];
/**
* Texture to display in the overlay
*/
texture: TgdTexture2D;
scaleX: number;
scaleY: number;
/**
* Z position.
*/
z: number;
}
export declare class TgdPainterOverlay extends TgdPainter {
readonly context: TgdContext;
readonly eventResize: TgdEvent<{
width: number;
height: number;
}>;
readonly eventTap: TgdEvent<Readonly<TgdInputPointerEventTap>>;
readonly eventTapMultiple: TgdEvent<Readonly<TgdInputPointerEventTapMultiple>>;
readonly eventMoveStart: TgdEvent<Readonly<TgdInputPointerEventMove>>;
readonly eventMove: TgdEvent<Readonly<TgdInputPointerEventMove>>;
readonly eventHover: TgdEvent<Readonly<TgdInputPointerEventMove>>;
readonly eventMoveEnd: TgdEvent<Readonly<TgdInputPointerEventMove>>;
readonly eventZoom: TgdEvent<Readonly<TgdInputPointerEventZoom>>;
alignX: number;
alignY: number;
scaleX: number;
scaleY: number;
width?: number;
height?: number;
marginTop: number;
marginRight: number;
marginBottom: number;
marginLeft: number;
z: number;
texture: TgdTexture2D | undefined;
private lastWidth;
private lastHeight;
private prg;
private vao;
constructor(context: TgdContext, { alignX, alignY, scaleX, scaleY, width, height, margin, z, texture, }?: Partial<TgdPainterOverlayOptions>);
private readonly handleZoom;
private readonly handleTap;
private readonly handleTapMultiple;
private readonly handleHover;
private readonly handleMove;
private readonly handleMoveStart;
private readonly handleMoveEnd;
delete(): void;
paint(time: number, delta: number): void;
private checkForResizeEvent;
private xScreenToLayout;
private readonly xLayoutToScreen;
private yScreenToLayout;
private readonly yLayoutToScreen;
}
//# sourceMappingURL=overlay.d.ts.map