import CanvasRenderer from '../renderer/layer/CanvasRenderer'; import Extent from '../geo/Extent'; import Layer, { LayerOptionsType } from './Layer'; import { PointExtent } from '../geo'; import { MixinConstructor } from '../core/Mixin'; /** * images layer,可指定图像地理位置及透明的 * * @english * @classdesc * A layer used to display images, you can specify each image's geographic extent and opacity * @category layer * @extends Layer * @param id - tile layer's id * @param images=null - images * @param options=null - options defined in [ImageLayer]{@link ImageLayer#options} * @example * new ImageLayer("images", [{ url : 'http://example.com/foo.png', extent: [xmin, ymin, xmax, ymax], opacity : 1 }]) */ declare class ImageLayer extends Layer { constructor(id: string, images?: ImageLayerOptionsType | Array, options?: ImageLayerOptionsType); onAdd(): void; /** * 设置图像并重新绘制 * * @english * Set images and redraw * @param images - new images * @return this */ setImages(images: Array): this; /** * 获取图像 * * @english * Get images * @return */ getImages(): Array; getRenderer(): ImageLayerCanvasRenderer; } declare const ImageLayerRenderable: (Base: T) => { new (...args: any[]): { [x: string]: any; _imageLoaded: boolean; isDrawable(): boolean; checkResources(): any; retireImage(image: LayerImageType): void; refreshImages(): void; draw(timestamp?: number, context?: any): void; drawImage(image: LayerImageType, extent: PointExtent, opacity: number): void; drawImages(timestamp?: number, context?: any): void; drawOnInteracting(event?: any, timestamp?: number, context?: any): void; }; } & T; export { ImageLayerRenderable }; declare const ImageLayerCanvasRenderer_base: { new (...args: any[]): { [x: string]: any; _imageLoaded: boolean; isDrawable(): boolean; checkResources(): any; retireImage(image: LayerImageType): void; refreshImages(): void; draw(timestamp?: number, context?: any): void; drawImage(image: LayerImageType, extent: PointExtent, opacity: number): void; drawImages(timestamp?: number, context?: any): void; drawOnInteracting(event?: any, timestamp?: number, context?: any): void; }; } & typeof CanvasRenderer; export declare class ImageLayerCanvasRenderer extends ImageLayerCanvasRenderer_base { isDrawable(): boolean; drawImage(image: LayerImageType, extent: PointExtent, opacity: number): void; } declare const ImageLayerGLRenderer_base: { new (...args: any[]): { gl: import("../renderer/types").TileRenderingContext; canvas: import("../renderer/types").TileRenderingCanvas; canvas2?: import("../renderer/types").TileRenderingCanvas; _debugInfoCanvas?: import("../renderer/types").TileRenderingCanvas; program?: import("../renderer/types").TileRenderingProgram; _layerAlt: number; _layerAltitude: number; layer?: any; texBuffer?: import("../renderer/types").TileImageBuffer; _debugBuffer?: import("../renderer/types").TileImageBuffer; posBuffer?: import("../renderer/types").TileImageBuffer; _imageBuffers?: import("../renderer/types").TileImageBuffer[]; _buffers?: import("../renderer/types").TileImageBuffer[]; _textures?: WebGLTexture[]; getMap?(): import("..").Map; drawGLImage(image: import("../renderer/types").TileImageType, x: number, y: number, w: number, h: number, scale: number, opacity: number, resized: any, debugInfo?: string, baseColor?: number[]): void; drawDebug(uMatrix: import("../core/util").Matrix4InOut, x: number, y: number, w: number, h: number, debugInfo: string): void; bufferTileData(x: number, y: number, w: number, h: number, buffer?: import("../renderer/types").TileImageBuffer): import("../renderer/types").TileImageBuffer; createCanvas2(): void; createGLContext(): void; resizeGLCanvas(): void; clearGLCanvas(): void; disposeImage(image: import("../renderer/types").TileImageType): void; _createTexture(image: import("../renderer/types").TileImageType): WebGLTexture; getTexture(): WebGLTexture; saveTexture(texture: WebGLTexture): void; loadTexture(image: import("../renderer/types").TileImageType, resized?: boolean): WebGLTexture; getImageBuffer(): import("../renderer/types").TileImageBuffer; saveImageBuffer(buffer: import("../renderer/types").TileImageBuffer): void; loadImageBuffer(data: Float32Array | Int16Array, glBuffer: import("../renderer/types").TileImageBuffer): import("../renderer/types").TileImageBuffer; createImageBuffer(): import("../renderer/types").TileImageBuffer; removeGLCanvas(): void; createBuffer(): import("../renderer/types").TileImageBuffer; enableVertexAttrib(attributes: import("../renderer/types").VertexAttrib): void; createProgram(vert: string, frag: string): import("../renderer/types").TileRenderingProgram; useProgram(program: import("../renderer/types").TileRenderingProgram): any; enableSampler(sampler: string, texIdx?: number): WebGLUniformLocation; _initUniforms(program: import("../renderer/types").TileRenderingProgram, uniforms: string[]): void; _getUniform(program: import("../renderer/types").TileRenderingProgram, uniformName: string): WebGLUniformLocation; set8(a0: number, a1: number, a2: number, a3: number, a4: number, a5: number, a6: number, a7: number): Float32Array; set8Int(a0: number, a1: number, a2: number, a3: number, a4: number, a5: number, a6: number, a7: number): Int16Array; }; } & typeof ImageLayerCanvasRenderer; export declare class ImageLayerGLRenderer extends ImageLayerGLRenderer_base { drawOnInteracting(event: any, timestamp: number, context: any): void; drawImages(timestamp?: number, parentContext?: any): void; isDrawable(): boolean; drawImage(image: LayerImageType, extent: PointExtent, opacity: number): void; createContext(): void; resizeCanvas(canvasSize: any): void; clearCanvas(): void; retireImage(image: LayerImageType): void; onRemove(): void; } export default ImageLayer; export type ImageItem = { url: string; extent: Extent | [number, number, number, number]; opacity?: number; }; export type ImageDataItem = ImageItem & { extent2d: PointExtent; }; export type LayerImageType = HTMLImageElement | ImageBitmap; declare enum depthFuncEnum { 'never' = 0, '<' = 1, '=' = 2, '<=' = 3, ' >' = 4, '!=' = 5, '>=' = 6, 'always' = 7 } export type ImageLayerOptionsType = LayerOptionsType & { crossOrigin?: string; renderer?: 'canvas' | 'gl' | 'dom'; alphaTest?: boolean; depthMask?: boolean; depthFunc?: keyof typeof depthFuncEnum; }; //# sourceMappingURL=ImageLayer.d.ts.map