UNPKG

@allmaps/render

Version:

Render functions for WebGL and image buffers

72 lines (70 loc) 3.36 kB
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; }