You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
271 lines
9.1 KiB
271 lines
9.1 KiB
export default Executor;
|
|
export type BBox = {
|
|
/**
|
|
* Minimal x.
|
|
*/
|
|
minX: number;
|
|
/**
|
|
* Minimal y.
|
|
*/
|
|
minY: number;
|
|
/**
|
|
* Maximal x.
|
|
*/
|
|
maxX: number;
|
|
/**
|
|
* Maximal y
|
|
*/
|
|
maxY: number;
|
|
/**
|
|
* Value.
|
|
*/
|
|
value: any;
|
|
};
|
|
export type ImageOrLabelDimensions = {
|
|
/**
|
|
* DrawImageX.
|
|
*/
|
|
drawImageX: number;
|
|
/**
|
|
* DrawImageY.
|
|
*/
|
|
drawImageY: number;
|
|
/**
|
|
* DrawImageW.
|
|
*/
|
|
drawImageW: number;
|
|
/**
|
|
* DrawImageH.
|
|
*/
|
|
drawImageH: number;
|
|
/**
|
|
* OriginX.
|
|
*/
|
|
originX: number;
|
|
/**
|
|
* OriginY.
|
|
*/
|
|
originY: number;
|
|
/**
|
|
* Scale.
|
|
*/
|
|
scale: Array<number>;
|
|
/**
|
|
* DeclutterBox.
|
|
*/
|
|
declutterBox: BBox;
|
|
/**
|
|
* CanvasTransform.
|
|
*/
|
|
canvasTransform: import("../../transform.js").Transform;
|
|
};
|
|
export type ReplayImageOrLabelArgs = {
|
|
0: CanvasRenderingContext2D;
|
|
1: number;
|
|
2: import("../canvas.js").Label | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement;
|
|
3: ImageOrLabelDimensions;
|
|
4: number;
|
|
5: Array<any>;
|
|
6: Array<any>;
|
|
};
|
|
export type FeatureCallback<T> = (arg0: import("../../Feature.js").FeatureLike, arg1: import("../../geom/SimpleGeometry.js").default) => T;
|
|
declare class Executor {
|
|
/**
|
|
* @param {number} resolution Resolution.
|
|
* @param {number} pixelRatio Pixel ratio.
|
|
* @param {boolean} overlaps The replay can have overlapping geometries.
|
|
* @param {import("../canvas.js").SerializableInstructions} instructions The serializable instructions
|
|
*/
|
|
constructor(resolution: number, pixelRatio: number, overlaps: boolean, instructions: import("../canvas.js").SerializableInstructions);
|
|
/**
|
|
* @protected
|
|
* @type {boolean}
|
|
*/
|
|
protected overlaps: boolean;
|
|
/**
|
|
* @protected
|
|
* @type {number}
|
|
*/
|
|
protected pixelRatio: number;
|
|
/**
|
|
* @protected
|
|
* @const
|
|
* @type {number}
|
|
*/
|
|
protected resolution: number;
|
|
/**
|
|
* @private
|
|
* @type {boolean}
|
|
*/
|
|
private alignFill_;
|
|
/**
|
|
* @protected
|
|
* @type {Array<*>}
|
|
*/
|
|
protected instructions: Array<any>;
|
|
/**
|
|
* @protected
|
|
* @type {Array<number>}
|
|
*/
|
|
protected coordinates: Array<number>;
|
|
/**
|
|
* @private
|
|
* @type {!Object<number,import("../../coordinate.js").Coordinate|Array<import("../../coordinate.js").Coordinate>|Array<Array<import("../../coordinate.js").Coordinate>>>}
|
|
*/
|
|
private coordinateCache_;
|
|
/**
|
|
* @private
|
|
* @type {!import("../../transform.js").Transform}
|
|
*/
|
|
private renderedTransform_;
|
|
/**
|
|
* @protected
|
|
* @type {Array<*>}
|
|
*/
|
|
protected hitDetectionInstructions: Array<any>;
|
|
/**
|
|
* @private
|
|
* @type {Array<number>}
|
|
*/
|
|
private pixelCoordinates_;
|
|
/**
|
|
* @private
|
|
* @type {number}
|
|
*/
|
|
private viewRotation_;
|
|
/**
|
|
* @type {!Object<string, import("../canvas.js").FillState>}
|
|
*/
|
|
fillStates: {
|
|
[x: string]: import("../canvas.js").FillState;
|
|
};
|
|
/**
|
|
* @type {!Object<string, import("../canvas.js").StrokeState>}
|
|
*/
|
|
strokeStates: {
|
|
[x: string]: import("../canvas.js").StrokeState;
|
|
};
|
|
/**
|
|
* @type {!Object<string, import("../canvas.js").TextState>}
|
|
*/
|
|
textStates: {
|
|
[x: string]: import("../canvas.js").TextState;
|
|
};
|
|
/**
|
|
* @private
|
|
* @type {Object<string, Object<string, number>>}
|
|
*/
|
|
private widths_;
|
|
/**
|
|
* @private
|
|
* @type {Object<string, import("../canvas.js").Label>}
|
|
*/
|
|
private labels_;
|
|
/**
|
|
* @param {string|Array<string>} text Text.
|
|
* @param {string} textKey Text style key.
|
|
* @param {string} fillKey Fill style key.
|
|
* @param {string} strokeKey Stroke style key.
|
|
* @return {import("../canvas.js").Label} Label.
|
|
*/
|
|
createLabel(text: string | Array<string>, textKey: string, fillKey: string, strokeKey: string): import("../canvas.js").Label;
|
|
/**
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {import("../../coordinate.js").Coordinate} p1 1st point of the background box.
|
|
* @param {import("../../coordinate.js").Coordinate} p2 2nd point of the background box.
|
|
* @param {import("../../coordinate.js").Coordinate} p3 3rd point of the background box.
|
|
* @param {import("../../coordinate.js").Coordinate} p4 4th point of the background box.
|
|
* @param {Array<*>} fillInstruction Fill instruction.
|
|
* @param {Array<*>} strokeInstruction Stroke instruction.
|
|
*/
|
|
replayTextBackground_(context: CanvasRenderingContext2D, p1: import("../../coordinate.js").Coordinate, p2: import("../../coordinate.js").Coordinate, p3: import("../../coordinate.js").Coordinate, p4: import("../../coordinate.js").Coordinate, fillInstruction: Array<any>, strokeInstruction: Array<any>): void;
|
|
/**
|
|
* @private
|
|
* @param {number} sheetWidth Width of the sprite sheet.
|
|
* @param {number} sheetHeight Height of the sprite sheet.
|
|
* @param {number} centerX X.
|
|
* @param {number} centerY Y.
|
|
* @param {number} width Width.
|
|
* @param {number} height Height.
|
|
* @param {number} anchorX Anchor X.
|
|
* @param {number} anchorY Anchor Y.
|
|
* @param {number} originX Origin X.
|
|
* @param {number} originY Origin Y.
|
|
* @param {number} rotation Rotation.
|
|
* @param {import("../../size.js").Size} scale Scale.
|
|
* @param {boolean} snapToPixel Snap to pixel.
|
|
* @param {Array<number>} padding Padding.
|
|
* @param {boolean} fillStroke Background fill or stroke.
|
|
* @param {import("../../Feature.js").FeatureLike} feature Feature.
|
|
* @return {ImageOrLabelDimensions} Dimensions for positioning and decluttering the image or label.
|
|
*/
|
|
private calculateImageOrLabelDimensions_;
|
|
/**
|
|
* @private
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {number} contextScale Scale of the context.
|
|
* @param {import("../canvas.js").Label|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} imageOrLabel Image.
|
|
* @param {ImageOrLabelDimensions} dimensions Dimensions.
|
|
* @param {number} opacity Opacity.
|
|
* @param {Array<*>} fillInstruction Fill instruction.
|
|
* @param {Array<*>} strokeInstruction Stroke instruction.
|
|
* @return {boolean} The image or label was rendered.
|
|
*/
|
|
private replayImageOrLabel_;
|
|
/**
|
|
* @private
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
*/
|
|
private fill_;
|
|
/**
|
|
* @private
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {Array<*>} instruction Instruction.
|
|
*/
|
|
private setStrokeStyle_;
|
|
/**
|
|
* @private
|
|
* @param {string|Array<string>} text The text to draw.
|
|
* @param {string} textKey The key of the text state.
|
|
* @param {string} strokeKey The key for the stroke state.
|
|
* @param {string} fillKey The key for the fill state.
|
|
* @return {{label: import("../canvas.js").Label, anchorX: number, anchorY: number}} The text image and its anchor.
|
|
*/
|
|
private drawLabelWithPointPlacement_;
|
|
/**
|
|
* @private
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {number} contextScale Scale of the context.
|
|
* @param {import("../../transform.js").Transform} transform Transform.
|
|
* @param {Array<*>} instructions Instructions array.
|
|
* @param {boolean} snapToPixel Snap point symbols and text to integer pixels.
|
|
* @param {FeatureCallback<T>} [featureCallback] Feature callback.
|
|
* @param {import("../../extent.js").Extent} [hitExtent] Only check
|
|
* features that intersect this extent.
|
|
* @param {import("rbush").default} [declutterTree] Declutter tree.
|
|
* @return {T|undefined} Callback result.
|
|
* @template T
|
|
*/
|
|
private execute_;
|
|
/**
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {number} contextScale Scale of the context.
|
|
* @param {import("../../transform.js").Transform} transform Transform.
|
|
* @param {number} viewRotation View rotation.
|
|
* @param {boolean} snapToPixel Snap point symbols and text to integer pixels.
|
|
* @param {import("rbush").default} [declutterTree] Declutter tree.
|
|
*/
|
|
execute(context: CanvasRenderingContext2D, contextScale: number, transform: import("../../transform.js").Transform, viewRotation: number, snapToPixel: boolean, declutterTree?: any): void;
|
|
/**
|
|
* @param {CanvasRenderingContext2D} context Context.
|
|
* @param {import("../../transform.js").Transform} transform Transform.
|
|
* @param {number} viewRotation View rotation.
|
|
* @param {FeatureCallback<T>} [featureCallback] Feature callback.
|
|
* @param {import("../../extent.js").Extent} [hitExtent] Only check
|
|
* features that intersect this extent.
|
|
* @return {T|undefined} Callback result.
|
|
* @template T
|
|
*/
|
|
executeHitDetection<T>(context: CanvasRenderingContext2D, transform: import("../../transform.js").Transform, viewRotation: number, featureCallback?: FeatureCallback<T> | undefined, hitExtent?: import("../../extent.js").Extent | undefined): T | undefined;
|
|
}
|
|
//# sourceMappingURL=Executor.d.ts.map
|