Commit Graph

431 Commits

Author SHA1 Message Date
Bart van den Eijnden
415265db40 protect 2 Google test cases for validkey 2013-04-23 13:28:39 +02:00
ahocevar
434178ef49 Making backbuffer order configurable
In OpenLayers 2.12, the backbuffer for each layer was placed right below
the layer itself. With animated zooming, that was changed so backbuffers
are all placed below the base layer. As it turned out, this is only good
for certain kinds of layers (e.g. street labels), so the default now is
to place the backbuffer right below its layer again. But the
transitionEffect option can now have a new value, 'map-resize', which will
cause the backbuffer to be placed below the base layer.
2013-03-27 17:46:36 +01:00
ahocevar
fe172ccf6e Backbuffer needs z-index
Since we don't rely on the DOM order for layers, we also cannot rely on it
for backbuffers. This change simply adds a sensible z-index to the
backbuffer container.
2013-03-27 16:19:58 +01:00
ahocevar
7f18a7b3df Backbuffer and transitionend only when there are tiles
When an application zooms the map programmatically right after
initialization, there will be an empty backbuffer. This should be avoided,
because it adds an unnecessary DOM element.

The tile.onLoadEnd handler registers a transitionend listener on the image
of the last loaded tile. But if loading was aborted, there will be no
image. The new logic registers the transitionend event on the last child
of the layer div, which is not necessarily the tile we're handling loadend
for. When the backbuffer is empty (i.e. no tile was loaded at the time the
backbuffer was created), it will be removed immediately.
2013-03-26 11:53:27 +01:00
Tim Schaub
7c4df5186f Test clean up 2013-02-21 12:19:34 -07:00
Tim Schaub
461c5c4328 Test that createBackBuffer doesn't fail 2013-02-21 12:17:55 -07:00
Tim Schaub
a2896beafd As the comments mention, this assumes null transitionEffect 2013-02-14 15:26:05 -07:00
Tim Schaub
e9eefc7a33 Fewer failing tests
There are still tests failing, but this change addresses some of the new failures after 4b163e0482 (which is an awesome improvement despite the test failures :).
2013-02-14 12:29:03 -07:00
ahocevar
4b163e0482 Merge pull request #800 from ahocevar/transform
Use GPU where available; animated zooming. r=@elemoine
2013-02-14 01:15:18 -08:00
ahocevar
d0249643b3 Incorporating @elemoine's review comments 2013-02-14 10:11:48 +01:00
Bart van den Eijnden
d7f013ddbd when cloning a layer that is loading, make sure numLoadingTiles is reset to 0 on the clone 2013-01-16 16:26:51 +01:00
ahocevar
2cd14dfbfd No .olTileReplacing class for singleTile layers
This fixes a regression for singleTile layers with transitionEffect set to
'resize', where the .olTileReplacing class was not removed from the tile.
2013-01-15 13:08:48 +01:00
ahocevar
9b7e35d1dd Merge branch 'master' of github.com:openlayers/openlayers into transform
Conflicts:
	theme/default/style.css
2013-01-09 14:31:52 +01:00
Bart van den Eijnden
443c715f51 Merge pull request #626 from mpriour/zeropad
Consolidate numeric zero padding functions (r=@bartvde)
2013-01-09 00:26:17 -08:00
Matt Priour
3b56053849 Use BaseTypes zeropad function in ArcGISCache tests 2013-01-08 14:00:35 -06:00
ahocevar
f0db21f9c9 Fixing tests 2013-01-07 18:16:23 +01:00
ahocevar
c8564838bc When the resolution does not change, remove backbuffer tile by tile
This change introduces a new 'replace' mode for tile transitions: when the
resolution does not change, which happens when mergeNewParams is called,
the tile will be marked with the .olTileReplace class. If this class sets
the tile's imgDiv display to 'none', the backbuffer for the tile will
immediately be removed when the tile is loaded.
2013-01-07 15:42:34 +01:00
ahocevar
18d548f979 Merge pull request #702 from ahocevar/smart-queue
New tile image cache and tile queue improvements. r=@bartvde,@elemoine
2013-01-07 06:38:07 -08:00
Bart van den Eijnden
1e1ce54e5b add tests and finish off the functionality for switching between singleTile true and false 2013-01-04 15:10:48 +01:00
ahocevar
21448d2fd5 Adding animated zooming 2012-12-23 18:47:03 +01:00
ahocevar
afe53aba7d Put backbuffer below all layers, except when panning 2012-12-23 18:34:55 +01:00
ahocevar
3d79001a92 Updating and adding tests 2012-12-23 18:34:53 +01:00
ahocevar
ecbedf5536 Updating tests 2012-12-23 17:00:45 +01:00
ahocevar
80fa251649 New TileManager
This removes all tile queueing/loading specific code from Layer.Grid
and creates a new class that manages tile loading and caching.
2012-12-23 17:00:45 +01:00
ahocevar
2ee362a79b New tile image cache and tile queue improvements
We now reuse tile images by maintaining a cache of image elements with a
simplified LRU expiry policy (by order, not by timestamp). The tile queue
is bypassed for images that are available in the cache, so they can be
rendered immediately. And the tile queue itself loads more than just one
image at a time now (2 per layer url).
2012-12-23 16:57:24 +01:00
ahocevar
083fcca882 Fixing tests (see #700) 2012-12-14 09:07:26 +01:00
Robbie Mackay
ec5df48d01 Add unit test for OpenLayers.Layer.Bing.protocol
* Test that attribution logo uses correct protocol
* Test that tile urls use correct protocol
2012-12-14 12:34:26 +13:00
ahocevar
ab53f7c311 Do not add viewport to GMaps object before it is fully rendered
This avoids issues with Elements renderers, where the nodeFactory method
cannot find nodes while the map viewport is transitioning from the mapDiv
to the googleControl.
2012-12-08 14:53:48 +01:00
ahocevar
00d9664b95 No longer touching internal GMaps DOM elements.
Simple and effective: As soon as a map has a Google layer, the whole map viewport is added as control to the GMap. As soon as no Google layer is visible on the map any more, the map viewport is appended to the map container again. With this change, OpenLayers strictly limits its GMaps integration to the GMaps API.

Also note that there are no css overrides for the attribution any more. Instead, controls can now be conditionally positioned differently for Google layer by using the .olForeignContainer selector.
2012-12-06 10:35:03 +01:00
Bart van den Eijnden
663ba16b59 make sure we do not fail if OpenLayers.Projection.defaults has not been set for a custom projection 2012-11-23 13:26:26 +01:00
Tim Schaub
12046503ca Merge pull request #435 from tschaub/kind-transform
Stay on the world when transforming coords.
2012-11-14 11:26:11 -08:00
ahocevar
4f5bcdbe76 Fixing mock 2012-11-07 16:25:34 +01:00
ahocevar
a54ecca32b Merge pull request #705 from ahocevar/animation
Remove complexity from the image loading sequence. r=@elemoine,@tschaub
2012-11-05 10:33:59 -08:00
ahocevar
5a3bcc716b Not using requestAnimationFrame
Using the Timeline tab of the Chrome Developer Tools, no significant
difference of Paint events can be observed when requestAnimationFrame is
used. So I agree with @elemoine that there is no need to introduce
asynchronous behavior here.
2012-11-05 17:28:10 +01:00
ahocevar
796a349c61 Synchronous image loading for opacity and backbuffer tests 2012-11-05 10:40:50 +01:00
ahocevar
66455600c7 Better precision for right and top corners 2012-10-12 03:10:42 +02:00
ahocevar
f78d127b1c Removing console.log line 2012-10-11 23:59:17 +02:00
ahocevar
7df5e3ca8e Fixing KaMap layer
This also fixes an issue that has gone unnoticed for a while: the grid did
not cover the bottom of the map viewport, but instead covered an invisible
area above the top of the map viewport.
2012-10-11 23:54:04 +02:00
ahocevar
c5bb52d93f No deltas for tile bounds/position calculation
Now we also do not use deltas for shiftRow and shiftColumn. Some
refactoring was done so we do not need different calculateGridLayout
methods for layers with top-left and bottom-left tile origin.

TODO: With this commit, ArcGisCache and KaMap layers are broken.
2012-10-11 21:22:52 +02:00
ahocevar
d4f011d00c Absolute calculation of tile bounds
This avoids cumulated tile bounds errors for layer types that do not use a
tile row/column index in requests (e.g. WMS).
2012-10-10 12:22:57 +02:00
ahocevar
2197f1656a Updating row/col sizes in tests (see #639) 2012-08-31 11:11:34 +02:00
ahocevar
475cd7cd60 Fixing test (backBufferLonLat should not be OpenLayers.Bounds).
Thanks @rdewit for the IE7 test report - this fixes one of the reported issues.
2012-08-21 13:57:11 +02:00
ahocevar
f0ad48597f No more percentage based positioning.
Client zoom now supports both over- and undersampling.
2012-08-21 13:57:11 +02:00
ahocevar
26d4fe3ce8 Making row and column size consistent, as suggested by @bartvde. 2012-08-21 13:37:48 +02:00
ahocevar
0f58868830 When using a buffer, the grid lacks rows/columns at the top/left.
This is because the threshold used for deciding when a column or row is shifted is too far to the bottom right. A tiny fix, but effective. A new test makes sure that we don't shift columns more than necessary when the layer is dragged.
2012-08-20 18:52:17 +02:00
ahocevar
c786952219 Fixing tests. 2012-07-20 09:19:20 +02:00
ahocevar
96359fbc99 Fixing test that broke in FF with ff1f99a03f. 2012-06-11 13:38:42 +02:00
Éric Lemoine
2141cb9c0a Merge branch '2.12' 2012-05-25 15:08:58 +02:00
Éric Lemoine
d289aa327e Grid.removeExcessTiles removes more tiles than it should, refs #481 2012-05-24 22:55:43 +02:00
Tim Schaub
866fa443fe Merge branch '2.12' of github.com:openlayers/openlayers 2012-05-11 01:20:37 -06:00