Commit Graph

286 Commits

Author SHA1 Message Date
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
ahocevar
40b4cc49e0 Using OpenLayers.Util.indexOf.
Thanks @jorix for catching this.
2012-05-11 00:26:09 -06:00