Commit Graph

13752 Commits

Author SHA1 Message Date
burleight 8769ea519e WebGL / render multiple worlds to wrap X in vector renderer
From https://github.com/jahow/openlayers/pull/1

Adds logic in WebGLVectorLayerRenderer to handle multiple worlds visible at once.

Co-authored-by: Tomas Burleigh <t.burleigh@gmail.com>
Co-authored-by: Olivier Guyot <olivier.guyot@camptocamp.com>
2022-07-15 22:33:52 +02:00
Olivier Guyot c9f3665237 Remove @api on webgl vector layer renderer as well as utilities
This removes the WebGL vector layer renderer as well as the WebGL helper class
from the API.
2022-07-15 22:33:52 +02:00
Olivier Guyot 7e9c620914 Fix linting and typechecking errors 2022-07-15 22:33:52 +02:00
Olivier Guyot a2ba7ecaa7 Make some adaptations to the PointsLayer renderer to make it work 2022-07-15 22:33:52 +02:00
Olivier Guyot c555315014 Add a new WebGLVectorLayer renderer
This relies on a mixed geometry batch and separate batch renderers (lines,
points and polygons). A different shader program is used for each of these
geometries, and three rendering passes are made.
2022-07-15 22:33:52 +02:00
Olivier Guyot cfaf9a14e5 Rework a bit the webgl helper to allow having several programs
Without this, doing render passes with different programs using one
helper instance was not really doable
2022-07-15 22:33:52 +02:00
Olivier Guyot 7892c31715 Adapt the WebGL worker to use the new buffer generation utils 2022-07-15 22:33:52 +02:00
Olivier Guyot 143c19ca03 Add utils for generating webgl buffers from lines and polygons
Uses @mapbox/earcut for polygon (what else), and a home made logic for lines
2022-07-15 22:33:52 +02:00
Olivier Guyot a18ffaed54 Move webgl utils out of ol/renderer/webgl/Layer module into their own module 2022-07-15 22:33:52 +02:00
Olivier Guyot eb0db9e3df Introduce batch renderers for each type of geometry
Batch renderers are responsible for generating render instructions and
interacting with the worker to obtain the final webgl buffers
2022-07-15 22:33:52 +02:00
Olivier Guyot b5fbed5437 Introduce MixedGeometryBatch for webgl rendering
This class keeps an up-to-date list of line, polygon and point geometries
to render as well as vertices counts, geometries count, rings count etc.
2022-07-15 22:33:52 +02:00
Andreas Hocevar aff4451fb1 Merge pull request #13823 from ahocevar/reduce-canvas-footprint
Reduce canvas memory footprint for better iOS stability
2022-07-15 20:35:09 +02:00
Andreas Hocevar 96e2400c46 Fix alignment of rotated image layers 2022-07-15 20:30:38 +02:00
jeanpierre d3861b0922 scaleBarColors a new option for scalebar colors 2022-07-15 19:14:46 +02:00
Andreas Hocevar f720404559 Updates after rebase 2022-07-15 11:01:30 +02:00
Andreas Hocevar 884c0c6129 Resolve conflicts 2022-07-15 10:51:08 +02:00
Frederic Junod 252671108f Use union type instead of WMTS request encoding 2022-07-15 10:51:08 +02:00
Frederic Junod 9c1b55e09c Use union type instead of enum for extent corner 2022-07-15 10:51:08 +02:00
Tim Schaub 3a061ed576 Use union type instead of enum for canvas builder type 2022-07-15 10:51:07 +02:00
Tim Schaub 05f9b35eeb Use union type instead of enum for WMS server type 2022-07-15 10:48:38 +02:00
Tim Schaub d05204f50b Use union type instead of enum for feature format 2022-07-15 10:48:37 +02:00
Tim Schaub 03dbe1f9a1 Use union type instead of enum for overlay positioning 2022-07-15 10:48:37 +02:00
Tim Schaub 9a6f8493fb Use union instead of enum for geometry type 2022-07-15 10:48:37 +02:00
Tim Schaub 04ad0e0c5a Additional uses of new source state type 2022-07-15 10:46:44 +02:00
Andreas Hocevar 57f147988d Use union type for source state 2022-07-15 10:46:44 +02:00
Andreas Hocevar 720ccbcd42 Use canvas pool for reprojection tiles 2022-07-10 23:06:41 +02:00
Andreas Hocevar f3a05ba82d Use device instead of data pixel ratio to determine canvas size 2022-07-10 23:06:41 +02:00
Andreas Hocevar 6086459cba Handle opacity on canvas instead of dom 2022-07-10 23:06:40 +02:00
Andreas Hocevar 239487e9f0 Only create and load tiles within the viewport 2022-07-10 23:06:40 +02:00
Andreas Hocevar 6ffbfa1a4a Minimize canvas size for rotated views 2022-07-10 19:17:51 +02:00
Andreas Hocevar 22dba410ad Release canvas memory when no longer needed 2022-07-10 19:17:50 +02:00
MoonE 65704f0443 Merge pull request #13787 from jipexu/checkcontenteditable
Checkcontenteditable
2022-07-07 01:44:37 +02:00
Maximilian Krög c2d609c60a Improve targetNotEditable documentation 2022-07-07 01:32:22 +02:00
MoonE cbd138f967 Merge pull request #13674 from EvertEt/tilegridnull
Add null return type for TileGrid functions
2022-07-07 00:40:45 +02:00
Tim Schaub ebeef238e3 Merge pull request #13747 from theduckylittle/feature/add-setters-to-shape-styles
Add setFill and setStroke to Shapes
2022-07-02 16:16:03 -06:00
mike-000 4271dcc5b5 Include displacement and declutterMode in clone 2022-06-30 23:08:37 +01:00
Andreas Hocevar 3ae9e9afd5 Merge pull request #13799 from M393/dont-touch-tiles-used-time-when-expiring
Do not refresh use time for tiles when collecting used source tiles
2022-06-30 22:14:06 +02:00
mike-000 4f0845b03a Change return type to Feature 2022-06-29 10:39:38 +01:00
Maximilian Krög 7b9fc4c995 Do not refresh use time for tiles when collecting used source tiles 2022-06-28 17:20:42 +02:00
jipexu e7a545233b Update condition.js 2022-06-24 09:42:31 +02:00
Duck c182bbf66b Show an example of changing the color with setfill 2022-06-23 06:01:11 -07:00
Duck 4ef584b410 Add setFill and setStroke to Shapes
This rounds out the shape style sto be more
consistent and make the `setFill` and `setStroke`
methods available.
2022-06-23 06:01:11 -07:00
jipexu ab92c0d603 Update src/ol/events/condition.js
writing for ts

Co-authored-by: M393 <56256405+M393@users.noreply.github.com>
2022-06-22 18:34:22 +02:00
jipexu c7a2f06acc Update src/ol/events/condition.js
Co-authored-by: M393 <56256405+M393@users.noreply.github.com>
2022-06-22 17:12:02 +02:00
jipexu b8dfde2f12 checkcontentEditable
#13785
2022-06-22 16:28:44 +02:00
jipexu 390c81413d add check for contentEditable attribut
see #13785
2022-06-22 13:31:22 +02:00
Andreas Hocevar 134ec9c8d0 Remove duplicated logic from PointerInteraction 2022-06-16 14:36:17 +02:00
Andreas Hocevar f99dc1e9ec Better fix for changing pointer ids on event target change 2022-06-15 16:29:07 +02:00
Andreas Hocevar 307e9892fc Merge pull request #13762 from ahocevar/webgltile-sources-bands
Fix source band calculation when configured with multiple sources
2022-06-15 16:08:01 +02:00
Andreas Hocevar 1852ad78a2 Clean up tracked pointers when the event target has changed 2022-06-15 12:56:52 +02:00