UNPKG

ol

Version:

OpenLayers mapping library

116 lines 4.83 kB
/** * @typedef {Object} State * @property {CanvasRenderingContext2D} context Canvas context that the layer is being rendered to. * @property {import("./Feature.js").FeatureLike} feature * @property {import("./geom/SimpleGeometry.js").default} geometry * @property {number} pixelRatio Pixel ratio used by the layer renderer. * @property {number} resolution Resolution that the render batch was created and optimized for. * This is not the view's resolution that is being rendered. * @property {number} rotation Rotation of the rendered layer in radians. */ /** * A function to be used when sorting features before rendering. * It takes two instances of {@link module:ol/Feature} or * {@link module:ol/render/Feature} and returns a `{number}`. * * @typedef {function(import("./Feature.js").FeatureLike, import("./Feature.js").FeatureLike):number} OrderFunction */ /** * @typedef {Object} ToContextOptions * @property {import("./size.js").Size} [size] Desired size of the canvas in css * pixels. When provided, both canvas and css size will be set according to the * `pixelRatio`. If not provided, the current canvas and css sizes will not be * altered. * @property {number} [pixelRatio=window.devicePixelRatio] Pixel ratio (canvas * pixel to css pixel ratio) for the canvas. */ /** * Binds a Canvas Immediate API to a canvas context, to allow drawing geometries * to the context's canvas. * * The units for geometry coordinates are css pixels relative to the top left * corner of the canvas element. * ```js * import {toContext} from 'ol/render'; * import Fill from 'ol/style/Fill'; * import Polygon from 'ol/geom/Polygon'; * * var canvas = document.createElement('canvas'); * var render = toContext(canvas.getContext('2d'), * { size: [100, 100] }); * render.setFillStrokeStyle(new Fill({ color: blue })); * render.drawPolygon( * new Polygon([[[0, 0], [100, 100], [100, 0], [0, 0]]])); * ``` * * @param {CanvasRenderingContext2D} context Canvas context. * @param {ToContextOptions=} opt_options Options. * @return {CanvasImmediateRenderer} Canvas Immediate. * @api */ export function toContext(context: CanvasRenderingContext2D, opt_options?: ToContextOptions): CanvasImmediateRenderer; /** * Gets a vector context for drawing to the event's canvas. * @param {import("./render/Event.js").default} event Render event. * @returns {CanvasImmediateRenderer} Vector context. * @api */ export function getVectorContext(event: import("./render/Event.js").default): CanvasImmediateRenderer; /** * Gets the pixel of the event's canvas context from the map viewport's CSS pixel. * @param {import("./render/Event.js").default} event Render event. * @param {import("./pixel.js").Pixel} pixel CSS pixel relative to the top-left * corner of the map viewport. * @returns {import("./pixel.js").Pixel} Pixel on the event's canvas context. * @api */ export function getRenderPixel(event: import("./render/Event.js").default, pixel: number[]): number[]; /** * @param {import("./PluggableMap.js").FrameState} frameState Frame state. * @param {?} declutterTree Declutter tree. * @returns {?} Declutter tree. */ export function renderDeclutterItems(frameState: import("./PluggableMap.js").FrameState, declutterTree: any): any; export type State = { /** * Canvas context that the layer is being rendered to. */ context: CanvasRenderingContext2D; feature: import("./render/Feature.js").default | import("./Feature.js").default<any>; geometry: import("./geom/SimpleGeometry.js").default; /** * Pixel ratio used by the layer renderer. */ pixelRatio: number; /** * Resolution that the render batch was created and optimized for. * This is not the view's resolution that is being rendered. */ resolution: number; /** * Rotation of the rendered layer in radians. */ rotation: number; }; /** * A function to be used when sorting features before rendering. * It takes two instances of {@link module:ol/Feature} or * {@link module:ol/render/Feature} and returns a `{number}`. */ export type OrderFunction = (arg0: import("./render/Feature.js").default | import("./Feature.js").default<any>, arg1: import("./render/Feature.js").default | import("./Feature.js").default<any>) => number; export type ToContextOptions = { /** * Desired size of the canvas in css * pixels. When provided, both canvas and css size will be set according to the * `pixelRatio`. If not provided, the current canvas and css sizes will not be * altered. */ size?: number[]; /** * Pixel ratio (canvas * pixel to css pixel ratio) for the canvas. */ pixelRatio?: number; }; import CanvasImmediateRenderer from "./render/canvas/Immediate.js"; //# sourceMappingURL=render.d.ts.map