@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
63 lines • 2.46 kB
TypeScript
/** 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