Commit Graph

287 Commits

Author SHA1 Message Date
ahocevar 3dea8dacb4 Using the correct parent node
When we have a Google base layer, the parent node of the base layer's div
will be a different one.
2013-03-13 08:06:41 +01:00
Tim Schaub 0cf9833362 Resize transitions by default 2013-02-14 15:18:07 -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
Marc Jansen a34e627b75 Remove dangling space in license header. 2013-02-07 10:33:20 +01:00
ahocevar c742c14a52 Safeguard against listeners that recreate the grid
We need to handle the backbuffer before we fire the loadend event.
Otherwise listeners that call e.g. mergeNewParams() will cause the
backbuffer removal code to fail, because tile.imgDiv (and hence
this._transitionElement) will be null.
2013-01-17 16:24:15 +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
Tim Schaub bbc73a21d8 Update copyright date 2013-01-07 22:01:16 -05: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
ahocevar 80f13188a3 Addressing @bartvde's review comments 2013-01-07 14:26:41 +01:00
Bart van den Eijnden 9adbf431ca clear the grid when we change from singleTile mode true to false or vice versa, discussed change with @ahocevar see #821 for the details 2013-01-07 13:25:15 +01:00
Bart van den Eijnden 5b5415d6b7 fix indentation 2013-01-04 17:09:38 +01:00
Bart van den Eijnden de4b995616 incorporate @ahocevar's review 2013-01-04 17:05:03 +01: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
Bart van den Eijnden 5114ecbaee ability to switch between singleTile true and false 2013-01-04 14:29:07 +01:00
ahocevar 1b2003a2b4 Recovering from merge conflicts 2012-12-23 19:18:26 +01:00
ahocevar afe53aba7d Put backbuffer below all layers, except when panning 2012-12-23 18:34:55 +01:00
ahocevar 0b8deb11a2 Revert "No backbuffer removal delay needed with 3d enabled"
This reverts commit 7e8271525ed52288092a135b1c65eed4849c8e49.
2012-12-23 18:34:55 +01:00
ahocevar f51211e93f No magic for loadend delay
This change reintroduces the removeBackBufferDelay, and documents exactly
what it does and when it may be useful.
2012-12-23 18:34:52 +01:00
ahocevar 1764bbdd18 Giving the last tile time to render
The loadend event of an image is fired before the image is rendered. For
standard 256x256 tiles, this does not matter. But for singleTile layers on
large screens, rendering time needs to be considered. So we add a delay
that depends on the tile size. TODO: make the denominator configurable.
2012-12-23 18:34:52 +01:00
ahocevar a02163f01d No backbuffer removal delay needed with 3d enabled 2012-12-23 18:34:52 +01:00
ahocevar efd2de870a Recovering from merge conflicts 2012-12-23 17:24:20 +01:00
ahocevar c0913668d3 moveTimerId is no longer used 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 810d9ea95d Fixing line breaks. 2012-12-21 13:10:26 +01:00
ahocevar fcd8586883 Using an array for the transitionend event names 2012-12-21 13:07:36 +01:00
ahocevar 43c646b6da Use new Opera event name as well
As pointed out by @bartvde, according to
http://stackoverflow.com/questions/5819912/webkit-transition-end-in-mozilla-and-opera,
Opera uses otransitionend or oTransitionEnd, depending on the version.
2012-12-21 13:01:15 +01:00
ahocevar dd244e6988 Use transitionend listeners where available
In addition to relying on removeBackBufferDelay, we can remove the
backbuffer earlier without flicker in an ontransitionend listener on the
last loaded tile.
2012-12-21 12:33:28 +01:00
ahocevar c3b13b5df3 Using radix parameter to make linter happy 2012-10-15 08:27:01 +02:00
ahocevar 583dc15700 Merge pull request #587 from ahocevar/587
Layer.WMS: BBOX precision errors in URLs. r=@bartvde
2012-10-12 08:53:23 -07:00
ahocevar a0acf1e550 Calculating rowSign only once 2012-10-12 16:16:44 +02:00
ahocevar 0eb8949ad2 Updating and fixing API docs 2012-10-12 16:11:10 +02:00
ahocevar 157dd9e1c2 Fixing typo 2012-10-12 14:44:48 +02:00
ahocevar 6607bcc0bb Do not cache data from aborted tile loads
This also results in a simplified cache method that can more easily be
overridden for use with other storage providers.
2012-10-12 14:06:08 +02:00
ahocevar ff4a1b2468 Optimizing positions for rendering
Calculating pixel positions from origin and grid index causes alignment
issues in the grid. By going back to incremental positioning, we get a
result without blank spaces between tiles again.
2012-10-12 03:23:56 +02:00
ahocevar 66455600c7 Better precision for right and top corners 2012-10-12 03:10:42 +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 75f2e1f847 Addressing @bartdve's review comments. 2012-08-21 14:00:48 +02:00
ahocevar a3ec0f77e0 Using integer pixel space to avoid whitespace between tiles. 2012-08-21 13:57:11 +02:00
ahocevar b2210d00a9 Removing no longer needed code.
Thanks @elemoine for catching the IE6 reflow in Tile/Image.js.
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
Éric Lemoine d289aa327e Grid.removeExcessTiles removes more tiles than it should, refs #481 2012-05-24 22:55:43 +02:00
ahocevar 72d1b54956 Also taking into account zoomOffset.
Now the meaning of getServerZoom is fully clarified, and we can get rid of some code again as well.
2012-05-11 00:26:09 -06:00