UNPKG

@allmaps/render

Version:

Render functions for WebGL and image buffers

40 lines (38 loc) 2.02 kB
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); }