Commit Graph

566 Commits

Author SHA1 Message Date
Tim Schaub
b36d697585 Inline goog.isDef() property checks 2015-09-27 10:21:50 -06:00
Guillaume Beraudo
3811228ac7 Add Z-index to layers
This commit allows setting a z-index property on the layers and uses
it in the canvas, WEBGL and DOM map renderers for ordering the layers
before rendering.

Default z-index is 0 for managed layers and 1000 for unmanaged ones.
It allows always on bottom, always on top and more complex layer layouts.
2015-09-03 11:31:57 +02:00
Andreas Hocevar
86d9d691e4 Merge pull request #3806 from ahocevar/clip-wrapx
Do not clip canvas for vector layers when wrapping the world
2015-07-03 10:47:45 +02:00
Andreas Hocevar
7463a58066 Do not clip canvas for vector layers when wrapping the world 2015-06-19 14:55:20 +02:00
Andreas Hocevar
f645a9e1e4 Make unmanaged vector layers behave more like ol.FeatureOverlay
* Skipped features need to be hit-detected on unmanaged layers.
* updateWhileAnimating and updateWhileInteracting are recommended to
  achieve the same instant visual feedback that ol.FeatureOverlay had.
2015-06-19 13:06:29 +02:00
Andreas Hocevar
817370a65b Use 'managed' instead of 'unmanaged' in LayerState 2015-06-11 18:34:20 +02:00
Andreas Hocevar
53d5d8c1d9 Get rid of ol.FeatureOverlay
This also introduces a wrapX option to the Draw, Modify and Select
interaction.
2015-06-09 15:44:31 +02:00
Andreas Hocevar
54da473991 Allow layers that are not managed by the map
When a layer is configured with a map, it will be added on top of other
layers, and not be managed in the map's features collection. The layerState
will have an 'unmanaged' flag for such layers. For vector layers, this flag
is used to not skip any features.
2015-06-09 15:44:29 +02:00
Frederic Junod
bb6192bc10 Revert "Implement ol.renderer.Layer#forEachFeatureAtCoordinate"
This reverts commit dd07fd7977.
2015-05-05 09:38:50 +02:00
Frederic Junod
dd07fd7977 Implement ol.renderer.Layer#forEachFeatureAtCoordinate
And remove identical implementation in children classes.
2015-04-28 14:08:45 +02:00
Andreas Hocevar
513677fecd Render map replay group on the correct world instead of wrapping it
By using the frameState's focus, we can adjust extent and transform and
render it for the world of interest instead of wrapping it and rendering
for every visible world.
2015-04-22 09:11:19 +02:00
Andreas Hocevar
23ed120361 Clarify when we make feature overlays wrap the x-axis 2015-04-21 09:56:03 +02:00
Andreas Hocevar
40feabc3c8 Do not require an extent for global projections 2015-04-21 09:11:06 +02:00
Andreas Hocevar
4f8dca92ba Ensure functions are always called with the same number of args 2015-04-21 08:21:31 +02:00
Andreas Hocevar
8fd4e2c7c5 Improve docs, comments and code readability 2015-04-19 08:52:37 +02:00
Andreas Hocevar
b51aaa5055 Wrap the x-axis for the map's replay group 2015-04-18 19:10:53 +02:00
Andreas Hocevar
a90a012e5d Replay vector batches for each world 2015-04-18 19:10:53 +02:00
Andreas Hocevar
2b75341068 Add support for non-square tiles 2015-04-14 22:54:57 +02:00
Éric Lemoine
42c4ae9ced Add updateWhileInteracting to olx.layer.VectorOptions 2015-04-01 08:27:29 +02:00
Marc Jansen
fb9ba22c30 Add message to assertions. 2015-03-30 22:53:03 +02:00
Tim Schaub
e5432f7cb5 Avoid creating unnecessary images during rendering 2015-02-16 15:11:16 -07:00
bill-chadwick
0381689fb6 Resize the canvas when the tile size changes 2015-02-10 14:00:23 -07:00
Tim Schaub
33c197cf16 Layer renderers should not require a map renderer 2015-02-08 07:25:10 -07:00
Tim Schaub
d4b7bb7c57 Use frame state for pixel to coord conversion 2015-02-07 16:52:34 -07:00
Frederic Junod
078d3fb007 Add missing goog.require 2015-02-05 10:56:44 +01:00
tsauerwein
f4500c8f89 Rename *AtPixel to *AtCoordinate if coordinate 2015-01-30 10:00:37 +01:00
tsauerwein
4d4bed454a Avoid pixel->coord->pixel conversion 2015-01-30 10:00:37 +01:00
tsauerwein
054227fd26 Make signature for *AtPixel methods more consistent
pixel/coordinate is the first argument.
2015-01-30 10:00:36 +01:00
tsauerwein
b4cb786f29 Implement forEachLayerAtPixel for canvas 2015-01-30 10:00:36 +01:00
tsauerwein
7feb8b22f6 Rename forEachGeometryAtPixel 2015-01-30 10:00:36 +01:00
Frederic Junod
cb69cecf03 Take the pixel ratio into account when clipping the layer 2015-01-28 14:21:50 +01:00
Éric Lemoine
b27c1c82d4 Merge pull request #3107 from elemoine/imagestate
Also listen on loading images
2015-01-21 12:50:31 +01:00
Andreas Hocevar
b1a73da9dd Add updateWhileAnimating option
With this option, vector batches will be recreated with every frame.
For animations, this means that vector data won't be clipped to the
extent at which the animation started.
2015-01-14 16:33:05 +01:00
Éric Lemoine
4814983306 Also listen on loading images
This fixes a bug that occured when an image source was used by multiple maps. In that case the map that didn't load the image wouldn't register a load listener on that image and would therefore not call render to request a re-render of the map.
2015-01-09 09:07:31 +01:00
Tim Schaub
1ee03625e9 Optimize hit detection by rendering features in a limited extent 2015-01-07 23:04:42 -07:00
Frederic Junod
55dda99cfe Assert that ol.layer.Tile#getUseInterimTilesOnError is always set 2015-01-07 16:59:44 +01:00
Éric Lemoine
f1bf782133 Change "recreate batch" strategy
Only recreate batch when the (buffered) rendered extent contains the **buffered** viewport extent.
2014-12-19 08:43:47 +01:00
Éric Lemoine
8e8fc9977c Add a renderBuffer option to ol.layer.Vector 2014-12-18 13:20:32 +01:00
Éric Lemoine
ddc51ee267 Unconditionally draw Replay's 2014-12-18 13:04:29 +01:00
Éric Lemoine
fdf52c1865 Simplify hit detection code 2014-12-05 15:42:54 +01:00
Éric Lemoine
87bb1b956b Merge remote-tracking branch 'upstream/master' into webgl-point
Conflicts:
	src/ol/style/circlestyle.js
	src/ol/style/regularshapestyle.js
	test/spec/ol/style/regularshapestyle.test.js
2014-12-04 12:57:46 +01:00
Andreas Hocevar
4cbeb5ee22 Merge pull request #2987 from kartverket/2966
Image layer renderers use source projection if given and equivalent
2014-12-01 13:06:42 +01:00
Thomas Hirsch
8e4d7c0715 isDefAndNotNull -> !isNull 2014-12-01 12:57:35 +01:00
Thomas Hirsch
d5bafc5e9f linting 2014-12-01 10:53:36 +01:00
Thomas Hirsch
e385e81a20 linting 2014-11-30 10:08:41 +01:00
Thomas Hirsch
c42ec27a4a image layer renderers use source projection if given and equivalent 2014-11-28 22:09:45 +01:00
Tim Schaub
50c0bc6879 Clip rendering to layer extent 2014-11-11 08:59:57 -08:00
Éric Lemoine
501e7456c0 Merge remote-tracking branch 'upstream/master' into webgl-point-merge 2014-11-10 15:40:03 +01:00
Guillaume Beraudo
f715e3186a Readability rearangement in canvasmaprenderer.js 2014-11-07 11:15:02 +01:00
Éric Lemoine
46b03e79a4 Merge remote-tracking branch 'upstream/master' into webgl-point 2014-11-03 15:02:22 +01:00