Commit Graph

428 Commits

Author SHA1 Message Date
Andreas Hocevar 46a266fa5c Fix replays on transformed contexts 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
Philip Clifton 97995cf20b Add newline support for text 2015-12-10 11:24:39 -06:00
Andreas Hocevar 257abb63d7 Allow rendering geometries to an arbitrary canvas 2015-12-07 17:27:04 +01:00
Frédéric Junod 952a282756 Merge pull request #4476 from fredj/rm_goog.functions.constant
Remove use of goog.functions.constant
2015-11-30 16:22:47 +01:00
Frederic Junod 8d72589743 Remove use of goog.object.containsKey 2015-11-24 10:17:01 +01:00
Frederic Junod 2c935dc4e0 Remove use of goog.functions.constant 2015-11-23 11:09:09 +01:00
Frederic Junod a4fb2501d8 Remove use of goog.array.sort
Fixes #4160
2015-11-19 16:53:11 +01:00
Bart van den Eijnden b426fa5509 Revert "Merge pull request #4339 from bartvde/issue-4337"
This reverts commit 7f4c6e3634, reversing
changes made to c5dac0aa70.
2015-11-12 20:29:54 +01:00
Andreas Hocevar b29b969cfe Avoid goog.getUid() with empty skippedFeaturesHash 2015-11-10 19:01:03 +01:00
Bart van den Eijnden 085a6c8135 Make sure drawImage works in Safari with an offset 2015-10-29 14:16:06 +01:00
Andreas Hocevar 80b78b8b5a Avoid instanceof dependant assertions 2015-10-28 10:29:04 +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 80fa26ddd8 Reduce the use of goog.* 2015-10-28 10:29:03 +01:00
Andreas Hocevar 8e9b20db51 Additional tests, documentation and example 2015-10-28 10:29:02 +01:00
Andreas Hocevar cd2a2ebbc5 Do not call moveTo/lineTo when coordinates are the same
See http://jsperf.com/moveto-lineto-to-same-coordinate/3
2015-10-28 10:29:02 +01:00
Andreas Hocevar 6e2f82c397 Introduce ol.render.Feature 2015-10-28 10:29:02 +01:00
Andreas Hocevar 4b942bc4f6 Add VectorTile renderer 2015-10-28 10:29:01 +01:00
Andreas Hocevar 2d50511527 Use overlay container instead of viewport for ol.render.Box 2015-10-15 20:22:14 +02:00
Andreas Hocevar 7a070dd859 Use DOM instead of map canvas for ol.render.Box 2015-10-15 17:34:16 +02:00
Marc Jansen 03ed8085b9 Fix a drawText regression introduced with 31a68e21 2015-10-09 11:49:45 +02:00
Andreas Hocevar deea8060af Fix canvas replay which broke with 31a68e2
See #4192
2015-10-04 23:12:39 +02:00
Frederic Junod ef9b64673e Remove unused local variables 2015-10-01 13:38:55 +02:00
Marc Jansen 31a68e21a5 Remove goog.isNull in render classes 2015-10-01 09:17:14 +02:00
Tim Schaub 6bdacced92 Merge pull request #4176 from tschaub/remove-isdefandnotnull
Remove use of goog.isDefAndNotNull().
2015-10-01 00:05:57 -06:00
Frédéric Junod fd729216b5 Merge pull request #4188 from fredj/rm_goog_object_getKeys
Remove use of goog.object.getKeys
2015-09-29 17:33:13 +02:00
Tim Schaub b48cabee28 Remove unnecessary goog.isDefAndNotNull() calls 2015-09-29 09:32:51 -06:00
Tim Schaub ed3dcd636f Replace !goog.isDefAndNotNull() with falsey checks 2015-09-29 09:32:51 -06:00
Marc Jansen bc58c383ba Replace goog.nullFunction with ol.nullFunction 2015-09-29 16:39:35 +02:00
Frederic Junod d2dd7584d8 Remove use of goog.object.getKeys 2015-09-29 14:24:34 +02:00
Frederic Junod 9e2a393426 Remove use of goog.array.map 2015-09-29 10:54:55 +02:00
Tim Schaub d6f03697d7 Remove hue, saturation, contrast, and brightness 2015-09-27 13:16:30 -06:00
Tim Schaub b3b31ea16d Inline various goog.isDef() calls 2015-09-27 10:51:03 -06:00
Tim Schaub 83c59ee255 Inline goog.isDef() calls for properties 2015-09-27 10:40:20 -06:00
Tim Schaub e3951fa3c6 Inline simple goog.isDef() calls 2015-09-27 10:34:44 -06:00
Tim Schaub a86c270f6a Inline simple !goog.isDef() calls 2015-09-27 10:31:16 -06:00
Tim Schaub 6638ae855d Inline simple !goog.isDef() checks 2015-09-27 10:23:30 -06:00
Tim Schaub b36d697585 Inline goog.isDef() property checks 2015-09-27 10:21:50 -06:00
Tim Schaub 7659e47e07 Inline simple goog.isDef() checks 2015-09-27 10:18:44 -06:00
Marc Jansen 710353784b Remove goog.isDef from render/vector 2015-09-25 11:35:13 -06:00
Tim Schaub 8311f090de Missing ol.render.webgl.Immediate#drawAsync description 2015-09-06 09:46:33 -06:00
Tim Schaub a09c07a427 Missing vector context description 2015-09-06 09:41:56 -06:00
Tim Schaub fce931afbe Missing ol.render.Event#frameState description 2015-09-06 08:39:50 -06:00
Frederic Junod 813afe1e3f Better skippedFeaturesHash type definition 2015-09-02 14:18:34 +02:00
Frederic Junod 49b8f90e66 Add missing goog.provide
The new version of the closure-compiler (version 20150729) wants that all the classes
tagged with `@constructor` to be provided (with `goog.provide`).
2015-08-25 09:26:10 +02:00
Guillaume Beraudo e57919e55b Skip features without geometry during webgl replay
Setting a feature geometry to null or undefined and triggering a hit
detection was throwing an exception.

This patch handles a batched feature without a geometry in the same
fashion as skipped features.

An equivalent patch has been applied to the canvas replay.
2015-08-07 09:50:25 +02:00
Guillaume Beraudo 23ae91cfd5 Skip features without geometry during canvas replay
Setting a feature geometry to null or undefined and triggering a hit
detection was throwing an exception.

This patch handles a batched feature without a geometry in the same
fashion as skipped features.
2015-08-04 18:08:54 +02:00