Commit Graph

1069 Commits

Author SHA1 Message Date
Petr Sloup
59574da74c Fix reprojection of raster sources with gutter 2016-02-19 12:17:03 +01:00
Andreas Hocevar
7cc43d36ef Merge pull request #4597 from ahocevar/direct-render
Render tiles directly to the map canvas
2016-02-18 11:06:34 +01:00
Andreas Hocevar
bcf379cc8e Merge pull request #4794 from ahocevar/fixed-tileloading
Make tile loading count no longer depend on source count
2016-02-16 15:51:55 +01:00
Andreas Hocevar
952b99742e Add tests, remove unused code, encapsulate repeated code in functions 2016-02-15 17:00:06 +01:00
Andreas Hocevar
a109062b1f Rotate map canvas after composition 2016-02-15 17:00:06 +01:00
Andreas Hocevar
98b823c5fc Render tiles directly to the map canvas
This change removes the overhead of rendering tiles to an intermediate canvas.
2016-02-12 12:54:19 +01:00
Marc Jansen
efa82dccf9 Remove use of goog.isString() 2016-02-06 12:56:55 +01:00
Andreas Hocevar
3f36e0967f Make tile loading count no longer depend on source count 2016-02-05 09:38:16 +01:00
Andreas Hocevar
0c23d9a7ff Keep track of tile source count 2016-02-04 06:54:45 -07:00
Tim Schaub
554887ae14 Remove use of goog.object.forEach() 2016-02-04 06:54:44 -07:00
Tim Schaub
80df1f5ae8 Move opt_useCapture arg to the end of the list 2016-02-03 11:19:38 +01:00
Andreas Hocevar
3f2d79b7fe Replace goog.events.Event/EventTarget system with our own
This also removes goog.events.listen, goog.events.unlisten,
goog.events.unlistenByKey and goog.events.BrowserEvent.
2016-02-03 11:19:38 +01:00
Nicholas L
d820b54443 Remove goog.array.equals and goog.array.stableSort 2016-02-03 11:41:39 +13:00
Andreas Hocevar
dad92e723c Merge pull request #4733 from ahocevar/fix-scale
Avoid rendering too big and too small images for vector tiles
2016-01-30 17:51:35 +01:00
Andreas Hocevar
44764ec1d1 Use rendered tile size limit to avoid big images
When using tile sets with a high tilePixelRatio, the maximum pixel size can
trouble the browser. Instead, we now use replay rendering by tile size limits
instead of resolution ratio limits.
2016-01-27 13:38:56 +01:00
Andreas Hocevar
483376deb2 Untangle vector tile feature reprojection 2016-01-27 00:42:51 +01:00
Nicholas L
db3ad70a3d Remove use of goog.bind and use ES5 .bind 2016-01-15 22:10:55 +13:00
Tim Schaub
c9e2b384e7 Merge pull request #4602 from tschaub/eslint
Use ESLint.
2016-01-12 00:09:15 -08:00
Petr Sloup
2c3ed38714 Fix for reprojecting opaque tile sources 2016-01-12 08:58:16 +01:00
Tim Schaub
13a981c94b Fewer blank lines 2016-01-11 22:03:23 -08:00
Tim Schaub
3cf8618fc7 Prefer single line assignment to 80 character limit 2016-01-11 18:56:08 -08:00
Tim Schaub
59a66c7aaa Remaining valid-jsdoc corrections 2016-01-11 18:56:08 -08:00
Tim Schaub
e6f6dcc230 Partial valid-jsdoc corrections 2016-01-11 18:56:08 -08:00
Andreas Hocevar
9f43716723 Merge pull request #4596 from ahocevar/tile-key
Use consistent tile coordinate keys
2016-01-04 19:27:47 +01:00
Petr Sloup
767ac44e99 Make ol.source.Tile#getTilePixelRatio work for all sources
Even for sources which serve dynamic tile sizes based on devicePixelRatio
2015-12-28 13:19:03 +01:00
Andreas Hocevar
300b5cad44 Use consistent tile coordinate keys
Tile coordinate keys from ol.tilecoord.toString() are different than the ones
from Array.prototype.toString(). Both were used, potentially causing problems.
This change makes them consistent and removes the now unnecessary
ol.tileCoord.toString() function.
2015-12-27 17:59:51 +01:00
Andreas Hocevar
38bb1569af Remove no longer needed buffer for direct rendering 2015-12-18 00:27:42 +01:00
Andreas Hocevar
9affb99899 More sensible split between direct and canvas rendering 2015-12-17 10:58:35 +01:00
Andreas Hocevar
80f10ce824 Avoid unnecessary calculation in loops 2015-12-17 00:17:28 +01:00
Andreas Hocevar
4f2df30f1d Avoid clipping by rendering tiles with rotated labels
This only works when the device pixel ratio is 1. Labels are incorrectly
positioned and not at all rotated for other pixel ratios. I cannot find the
cause for this problem.
2015-12-17 00:17:27 +01:00
Andreas Hocevar
c1b16217f2 Conditionally render tiles to a separate tile canvas
Because clip geometries are anti-aliased in most browsers, there will be tiny
gaps between tiles. If tiles are rendered to a tile canvas which is then drawn
to the map canvas upon composition, these gaps can be avoided. For rotated
views, it is stil necessary to clip the tile, but in this case a 1-pixel
buffer is used.

This change also brings a huge performance improvement for panning, because
the fully rendered tiles can be reused.

Because of the added cost of using drawImage in addition to replaying the tile
replay group, we fall back to directly drawing to the map canvas when the tile
canvas would be too large, or during interaction/animation when resolution or
rotation change.
2015-12-17 00:17:27 +01:00
Bart van den Eijnden
25e0053a13 Rename defaultSort to numberSafeCompareFunction on ol.array 2015-12-16 13:40:05 +01:00
Bart van den Eijnden
e0be143ed5 Always pass on a compare function to sort 2015-12-16 10:54:46 +01:00
Andreas Hocevar
2215f49617 Merge pull request #4472 from ahocevar/layer-filter
Do not ignore layer filter for unmanaged layers
2015-12-01 12:01:58 +01:00
Éric Lemoine
279eae1dba Do not ignore layer filter for unmanaged layers
PR #3883 made `forEachFeatureAtPixel` ignore unmanaged layers. This commit reverts that change.
2015-11-30 17:53:19 +01:00
Frederic Junod
1092f6b2a2 Remove use of goog.dom.createElement 2015-11-23 09:22:39 +01:00
Frederic Junod
a4fb2501d8 Remove use of goog.array.sort
Fixes #4160
2015-11-19 16:53:11 +01:00
Frederic Junod
bfd33becbc Remove unused local variables 2015-11-17 10:20:40 +01:00
Frederic Junod
764875147a Remove unused local variables 2015-11-17 09:57:56 +01:00
Éric Lemoine
f5a148e6b3 Merge pull request #4389 from elemoine/dynamic-params
Smooth transitions on parameter changes
2015-11-13 08:41:42 +01:00
Tim Schaub
a8a796f922 Merge pull request #4410 from openlayers/v3.11.x
Merge in changes from the 3.11.1 release.
2015-11-12 16:53:41 -07:00
Andreas Hocevar
c5f4710b8d Revert "Merge pull request #4344 from bartvde/issue-2844"
This reverts commit e5c44b37c9, reversing
changes made to 7f4c6e3634.
2015-11-12 19:17:07 +01:00
Éric Lemoine
132861e175 Use interim tiles when changing dynamic parameters 2015-11-12 14:40:35 +01:00
Tim Schaub
e8c99e4e63 Allow style function to return a style 2015-11-11 17:21:24 -07:00
Andreas Hocevar
1aea2c2b0c Pass null as forEachFeatureAtPixel layer arg for unmanaged layers 2015-11-09 09:45:21 +01:00
Bart van den Eijnden
979342091a Support different resolutions in x and y direction for ol.source.ImageStatic 2015-10-30 19:27:31 +01:00
Andreas Hocevar
5d264d2bf0 Remove right-handed polygon handling in renderer
Since ol.render.Feature assumes right-handed polygons anyway, this
extra optimization is not needed.
2015-10-28 10:29:04 +01:00
Andreas Hocevar
5832943773 Make changes suggested during the review 2015-10-28 10:29:04 +01:00
Andreas Hocevar
2b2ac47b1f Remove ol.source.TileVector 2015-10-28 10:29:04 +01:00
Andreas Hocevar
80fa26ddd8 Reduce the use of goog.* 2015-10-28 10:29:03 +01:00