Commit Graph

1045 Commits

Author SHA1 Message Date
ahocevar 6783f6adb9 Handle container reuse properly when layers are added/removed 2019-06-22 19:12:39 +02:00
Frederic Junod 1f00da8d83 Remove glContext from RenderEvent 2019-06-17 13:52:56 +02:00
Frederic Junod ec5e8bfa50 Set pixelTransform and inversePixelTransform as protected
The variables are used in child classes
2019-06-14 14:52:28 +02:00
ahocevar 8f77a300de Handle case of no used tiles 2019-06-04 14:07:23 +02:00
ahocevar 6123be726a Handle layer removal on shared containers 2019-06-02 13:59:06 +02:00
ahocevar 05d8517686 Clear overlay canvas when reusing containers 2019-06-02 11:07:30 +02:00
Frederic Junod 40c49a9ce5 Remove layerState param from prepareFrame and renderFrame function 2019-05-25 07:19:10 +02:00
ahocevar d8f41a9d73 Only reuse target when className is the same 2019-05-24 10:16:20 +02:00
ahocevar bdb87f06f9 Rework tile image render queue 2019-05-23 15:55:29 +02:00
ahocevar ace5c65ee5 Smarter opacity handling 2019-05-22 16:47:23 +02:00
ahocevar ae47d3df58 Use opacity from layer state 2019-05-22 16:47:22 +02:00
ahocevar 4c8effe6fa No tile transition when layer opacity is set 2019-05-22 16:47:22 +02:00
ahocevar c56ad4363d Canvas opacity instead of css 2019-05-22 16:47:22 +02:00
ahocevar 7895b16043 Reuse container for raster and vector image layers 2019-05-22 16:47:20 +02:00
ahocevar a45e704be2 Smarter reuse detection 2019-05-22 16:46:46 +02:00
ahocevar d1f1b468b1 Reuse target for image layers 2019-05-22 16:46:46 +02:00
ahocevar a55505b36a Reuse containers for tile, vector and vector tile layers 2019-05-22 16:46:40 +02:00
ahocevar 930318ab7a Clip high res tiles out of low res tiles only once 2019-05-22 15:57:15 +02:00
ahocevar 5fe9e06535 Use clipping to not render high res tiles on top of low res 2019-05-22 15:57:15 +02:00
ahocevar 606443bc6d Pass render target of previous layer to next layer 2019-05-22 15:56:51 +02:00
ahocevar 335648d613 Remove memory leak caused by label cache listeners 2019-05-16 21:04:55 +02:00
Frederic Junod f33ad5e025 Remove unused getReplayTransform_ function in VectorTileLayer 2019-05-15 15:10:54 +02:00
Frédéric Junod 2de282ae49 Merge pull request #9533 from fredj/canvas_optim
Canvas optimizations
2019-05-15 08:24:57 +02:00
Tim Schaub b1ea0fec50 Name the module like the module 2019-05-14 13:58:04 -06:00
Frederic Junod 98ee52c61c Move the transform matrix computation out of the for loop 2019-05-14 15:39:06 +02:00
Frederic Junod f76b9bdd07 Only apply canvas transform if the tiles are scales 2019-05-14 15:33:44 +02:00
ahocevar eeec56fa94 Fix hit detection for multiple layers when decluttering is off 2019-05-12 23:32:44 +02:00
ahocevar 84db84bc23 Avoid blurry vector tiles 2019-05-08 10:31:29 +02:00
ahocevar 6c8c8a6477 Fix decluttering on VectorImage layers 2019-05-05 14:54:23 +02:00
ahocevar 12289b8ef9 Declutter in correct order and for all layers 2019-05-05 12:20:38 +02:00
ahocevar dde9c59021 Use nearest lower resolution of vector tiles 2019-04-26 14:29:09 +02:00
Andreas Hocevar 3a7f9d93f4 Merge pull request #9357 from ahocevar/vectortile-view-resolution-2
Render vector tiles at the view resolution
2019-03-25 17:44:31 +01:00
Lutz Helm 085c60af49 Remove tile source zDirection getter
The renderer now accesses the zDirection member directly if it exists.
This also has the advantage of not advertising any object methods that
hav no use for most tile sources.
2019-03-21 14:47:09 +01:00
Lutz Helm f5abb45de0 Add a zDirection option for Zoomify
Via zDirection, the renderer's selection of a tile source's resolution can be
controlled if the view's resolution does not match any tile source resolution.

Currently the zDirection option is only available for Zoomify. The comment
https://github.com/openlayers/openlayers/issues/9343#issuecomment-474341033
describes why caution is advised when using zDirection for other sources.

ol/source/Tile~TileSource#getZDirection has been added to avoid having the
getZDirection method solely in the Zoomify source - just to document the
possibility.
2019-03-21 10:06:22 +01:00
ahocevar fefcc9f0ca Return directly when all we do is render queued images 2019-03-20 23:04:48 +01:00
ahocevar d2f60a70d1 Recreate instructions for the view resolution 2019-03-20 22:45:17 +01:00
ahocevar a25ca03040 Do not use tile.load() for getting source tiles 2019-03-20 22:45:17 +01:00
ahocevar 4a9d2e689e Create a more accurate origin for tile positioning 2019-03-13 18:34:23 +01:00
ahocevar b4fc249991 Faster calculation of target size
Since usedTiles and wantedTiles will never have an overlap, we can use their
key count directly.
2019-03-12 08:53:52 +01:00
ahocevar 11f5a4c5b8 Move tile specific methods to the tile layer renderer 2019-03-12 00:19:51 +01:00
ahocevar 0f217392d7 Adjust tile cache size when too small 2019-03-12 00:19:13 +01:00
ahocevar b2722542fe Simplify vector tile projection handling 2019-03-10 09:37:58 +01:00
Frederic Junod 6de566d95b Set the canvas size to 0 on dispose 2019-03-08 13:25:49 +01:00
ahocevar fd07de39ad Consider all tiles for hit detection when decluttering 2019-02-18 11:40:52 +01:00
Frédéric Junod f28b7c7bcf Merge pull request #9220 from fredj/rm_extra_canvas_resize
Don't resize/clear the vector renderer canvas
2019-02-15 09:34:57 +01:00
Frederic Junod 30fb0b1ed1 Don't resize/clear the vector renderer canvas
Already done in the `renderFrame` function
2019-02-14 13:49:31 +01:00
Frederic Junod 40605d7c53 Don't use loadImage function to avoid infinite loading loop 2019-02-14 13:47:52 +01:00
ahocevar 3557a13147 Only consider child range with drawable tiles 2019-02-09 19:35:31 +01:00
Frederic Junod 41d231a4c7 Remove opt_this param in forEachTileCoordParentTileRange function
The function is only called by `ol/renderer/canvas/TileLayer` and `opt_this` was always `null`.
2019-02-07 11:43:52 +01:00
Andreas Hocevar 88c213078e Merge pull request #9179 from gberaudo/allow_image_declutter
Allow declutter with image render mode
2019-02-05 20:29:15 +01:00