@spearwolf/twopoint5d
Version:
Create 2.5D realtime graphics and pixelart with WebGL and three.js
60 lines • 2.55 kB
TypeScript
import { type EventizedObject, type UnsubscribeFunc } from '@spearwolf/eventize';
import { WebGPURenderer } from 'three/webgpu';
import { FrameLoop } from './FrameLoop.js';
import type { DisplayEventProps, DisplayParameters, ResizeDisplayToFn } from './types.js';
type DisplayEventListener<T = DisplayEventProps> = (props: T) => unknown;
export interface Display extends EventizedObject {
}
export declare class Display {
#private;
[FrameLoop.OnFrame]: (props: {
now: number;
}) => void;
static MaxResolution: number;
static CssRulesPrefixContainer: string;
static CssRulesPrefixDisplay: string;
static CssRulesPrefixFullscreen: string;
resizePollIntervalMs: number;
pixelZoom: number;
styleImageRendering?: 'pixelated' | 'auto';
get width(): number;
get height(): number;
frameNo: number;
get isFirstFrame(): boolean;
frameLoop: FrameLoop;
resizeToElement?: HTMLElement;
resizeToCallback?: ResizeDisplayToFn;
resizeToAttributeEl: HTMLElement;
styleSheetRoot: HTMLElement | ShadowRoot;
renderer?: WebGPURenderer;
get canvas(): HTMLCanvasElement;
get isWebGPUBackend(): boolean;
get isWebGLBackend(): boolean;
constructor(domElementOrRenderer: HTMLElement | WebGPURenderer, options?: DisplayParameters);
get now(): number;
get deltaTime(): number;
get maxDeltaTime(): number;
set maxDeltaTime(value: number);
get pause(): boolean;
set pause(pause: boolean);
get isRunning(): boolean;
get pixelRatio(): number;
get devicePixelRatio(): number;
resize(): void;
renderFrame(now?: number): void;
start(beforeStartCallback?: (args: DisplayEventProps) => Promise<void> | void): Promise<Display>;
stop(): void;
dispose(): void;
getEventProps(): DisplayEventProps;
readonly onResize: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onRenderFrame: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onNextFrame: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly nextFrame: () => Promise<DisplayEventProps>;
readonly onInit: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onStart: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onRestart: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onPause: (listener: DisplayEventListener) => UnsubscribeFunc;
readonly onDispose: (listener: DisplayEventListener<Display>) => UnsubscribeFunc;
}
export {};
//# sourceMappingURL=Display.d.ts.map