Code coverage report for src/layer/tile/TileLayer.Canvas.js

Statements: 9.52% (2 / 21)      Branches: 0% (0 / 4)      Functions: 0% (0 / 9)      Lines: 9.52% (2 / 21)     

All files » src/layer/tile/ » TileLayer.Canvas.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65          1                                                                                                               1      
/*
 * L.TileLayer.Canvas is a class that you can use as a base for creating
 * dynamically drawn Canvas-based tile layers.
 */
 
L.TileLayer.Canvas = L.TileLayer.extend({
	options: {
		async: false
	},
 
	initialize: function (options) {
		L.setOptions(this, options);
	},
 
	redraw: function () {
		var tiles = this._tiles;
 
		for (var i in tiles) {
			if (tiles.hasOwnProperty(i)) {
				this._redrawTile(tiles[i]);
			}
		}
		return this;
	},
 
	_redrawTile: function (tile) {
		this.drawTile(tile, tile._tilePoint, this._map._zoom);
	},
 
	_createTileProto: function () {
		var proto = this._canvasProto = L.DomUtil.create('canvas', 'leaflet-tile');
		proto.width = proto.height = this.options.tileSize;
	},
 
	_createTile: function () {
		var tile = this._canvasProto.cloneNode(false);
		tile.onselectstart = tile.onmousemove = L.Util.falseFn;
		return tile;
	},
 
	_loadTile: function (tile, tilePoint) {
		tile._layer = this;
		tile._tilePoint = tilePoint;
 
		this._redrawTile(tile);
 
		if (!this.options.async) {
			this.tileDrawn(tile);
		}
	},
 
	drawTile: function (/*tile, tilePoint*/) {
		// override with rendering code
	},
 
	tileDrawn: function (tile) {
		this._tileOnLoad.call(tile);
	}
});
 
 
L.tileLayer.canvas = function (options) {
	return new L.TileLayer.Canvas(options);
};