Commit Graph

3951 Commits

Author SHA1 Message Date
Olivier Guyot
19eadaea24 Shader Builder / add type checking in expressions parsing
All expressions will now be type checked before actually being parsed.
2019-10-22 23:17:00 +02:00
Olivier Guyot
b8e8d30df0 Shader Builder / add utilities for checking an expression type
Type checking is done either against a literal value (number, string...)
or against the operator in case of an expression.

Sometimes it is not possible to infer only one type, for example
the value 'transparent' could either be a color or a string. This
is covered by the fact that all operators expect exactly one type
for their arguments.
2019-10-22 23:17:00 +02:00
Olivier Guyot
f43637cc33 Shader Builder / support strings in formatColor 2019-10-22 23:17:00 +02:00
Olivier Guyot
56faf4c3ad Color / add an isStringColor utility function 2019-10-22 23:17:30 +02:00
Olivier Guyot
a0b271a812 Literal Style / add support for variables in the style
These variables are accessed using the `var` operator, and are meant
to be mutated directly in the style object. When doing so,
the new value will always be used for the render.

This is intended to be used for modifying the style through external
parameters such as an input field, a slider, mouse position etc.
2019-10-22 23:17:00 +02:00
Olivier Guyot
94b8cf6af3 Webgl / add support for a time operator in literal styles
This required adding `u_time` as one of the default uniforms provided by the
webgl helper.
2019-10-22 23:17:23 +02:00
Olivier Guyot
0c0c8c5d56 Literal Style / add support for a filter property 2019-10-22 23:17:00 +02:00
Andreas Hocevar
fef4d4e9b7 Merge pull request #10093 from mike-000/patch-3
Set label text for Graticule option styles
2019-10-22 15:23:01 +02:00
Olivier Guyot
e38250ee14 ShaderBuilder / add fragment discard expression in shader params 2019-10-22 11:39:30 +02:00
Andreas Hocevar
39012a58f8 Implement getFeatures() for ol/layer/VectorImage 2019-10-22 11:27:26 +02:00
Olivier Guyot
9ee93cd2cf ShaderBuilder / refactoring to use an actual builder pattern
There is now a ShaderBuilder class with chainable methods
to specify more easily the contents of the final shaders.
This is to avoid passing around large objects to different functions,
and allow for a richer API.

The documentation has also been corrected and clarified.
2019-10-22 11:12:06 +02:00
Edward Nash
ed18310136 Improve test in case of async call 2019-10-22 10:21:52 +02:00
Edward Nash
ee653a8e0d Add regression test for event target on Control
* Check possible name collision of target element with EventTarget
2019-10-22 09:37:05 +02:00
mike-000
7edd10d66f Test that label text is set in styles 2019-10-21 16:00:54 +01:00
Andreas Hocevar
54884314ee Merge pull request #10094 from ahocevar/immediate-hitdetection
New Layer#getFeatures method with fast hit detection
2019-10-14 22:21:08 +02:00
Andreas Hocevar
0cb9d73848 No ERROR state for render tiles 2019-10-11 14:58:22 +02:00
Olivier Guyot
87414256e2 Heatmap / use worker events instead of timeout for test 2019-10-11 14:06:27 +02:00
Olivier Guyot
b44a6ab26a Heatmap / add hit detection shaders 2019-10-08 13:27:31 +02:00
Andreas Hocevar
f477fc18f2 Add tests 2019-10-08 08:23:38 +02:00
Andreas Hocevar
315695eeb8 New Layer#getFeatures method with fast hit detection for VectorLayer 2019-10-08 08:23:38 +02:00
Olivier Guyot
176dccd6df Merge pull request #10060 from mike-000/patch-1
Ensure zoom level is not less than minimum integer zoom level for extent
2019-09-30 17:34:45 +02:00
Tim Schaub
d3b47c794e Make the immediate API work with a user projection 2019-09-30 08:28:50 -06:00
Tim Schaub
7c8b2215d4 Remove unused code 2019-09-29 07:05:48 -06:00
Tim Schaub
d2b25533c2 Use the same spelling used elsewhere 2019-09-29 07:37:45 -05:00
mike-000
733b883ac0 Correct expected result to reflect #10054
Correct world extent constrained resolution test to expect integer zoom level
2019-09-29 12:19:42 +01:00
Tim Schaub
1260dfc153 Merge pull request #10057 from tschaub/fewer-extensions
Remove unused test extensions
2019-09-28 19:02:02 -05:00
Tim Schaub
76df721b98 Merge pull request #10056 from tschaub/uncalled
Remove called assert extension
2019-09-28 19:01:15 -05:00
Tim Schaub
c984b28752 Remove unused test extensions 2019-09-28 12:02:48 -05:00
Tim Schaub
3b02f5597e Remove called assert extension 2019-09-28 18:55:38 +02:00
Andreas Hocevar
7f8fdd6219 Ensure proper tile load sequence 2019-09-28 15:24:37 +02:00
Tim Schaub
32644c7ba9 Merge pull request #10051 from tschaub/unchained
Simplify the assertion
2019-09-28 08:17:09 +02:00
Tim Schaub
c8456868bd Simplify the assertion 2019-09-27 23:49:57 +02:00
Tim Schaub
239f5745c1 Correct fail 2019-09-27 23:23:24 +02:00
Andreas Hocevar
70706443f5 Merge pull request #10048 from ahocevar/early-empty-state
Early EMPTY state for VectorRenderTile
2019-09-27 22:29:42 +02:00
Andreas Hocevar
47dd60104d Set EMPTY state of VectorRenderTile early 2019-09-27 19:04:21 +02:00
Tim Schaub
80cf76e783 Merge pull request #10043 from tschaub/snap-geographic
User coordinates during snapping
2019-09-27 17:20:16 +02:00
Tim Schaub
a996d62d46 Test snap with geographic coordinates 2019-09-27 14:12:10 +02:00
Andreas Hocevar
99c56a1f08 Additional tests for LineString 2019-09-27 11:10:14 +02:00
Andreas Hocevar
ac8f8f4e88 Merge pull request #10024 from ahocevar/focus-condition-target
Allow EventTarget to use a different default target
2019-09-26 19:59:27 +02:00
Andreas Hocevar
fd594c2001 Do not remove listeners that do not exist 2019-09-26 19:02:06 +02:00
Andreas Hocevar
3a10476c1c Merge pull request #10007 from mike-000/patch-1
Changes for #9395 CircleStyle inconsistency
2019-09-26 18:46:24 +02:00
Tim Schaub
b56c8b6630 Merge pull request #10027 from tschaub/fix-test
Confirm zoomByDelta calls view.animate()
2019-09-26 18:39:36 +02:00
Tim Schaub
53e2f432e7 Confirm zoomByDelta calls view.animate() 2019-09-26 18:30:16 +02:00
Olivier Guyot
8c19399d0b Merge pull request #10016 from jahow/webgl-attribute-link
WebGL Points Layer: allow expressions in literal style
2019-09-26 18:02:26 +02:00
Andreas Hocevar
899af3e5c7 Allow EventTarget to use a different default target 2019-09-26 17:56:51 +02:00
Tim Schaub
5d4e77151c Handle event coordinate in the user projection 2019-09-26 17:24:58 +02:00
Tim Schaub
1e27846d6d Use user projection for event coordinate 2019-09-26 17:23:39 +02:00
Olivier Guyot
28d157af56 Shader builder / add circle and triangle shapes for symbols 2019-09-26 16:30:19 +02:00
Olivier Guyot
9b3a9b5eca Shader builder / add logic for transforming a style into shader params
This was previously handled by the WebGLPointsLayer class, but is now
externalized and tested.
2019-09-26 16:20:35 +02:00
Olivier Guyot
d5caabbbfc Shader builder / add basic expression parsing
Only a handful of expressions for now, very loosely based on the
mapbox style spec. Also only work on numerical values.
2019-09-26 16:20:35 +02:00