@allmaps/render
Version:
Render functions for WebGL and image buffers
72 lines (70 loc) • 3.36 kB
TypeScript
import { TileCache } from '../tilecache/TileCache.js';
import { WarpedMapList } from '../maps/WarpedMapList.js';
import { FetchableTile } from '../tilecache/FetchableTile.js';
import { Viewport } from '../viewport/Viewport.js';
import { WarpedMap } from '../maps/WarpedMap.js';
import { CachableTileFactory, WarpedMapFactory, BaseRendererOptions } from '../shared/types.js';
/**
* Abstract base class for renderers
*/
export declare abstract class BaseRenderer<W extends WarpedMap, D> extends EventTarget {
partialBaseRendererOptions: Partial<BaseRendererOptions>;
warpedMapList: WarpedMapList<W>;
tileCache: TileCache<D>;
mapsInPreviousViewport: Set<string>;
mapsInViewport: Set<string>;
mapsWithRequestedTilesForViewport: Set<string>;
protected viewport: Viewport | undefined;
constructor(cachableTileFactory: CachableTileFactory<D>, warpedMapFactory: WarpedMapFactory<W>, partialBaseRendererOptions?: Partial<BaseRendererOptions>);
/**
* Parses an annotation and adds its georeferenced map to this renderer's warped map list
*
* @param annotation
* @returns
*/
addGeoreferenceAnnotation(annotation: unknown): Promise<(string | Error)[]>;
/**
* Adds a georeferenced map to this renderer's warped map list
*
* @param georeferencedMap
* @returns
*/
addGeoreferencedMap(georeferencedMap: unknown): Promise<string | Error>;
/**
* Set the Base Renderer options
*
* @param partialBaseRendererOptions - Options
*/
setOptions(partialBaseRendererOptions?: Partial<BaseRendererOptions>): void;
protected loadMissingImageInfosInViewport(): Promise<void>[];
protected someImageInfosInViewport(): boolean;
protected shouldRequestFetchableTiles(): boolean;
protected shouldAnticipateInteraction(): boolean;
protected assureProjection(): void;
protected requestFetchableTiles(): void;
protected findMapsInViewport(viewportBufferRatio?: number): Set<string>;
protected getMapFetchableTilesForViewport(mapId: string, mapsInViewportForRequest: Set<string>): FetchableTile[];
protected getMapOverviewFetchableTilesForViewport(mapId: string, totalFetchableTilesForViewport: FetchableTile[], mapsInViewportForOverviewRequest: Set<string>): FetchableTile[];
protected updateMapsForViewport(tiles: FetchableTile[]): {
mapsEnteringViewport: string[];
mapsLeavingViewport: string[];
};
protected pruneTileCache(mapsInViewportForOverviewPrune: Set<string>): void;
destroy(): void;
protected clearMap(mapId: string): void;
protected mapTileLoaded(event: Event): void;
protected mapTileRemoved(event: Event): void;
protected imageInfoLoaded(event: Event): void;
protected warpedMapAdded(event: Event): void;
protected warpedMapRemoved(event: Event): void;
protected preChange(event: Event): void;
protected optionsChanged(event: Event): void;
protected gcpsChanged(event: Event): void;
protected resourceMaskChanged(event: Event): void;
protected transformationChanged(event: Event): void;
protected distortionChanged(event: Event): void;
protected internalProjectionChanged(event: Event): void;
protected projectionChanged(event: Event): void;
protected addEventListeners(): void;
protected removeEventListeners(): void;
}