Add decluttering for images and text
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
goog.provide('ol.render.canvas');
|
||||
|
||||
|
||||
goog.require('ol.transform');
|
||||
|
||||
|
||||
/**
|
||||
* @const
|
||||
* @type {string}
|
||||
@@ -91,3 +94,41 @@ ol.render.canvas.rotateAtOffset = function(context, rotation, offsetX, offsetY)
|
||||
context.translate(-offsetX, -offsetY);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
ol.render.canvas.resetTransform_ = ol.transform.create();
|
||||
|
||||
|
||||
/**
|
||||
* @param {CanvasRenderingContext2D} context Context.
|
||||
* @param {ol.Transform|null} transform Transform.
|
||||
* @param {number} opacity Opacity.
|
||||
* @param {HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} image Image.
|
||||
* @param {number} originX Origin X.
|
||||
* @param {number} originY Origin Y.
|
||||
* @param {number} w Width.
|
||||
* @param {number} h Height.
|
||||
* @param {number} x X.
|
||||
* @param {number} y Y.
|
||||
* @param {number} scale Scale.
|
||||
*/
|
||||
ol.render.canvas.drawImage = function(context,
|
||||
transform, opacity, image, originX, originY, w, h, x, y, scale) {
|
||||
var alpha;
|
||||
if (opacity != 1) {
|
||||
alpha = context.globalAlpha;
|
||||
context.globalAlpha = alpha * opacity;
|
||||
}
|
||||
if (transform) {
|
||||
context.setTransform.apply(context, transform);
|
||||
}
|
||||
|
||||
context.drawImage(image, originX, originY, w, h, x, y, w * scale, h * scale);
|
||||
|
||||
if (alpha) {
|
||||
context.globalAlpha = alpha;
|
||||
}
|
||||
if (transform) {
|
||||
context.setTransform.apply(context, ol.render.canvas.resetTransform_);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user