import { BaseRenderer } from './BaseRenderer.js'; import { WebGL2WarpedMap } from '../maps/WebGL2WarpedMap.js'; import { Viewport } from '../viewport/Viewport.js'; import { FetchableTile } from '../tilecache/FetchableTile.js'; import { Renderer, SpecificWebGL2RenderOptions, WebGL2RenderOptions, WebGL2WarpedMapOptions } from '../shared/types.js'; /** * Class that renders WarpedMaps to a WebGL 2 context */ export declare class WebGL2Renderer extends BaseRenderer implements Renderer { #private; DEFAULT_SPECIFIC_WEBGL2_RENDER_OPTIONS: SpecificWebGL2RenderOptions; gl: WebGL2RenderingContext; options: WebGL2RenderOptions; mapProgram: WebGLProgram; linesProgram: WebGLProgram; pointsProgram: WebGLProgram; previousSignificantViewport: Viewport | undefined; lastAnimationFrameRequestId: number | undefined; animating: boolean; animationStart: number | undefined; animationProgress: number; disableRender: boolean; /** * Creates an instance of WebGL2Renderer. * * @constructor * @param gl - WebGL 2 rendering context * @param options - options */ constructor(gl: WebGL2RenderingContext, options?: Partial); initializeWebGL(gl: WebGL2RenderingContext): void; /** * Get the default options of the renderer and list */ getDefaultOptions(): WebGL2RenderOptions & WebGL2WarpedMapOptions; /** * Render the map for a given viewport. * * If no viewport is specified the current viewport is rerendered. * If no current viewport is known, a viewport is deduced based on the WarpedMapList and canvas width and hight. * * @param viewport - the current viewport */ render(viewport?: Viewport): void; clear(): void; cancelThrottledFunctions(): void; destroy(): void; protected updateMapsForViewport(allFechableTilesForViewport: FetchableTile[]): { mapsInViewportEntering: string[]; mapsInViewportLeaving: string[]; mapsWithFetchableTilesForViewportEntering: string[]; mapsWithFetchableTilesForViewportLeaving: string[]; }; protected resetPrevious(): void; protected updateVertexBuffers(mapIds?: string[]): void; protected shouldRequestFetchableTiles(): boolean; protected imageLoaded(event: Event): void; protected clearMap(mapId: string): void; protected mapTileLoaded(event: Event): void; protected mapTileDeleted(event: Event): void; protected warpedMapAdded(event: Event): void; protected prepareChange(event: Event): void; protected animatedChange(event: Event): void; protected immediateChange(event: Event): void; contextLost(): void; contextRestored(): void; }