UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

63 lines 2.46 kB
/** biome-ignore-all lint/suspicious/noAssignInExpressions: <explanation> */ import type { TgdContext } from "../../context"; import { TgdEvent } from "../../event"; import { type ArrayNumber4, type TgdColor, type TgdInputPointerEventTap, TgdVec4, type WebglBlendOptions, type WebglDepthOptions, type webglPresetBlend, type webglPresetDepth } from "../../index"; import { TgdTexture2D } from "../../texture"; import { type TgdPainterOverlayOptions } from "../overlay"; import { TgdPainter } from "../painter"; import type { TgdPainterSpritesAtlas } from "../sprites"; type Keys<T2, T1> = { [K in keyof T1]: T1[K] extends T2 ? K : never; }[keyof T1] | T2; export interface TgdPainterIconOptions extends Omit<Partial<TgdPainterOverlayOptions>, "texture" | "scaleX" | "scaleY"> { name?: string; texture: TgdTexture2D; atlas?: TgdPainterSpritesAtlas; index?: number; blend?: Keys<WebglBlendOptions, typeof webglPresetBlend>; depth?: Keys<WebglDepthOptions, typeof webglPresetDepth>; color?: ArrayNumber4 | TgdVec4 | TgdColor; } export declare class TgdPainterIcon extends TgdPainter { readonly context: TgdContext; readonly eventPointerTap: TgdEvent<TgdInputPointerEventTap>; private readonly texture; private readonly framebuffer; private readonly sprite; private readonly overlay; private readonly state; private _color; private _index; private dirty; private overlayWidth; private overlayheight; constructor(context: TgdContext, options: TgdPainterIconOptions); get index(): number; set index(index: number); get color(): TgdVec4; set color(value: TgdVec4 | ArrayNumber4); get alignX(): number; set alignX(alignX: number); get alignY(): number; set alignY(alignY: number); get width(): number | undefined; set width(width: number | undefined); get height(): number | undefined; set height(height: number | undefined); get marginTop(): number; set marginTop(marginTop: number); get marginRight(): number; set marginRight(marginRight: number); get marginBottom(): number; set marginBottom(marginBottom: number); get marginLeft(): number; set marginLeft(marginLeft: number); get z(): number; set z(z: number); delete(): void; paint(time: number, delta: number): void; refresh: () => void; private readonly handleOverlayResize; } export {}; //# sourceMappingURL=icon.d.ts.map