Commit Graph

146 Commits

Author SHA1 Message Date
Tom Payne f64e35e8bb Remove unused variables in renderers 2013-05-28 16:01:33 +02:00
Tom Payne b070b572d0 Rename ol.extent.createEmptyExtent to ol.extent.createEmpty 2013-05-01 12:36:54 +02:00
Tom Payne daa975d01f Prevent user's setting of max-width from infecting map
Thanks @ThomasG77.
2013-04-30 12:26:31 +02:00
Tom Payne ef915e1cd0 Remove unused CSS classes
The classes ol-layers, ol-layer-image, and ol-layer-tile are not used.
2013-04-28 16:40:17 +02:00
Tom Payne 72a83b99b7 Cache array length in DOM renderer 2013-04-20 11:34:48 +02:00
Tom Payne 388e530420 Use for loop instead of forEach in DOM map renderer 2013-04-19 20:22:20 +02:00
Tom Payne 10d1be695d Port ol.renderer.dom to new extents 2013-04-19 10:03:35 +02:00
Tom Payne 8831d25929 Remove DOM layer in render, not in dispose 2013-04-18 19:25:49 +02:00
Tom Payne f7c0c26bed Update layer visibility in DOM renderer 2013-04-18 19:21:06 +02:00
Tom Payne 2f5797bc16 Always create layer renderer, even when layer is invisible or not ready
This is necessary because it is the layer renderer that is responsible
for triggering a render when a layer loads or becomes visible.
2013-04-18 12:52:45 +02:00
Tom Payne 07fe17924b Remove layer renderers in post render function 2013-04-16 18:16:08 +02:00
Tom Payne 4e69b2bb8b Create and remove layer renderers in renderFrame
Previously, the map renderer would listen for layers being added and
removed from the layers collection, and would create and remove layer
renderers in response to these events.

With this change, layer renderers are only created or removed when
renderFrame is called, which leads to somewhat simpler code.

We still need to listen to changes to the layers collection, but now
these only trigger a new render.

This new approach also has an advantage when layers change order.
Swapping the order of two layers involves removing one and re-inserting
it elsewhere.  With the old approach, this would cause the deletion and
re-creation of the layer renderer.  With this new approach, the layer
renderer is preserved.
2013-04-12 17:50:38 +02:00
Tom Payne 0371b891a6 Tighten up permission on layer renderers 2013-04-12 00:48:35 +02:00
Tom Payne df6e13bdc0 Clean up ol.renderer.dom.Map.createLayerRenderer 2013-04-12 00:33:33 +02:00
Tom Payne fe03ebe99c Re-use ol.Extent objects 2013-04-09 19:19:45 +02:00
Tom Payne e556c87a7c Re-use ol.TileRange objects 2013-04-09 19:19:20 +02:00
Tom Payne 1b7ee36680 Use high resolution tiles in DOM renderer 2013-04-09 13:15:16 +02:00
Tom Payne 4be8c991f7 Add missing Closure Library requires 2013-04-06 14:28:12 +02:00
Tom Payne da1e5aadd3 Factor out css.js and fix requires 2013-04-05 20:59:16 +02:00
Tom Payne 5680b89c48 Update logos in renderers 2013-04-05 18:27:51 +02:00
Tom Payne 02196c94b5 Redefine ol.Coordinate to be Array.<number> 2013-04-05 12:30:37 +02:00
Éric Lemoine e128bab625 Do not pass tile grid to getTile and tileUrlFunc
getTile and the tileUrlFunc are functions of the source, so they do need to be passed the tile grid. The tile source knows its tile grid, and can get the projection's tile grid if it doesn't have a tile grid.
2013-04-02 11:12:43 +02:00
Tom Payne 494d61250e Make tile pre-loading a per-layer option 2013-03-27 14:34:29 +01:00
Tom Payne 65e6ed3485 Rename getTileZXY to getTile 2013-03-25 10:10:03 +01:00
Tom Payne dfb631a08f Replace getTile with getTileZXY
This massively reduces the number of temporary ol.TileCoord objects.

Previously an ol.TileCoord object was generated for every potentially
visible tile at the current zoom level and lower, every frame.  This
commit eliminates all of those.  Now new ol.TileCoord objects are only
allocated when a new tile is created.
2013-03-24 15:24:49 +01:00
Tom Payne 80df629319 Premptively load low resolution tiles 2013-03-22 21:02:09 +01:00
Tom Payne e3abe376f1 Remove ol.source.TileSource.useLowResolutionTiles 2013-03-22 21:02:06 +01:00
Éric Lemoine a12d10e912 Merge pull request #409 from elemoine/tilequeue
Tile renderers needn't listen for tile change
2013-03-22 09:17:46 -07:00
Jeff Williams 97879a3572 remove descriptions from JSDoc type tags 2013-03-21 09:54:52 -07:00
Éric Lemoine 1d575309da Tile renderers needn't listen for tile change 2013-03-21 10:29:01 +01:00
Tom Payne f75d3abf7d Merge pull request #297 from twpayne/fix-297
Canvas map is not immediately updated when layers are added or removed
2013-03-12 05:26:25 -07:00
Tom Payne 427c376fc6 Always render map when layers are added or removed 2013-03-12 12:57:22 +01:00
Marc Jansen 06f8d1356d Merge pull request #352 from marcjansen/unselectable-css-const
Use constant for CSS class 'ol-unselectable'.
2013-03-12 03:30:38 -07:00
Marc Jansen 5e5e4d110a Use constant for CSS class 'ol-unselectable'. 2013-03-12 10:34:49 +01:00
Tom Payne 8b5194da38 Merge pull request #338 from twpayne/snap-center-to-pixel2
Snap center to pixel
2013-03-11 08:41:28 -07:00
Tom Payne 505c607ccb Use snapCenterToPixel in DOM renderer 2013-03-10 16:14:15 +01:00
Tom Payne b729f969a7 Add EMPTY tile state instead of using null for empty tiles 2013-03-08 14:41:14 +01:00
Éric Lemoine f55423d575 Register change listeners for loading tiles only
With this commit we register a change listener at a time when we are guaranteed that the listener will be called. In this was we don't need to remove listeners when the tile is dropped from the tile queue. And to avoid busy-polling between IDLE and LOADING we rely on the map to call requestRenderFrame when new tiles change to LOADING from IDLE.
2013-03-07 11:03:20 +01:00
Éric Lemoine 4e758f87ae Do not register multiple listeners on same tile 2013-03-05 17:01:34 +01:00
ahocevar 586f393492 Support tile sources without configured projection
This change adds a lot of flexibility to working with tile
layers: Sources where the server projection or tile grid do not
matter can now be constructed without specifying a projection or
tile grid.

The tileUrlFunction/imageUrlFunction now also creates updated
URLs when the params of the layer change, so things like
mergeNewParams in ol2 will be possible.

A nice side effect of this whole change is that there is no more
duplicated code between tiled and single image WMS layers.

While I was at it, I also fixed a WMS 1.1.1 axis order issue
and incorrect STYLES params (STYLES=& instead of STYLES&).
2013-03-05 00:46:58 +01:00
Frédéric Junod cad215e0cc Merge pull request #230 from fredj/touch-navigation
Touch navigation issues
2013-03-04 00:42:59 -08:00
Bruno Binet 2816e3256c Add support for multiple tileSizes in the tilegrid.
This is needed by WMTS.
2013-03-03 20:43:46 +01:00
Bruno Binet f7a895a823 Remove unused tileGrid.getTileSize() call. 2013-03-03 20:43:45 +01:00
Frederic Junod 66d4c44159 Rename ol.ViewHint.PANNING to ol.ViewHint.INTERACTING 2013-03-03 10:44:58 +01:00
Tom Payne 6ce3ebba5b Merge pull request #226 from twpayne/preserve-low-resolution-tiles
Preserve low resolution tiles
2013-02-22 02:14:41 -08:00
Tom Payne 4c9b70fa5c Move useLowResolutionTiles from layer renderer to tile source 2013-02-21 16:47:10 +01:00
Tom Payne 47e799ced0 Mark all low resolution tiles as used to prevent cache expiration 2013-02-21 16:19:38 +01:00
Tom Payne fabcb313f1 Satisfy JSLint
JSLint complains about functions being declared in blocks.
2013-02-21 15:13:33 +01:00
Tim Schaub 689f8c9d9d Merge pull request #206 from tschaub/interim-tiles
Share common code to find loaded tiles
2013-02-20 00:52:49 -08:00
Tim Schaub 80dc7b5bf7 Accept custom isLoaded method in findLoadedTiles method 2013-02-19 12:13:58 -07:00