Pass pixelRatio to canvasFunction

This commit is contained in:
Éric Lemoine
2014-01-09 14:50:32 +01:00
parent 2633d8784c
commit 2ed5e2a3d7
3 changed files with 11 additions and 8 deletions

4
examples/d3.js vendored
View File

@@ -38,11 +38,13 @@ d3.json('data/us.json', function(error, us) {
* This function uses d3 to render the topojson features to a canvas.
* @param {ol.Extent} extent Extent.
* @param {number} resolution Resolution.
* @param {number} pixelRatio Pixel ratio.
* @param {ol.Size} size Size.
* @param {ol.proj.Projection} projection Projection.
* @return {HTMLCanvasElement}
*/
var canvasFunction = function(extent, resolution, size, projection) {
var canvasFunction = function(extent, resolution, pixelRatio,
size, projection) {
var canvasWidth = size[0];
var canvasHeight = size[1];

View File

@@ -2,7 +2,7 @@ goog.provide('ol.CanvasFunctionType');
/**
* @typedef {function(this:ol.source.ImageCanvas, ol.Extent, number, ol.Size,
* ol.proj.Projection): HTMLCanvasElement}
* @typedef {function(this:ol.source.ImageCanvas, ol.Extent, number,
* number, ol.Size, ol.proj.Projection): HTMLCanvasElement}
*/
ol.CanvasFunctionType;

View File

@@ -65,12 +65,13 @@ ol.source.ImageCanvas.prototype.getImage =
var height = (extent[3] - extent[1]) / resolution;
var size = [width * pixelRatio, height * pixelRatio];
var canvasElement = this.canvasFunction_(extent, resolution, size,
projection);
canvas = new ol.ImageCanvas(extent, resolution, pixelRatio,
this.getAttributions(), canvasElement);
var canvasElement = this.canvasFunction_(
extent, resolution, pixelRatio, size, projection);
if (!goog.isNull(canvasElement)) {
canvas = new ol.ImageCanvas(extent, resolution, pixelRatio,
this.getAttributions(), canvasElement);
}
this.canvas_ = canvas;
return canvas;
};