UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

87 lines 2.73 kB
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