summaryrefslogtreecommitdiff
path: root/misc/openlayers/lib/OpenLayers/Layer/Image.js
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/lib/OpenLayers/Layer/Image.js')
-rw-r--r--misc/openlayers/lib/OpenLayers/Layer/Image.js259
1 files changed, 0 insertions, 259 deletions
diff --git a/misc/openlayers/lib/OpenLayers/Layer/Image.js b/misc/openlayers/lib/OpenLayers/Layer/Image.js
deleted file mode 100644
index b96e369..0000000
--- a/misc/openlayers/lib/OpenLayers/Layer/Image.js
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the 2-clause BSD license.
- * See license.txt in the OpenLayers distribution or repository for the
- * full text of the license. */
-
-/**
- * @requires OpenLayers/Layer.js
- * @requires OpenLayers/Tile/Image.js
- */
-
-/**
- * Class: OpenLayers.Layer.Image
- * Instances of OpenLayers.Layer.Image are used to display data from a web
- * accessible image as a map layer. Create a new image layer with the
- * <OpenLayers.Layer.Image> constructor.
- *
- * Inherits from:
- * - <OpenLayers.Layer>
- */
-OpenLayers.Layer.Image = OpenLayers.Class(OpenLayers.Layer, {
-
- /**
- * Property: isBaseLayer
- * {Boolean} The layer is a base layer. Default is true. Set this property
- * in the layer options
- */
- isBaseLayer: true,
-
- /**
- * Property: url
- * {String} URL of the image to use
- */
- url: null,
-
- /**
- * Property: extent
- * {<OpenLayers.Bounds>} The image bounds in map units. This extent will
- * also be used as the default maxExtent for the layer. If you wish
- * to have a maxExtent that is different than the image extent, set the
- * maxExtent property of the options argument (as with any other layer).
- */
- extent: null,
-
- /**
- * Property: size
- * {<OpenLayers.Size>} The image size in pixels
- */
- size: null,
-
- /**
- * Property: tile
- * {<OpenLayers.Tile.Image>}
- */
- tile: null,
-
- /**
- * Property: aspectRatio
- * {Float} The ratio of height/width represented by a single pixel in the
- * graphic
- */
- aspectRatio: null,
-
- /**
- * Constructor: OpenLayers.Layer.Image
- * Create a new image layer
- *
- * Parameters:
- * name - {String} A name for the layer.
- * url - {String} Relative or absolute path to the image
- * extent - {<OpenLayers.Bounds>} The extent represented by the image
- * size - {<OpenLayers.Size>} The size (in pixels) of the image
- * options - {Object} Hashtable of extra options to tag onto the layer
- */
- initialize: function(name, url, extent, size, options) {
- this.url = url;
- this.extent = extent;
- this.maxExtent = extent;
- this.size = size;
- OpenLayers.Layer.prototype.initialize.apply(this, [name, options]);
-
- this.aspectRatio = (this.extent.getHeight() / this.size.h) /
- (this.extent.getWidth() / this.size.w);
- },
-
- /**
- * Method: destroy
- * Destroy this layer
- */
- destroy: function() {
- if (this.tile) {
- this.removeTileMonitoringHooks(this.tile);
- this.tile.destroy();
- this.tile = null;
- }
- OpenLayers.Layer.prototype.destroy.apply(this, arguments);
- },
-
- /**
- * Method: clone
- * Create a clone of this layer
- *
- * Paramters:
- * obj - {Object} An optional layer (is this ever used?)
- *
- * Returns:
- * {<OpenLayers.Layer.Image>} An exact copy of this layer
- */
- clone: function(obj) {
-
- if(obj == null) {
- obj = new OpenLayers.Layer.Image(this.name,
- this.url,
- this.extent,
- this.size,
- this.getOptions());
- }
-
- //get all additions from superclasses
- obj = OpenLayers.Layer.prototype.clone.apply(this, [obj]);
-
- // copy/set any non-init, non-simple values here
-
- return obj;
- },
-
- /**
- * APIMethod: setMap
- *
- * Parameters:
- * map - {<OpenLayers.Map>}
- */
- setMap: function(map) {
- /**
- * If nothing to do with resolutions has been set, assume a single
- * resolution determined by ratio*extent/size - if an image has a
- * pixel aspect ratio different than one (as calculated above), the
- * image will be stretched in one dimension only.
- */
- if( this.options.maxResolution == null ) {
- this.options.maxResolution = this.aspectRatio *
- this.extent.getWidth() /
- this.size.w;
- }
- OpenLayers.Layer.prototype.setMap.apply(this, arguments);
- },
-
- /**
- * Method: moveTo
- * Create the tile for the image or resize it for the new resolution
- *
- * Parameters:
- * bounds - {<OpenLayers.Bounds>}
- * zoomChanged - {Boolean}
- * dragging - {Boolean}
- */
- moveTo:function(bounds, zoomChanged, dragging) {
- OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
-
- var firstRendering = (this.tile == null);
-
- if(zoomChanged || firstRendering) {
-
- //determine new tile size
- this.setTileSize();
-
- //determine new position (upper left corner of new bounds)
- var ulPx = this.map.getLayerPxFromLonLat({
- lon: this.extent.left,
- lat: this.extent.top
- });
-
- if(firstRendering) {
- //create the new tile
- this.tile = new OpenLayers.Tile.Image(this, ulPx, this.extent,
- null, this.tileSize);
- this.addTileMonitoringHooks(this.tile);
- } else {
- //just resize the tile and set it's new position
- this.tile.size = this.tileSize.clone();
- this.tile.position = ulPx.clone();
- }
- this.tile.draw();
- }
- },
-
- /**
- * Set the tile size based on the map size.
- */
- setTileSize: function() {
- var tileWidth = this.extent.getWidth() / this.map.getResolution();
- var tileHeight = this.extent.getHeight() / this.map.getResolution();
- this.tileSize = new OpenLayers.Size(tileWidth, tileHeight);
- },
-
- /**
- * Method: addTileMonitoringHooks
- * This function takes a tile as input and adds the appropriate hooks to
- * the tile so that the layer can keep track of the loading tiles.
- *
- * Parameters:
- * tile - {<OpenLayers.Tile>}
- */
- addTileMonitoringHooks: function(tile) {
- tile.onLoadStart = function() {
- this.events.triggerEvent("loadstart");
- };
- tile.events.register("loadstart", this, tile.onLoadStart);
-
- tile.onLoadEnd = function() {
- this.events.triggerEvent("loadend");
- };
- tile.events.register("loadend", this, tile.onLoadEnd);
- tile.events.register("unload", this, tile.onLoadEnd);
- },
-
- /**
- * Method: removeTileMonitoringHooks
- * This function takes a tile as input and removes the tile hooks
- * that were added in <addTileMonitoringHooks>.
- *
- * Parameters:
- * tile - {<OpenLayers.Tile>}
- */
- removeTileMonitoringHooks: function(tile) {
- tile.unload();
- tile.events.un({
- "loadstart": tile.onLoadStart,
- "loadend": tile.onLoadEnd,
- "unload": tile.onLoadEnd,
- scope: this
- });
- },
-
- /**
- * APIMethod: setUrl
- *
- * Parameters:
- * newUrl - {String}
- */
- setUrl: function(newUrl) {
- this.url = newUrl;
- this.tile.draw();
- },
-
- /**
- * APIMethod: getURL
- * The url we return is always the same (the image itself never changes)
- * so we can ignore the bounds parameter (it will always be the same,
- * anyways)
- *
- * Parameters:
- * bounds - {<OpenLayers.Bounds>}
- */
- getURL: function(bounds) {
- return this.url;
- },
-
- CLASS_NAME: "OpenLayers.Layer.Image"
-});