| import { RenderingContext2D } from './types';
|
| import ViewPort from './ViewPort';
|
| import Mouse from './Mouse';
|
| import Document, { Element, AnimateElement } from './Document';
|
| export interface IScreenOptions {
|
| |
| |
|
|
| window?: Window;
|
| |
| |
|
|
| fetch?: typeof fetch;
|
| }
|
| export interface IScreenStartOptions {
|
| |
| |
|
|
| enableRedraw?: boolean;
|
| |
| |
|
|
| ignoreMouse?: boolean;
|
| |
| |
|
|
| ignoreAnimation?: boolean;
|
| |
| |
|
|
| ignoreDimensions?: boolean;
|
| |
| |
|
|
| ignoreClear?: boolean;
|
| |
| |
|
|
| scaleWidth?: number;
|
| |
| |
|
|
| scaleHeight?: number;
|
| |
| |
|
|
| offsetX?: number;
|
| |
| |
|
|
| offsetY?: number;
|
| |
| |
|
|
| forceRedraw?(): boolean;
|
| }
|
| export interface IScreenViewBoxConfig {
|
| document: Document;
|
| ctx: RenderingContext2D;
|
| aspectRatio: string;
|
| width: number;
|
| desiredWidth: number;
|
| height: number;
|
| desiredHeight: number;
|
| minX?: number;
|
| minY?: number;
|
| refX?: number;
|
| refY?: number;
|
| clip?: boolean;
|
| clipX?: number;
|
| clipY?: number;
|
| }
|
| declare const defaultFetch: typeof fetch;
|
| export default class Screen {
|
| readonly ctx: RenderingContext2D;
|
| static readonly defaultWindow: Window & typeof globalThis;
|
| static readonly defaultFetch: typeof fetch;
|
| FRAMERATE: number;
|
| MAX_VIRTUAL_PIXELS: number;
|
| CLIENT_WIDTH: number;
|
| CLIENT_HEIGHT: number;
|
| readonly window?: Window;
|
| readonly fetch: typeof defaultFetch;
|
| readonly viewPort: ViewPort;
|
| readonly mouse: Mouse;
|
| readonly animations: AnimateElement[];
|
| private readyPromise;
|
| private resolveReady;
|
| private waits;
|
| private frameDuration;
|
| private isReadyLock;
|
| private isFirstRender;
|
| private intervalId;
|
| constructor(ctx: RenderingContext2D, { fetch, window }?: IScreenOptions);
|
| wait(checker: () => boolean): void;
|
| ready(): Promise<void>;
|
| isReady(): boolean;
|
| setDefaults(ctx: RenderingContext2D): void;
|
| setViewBox({ document, ctx, aspectRatio, width, desiredWidth, height, desiredHeight, minX, minY, refX, refY, clip, clipX, clipY }: IScreenViewBoxConfig): void;
|
| start(element: Element, { enableRedraw, ignoreMouse, ignoreAnimation, ignoreDimensions, ignoreClear, forceRedraw, scaleWidth, scaleHeight, offsetX, offsetY }?: IScreenStartOptions): void;
|
| stop(): void;
|
| private shouldUpdate;
|
| private render;
|
| }
|
| export {};
|
| |