import Layer, { LayerOptionsType } from './Layer'; /** * 一个带有HTML5 2D canvas的layer * CanvasLayer为canvas操作提供了一些接口方法 * 你可以直接使用CanvasLayer,但不能通过JSON序列化/反序列化实现CanvasLayer * 更推荐使用子类扩展CanvasLayer,并在子类中实现canvas绘画 * * @english * A layer with a HTML5 2D canvas context.
* CanvasLayer provides some interface methods for canvas context operations.
* You can use it directly, but can't serialize/deserialize a CanvasLayer with JSON in this way.
* It is more recommended to extend it with a subclass and implement canvas paintings inside the subclass. * @example * var layer = new CanvasLayer('canvas'); * * layer.prepareToDraw = function (context) { * var size = map.getSize(); * return [size.width, size.height] * }; * * layer.draw = function (context, width, height) { * context.fillStyle = "#f00"; * context.fillRect(0, 0, w, h); * }; * layer.addTo(map); * @category layer * @extends Layer * @param {String|Number} id - layer's id * @param {Object} options - options defined in [options]{@link CanvasLayer#options} */ declare class CanvasLayer extends Layer { isCanvasRender(): boolean; /** * 准备画布的接口函数 * * @engilsh * An optional interface function called only once before the first draw, useful for preparing your canvas operations. * @param {CanvasRenderingContext2D } context - CanvasRenderingContext2D of the layer canvas. * @return {Object[]} objects that will be passed to function draw(context, ..) as parameters. */ prepareToDraw(): void; /** * 绘制something的接口函数 * * @engilsh * The required interface function to draw things on the layer canvas. * @param {CanvasRenderingContext2D} context - CanvasRenderingContext2D of the layer canvas. * @param {*} params.. - parameters returned by function prepareToDraw(context). */ draw(...params: any[]): void; /** * map交互绘制接口 * 默认情况调用draw() * 如果你知道如何提升绘制性能可以重新此方法 * * @english * An optional interface function to draw while map is interacting. * By default, it will call draw method instead. * You can override this method if you are clear with what to draw when interacting to improve performance. * @param {CanvasRenderingContext2D} context - CanvasRenderingContext2D of the layer canvas. * @param {*} params.. - parameters returned by function prepareToDraw(context). */ /** * 重绘 * * @english * Redraw the layer * @return this */ redraw(): this; /** * 播放 * * @english * Start animation * @return this */ play(): this; /** * 暂停 * * @english * Pause the animation * @return this */ pause(): this; /** * 是否正在播放 * * @english * If the animation is playing * @return */ isPlaying(): boolean; /** * 清空画布 * * @engilsh * Clear layer's canvas * @return this */ clearCanvas(): this; /** * 要求map不触发任何事件下重绘canvas * * @engilsh * Ask the map to redraw the layer canvas without firing any event. * @return this */ requestMapToRender(): this; /** * 要求map触发layerload事件重绘canvas * * @engilsh * Ask the map to redraw the layer canvas and fire layerload event * @return this */ completeRender(): this; /** * canvas创建完成后的回调函数 * * @english * Callback function when layer's canvas is created.
* Override it to do anything needed. */ onCanvasCreate(): this; /** * map zoomstart事件回调 * * @engilsh * The event callback for map's zoomstart event. * @param {Object} param - event parameter */ onZoomStart(): void; /** * map zooming事件回调 * * @engilsh * The event callback for map's zooming event. * @param {Object} param - event parameter */ onZooming(): void; /** * map zoomend事件回调 * * @engilsh * The event callback for map's zoomend event. * @param {Object} param - event parameter */ onZoomEnd(): void; /** * map movestart事件回调 * * @engilsh * The event callback for map's movestart event. * @param {Object} param - event parameter */ onMoveStart(): void; /** * map moving事件回调 * * @engilsh * The event callback for map's moving event. * @param {Object} param - event parameter */ onMoving(): void; /** * map moveend事件回调 * * @engilsh * The event callback for map's moveend event. * @param {Object} param - event parameter */ onMoveEnd(): void; /** * map resize事件回调 * * @engilsh * The event callback for map's resize event. * @param {Object} param - event parameter */ onResize(): void; /** * double buffer的回调函数 * 默认情况下just draws and return,如果你需要在绘制之前处理canvas,可以重写改函数 * * @engilsh * The callback function to double buffer.
* In default, it just draws and return, and you can override it if you need to process the canvas image before drawn. * @param {CanvasRenderingContext2D} bufferContext CanvasRenderingContext2D of double buffer of the layer canvas. * @param {CanvasRenderingContext2D} context CanvasRenderingContext2D of the layer canvas. */ doubleBuffer(bufferContext: CanvasRenderingContext2D): CanvasLayer; } export default CanvasLayer; export type CanvasLayerOptionsType = LayerOptionsType & { doubleBuffer?: boolean; animation?: boolean; fps?: number | string; }; //# sourceMappingURL=CanvasLayer.d.ts.map