@allmaps/render
Version:
Render functions for WebGL and image buffers
40 lines (38 loc) • 2.02 kB
TypeScript
import { Remote as ComlinkRemote } from 'comlink';
import { FetchableTile } from './FetchableTile.js';
import { CacheableTile, CachedTile } from './CacheableTile.js';
import { FetchFn } from '@allmaps/types';
import { SpritesInfo } from '../shared/types.js';
import { WarpedMapWithImage } from '../maps/WarpedMap.js';
import { FetchAndGetImageDataWorkerType } from '../workers/fetch-and-get-image-data.js';
import { ApplySpritesImageDataWorkerType } from '../workers/apply-sprites-image-data.js';
/**
* Class for tiles that can be cached, and whose data can be processed to its imageData using a WebWorker.
*/
export declare class CacheableWorkerImageDataTile extends CacheableTile<ImageData> {
#private;
constructor(fetchableTile: FetchableTile, worker: ComlinkRemote<FetchAndGetImageDataWorkerType>, spritesWorker: ComlinkRemote<ApplySpritesImageDataWorkerType>, fetchFn?: FetchFn);
/**
* Fetch the tile and create its ImageData using a WebWorker.
*
* @returns
*/
fetch(): Promise<ImageData | undefined>;
applySprites(): Promise<void>;
spritesDataToCachedTiles(clippedImageDatas: ImageData[], spritesInfo: SpritesInfo, warpedMapsByResourceId: Map<string, WarpedMapWithImage[]>): CachedTile<ImageData>[];
static createFactory(worker: ComlinkRemote<FetchAndGetImageDataWorkerType>, spritesWorker: ComlinkRemote<ApplySpritesImageDataWorkerType>): (fetchableTile: FetchableTile, fetchFn?: FetchFn) => CacheableWorkerImageDataTile;
}
/**
* Class for tiles that is cached, and whose data has been processed to an ImageData object using a WebWorker.
*/
export declare class CachedWorkerImageDataTile extends CacheableWorkerImageDataTile {
data: ImageData;
/**
* Creates an instance of CachedTile.
*
* @constructor
* @param fetchableTile
* @param data
*/
constructor(fetchableTile: FetchableTile, worker: ComlinkRemote<FetchAndGetImageDataWorkerType>, spritesWorker: ComlinkRemote<ApplySpritesImageDataWorkerType>, data: ImageData);
}