* [core] Bump gl-js version
* [core] Implement image expression
* [core] Use new image expression
* [core] Coerce image expression to / from string
* [core] Serialize evaluated image
* [core] Pass available images to layout
* [core] Pass images to evaluation context
* [core] Set available flag value based on image availability
* [core] Allow image coercion to boolean to indicate image availability
* [core] Coalesce image expression
* [core] Add image expression to next build system
* [core] Align serialization format and evaluated type with gl-js
* [core] Add images to expression evaluation method
* [core] Add support for Image expression to expression test runner
* [core] Unskip image expression tests
* [core] Update unit tests
* [core] Use image expression in annotation manager
* [core] Add string to ImageExpression conversion
* [core] Add image expression to expression dsl
* [core] Convert tokens for implicitly created Image literal
* [core] Fix clang format
* [core] Split generated style code lines that are over 120 characters
* [core] Add unit test for image expression equality
* [core] Add image property expression evaluation unit test
* [core] Unskip image expression render test
* [core] Skip 'in' expression tests
* [core] Ignore fill-pattern/update-feature-state render test
* [core] Rename Image::serialize to Image::toValue
Composing tiles from the GeoJSON features is an expensive
operation that might block UI thread on updating the `GeoJsonSource`
with the new data.
This change moves tile composing to the background thread and thus
unblocks the UI thread.
This fixes rendering by account for the 1px texture padding around icons that were stretched with icon-text-fit. We've added the 1px padding before, but didn't scale it accordingly when we are resizing the icon when it is stretched to fit the text. Adjusts the code to match the logic in GL JS.
* [ios] Add mapView content inset tests.
* [ios] Fix an issue that caused the ornaments ignore the contentInsets.
Fixed an issue that caused ornaments ignore the contentInset. Added a new property automaticallyAdjustContentInset that has the same purpose as UIViewController. automaticallyAdjustsScrollViewInsets. This was changed due to the latter being deprecated.
* [ios] Fix automaticallyAdjustsScrollViewInsets legacy behavior.
The property automaticallyAdjustsScrollViewInsets overrode automaticallyAdjustsScrollViewInsets which caused a breaking change. This is fixed to consider the legacy property when calculating the content insets and added tests for both cases.
* [ios] Fix the contentInset value after adding padding to the camera.
Fixed an issue that caused a discrepancy between the contentInset in MGLMapView and the padding in the transformation state.
When padding is passed through methods such as setCamera it’s persisted. This fix resets the contentInsets.
* [ios] Fix pinch test.
* [ios] Update automaticallyAdjustsScrollViewInsets name and documentation.
* [ios] Update changelog.
* [ios] Add failing tests for scale bar updates.
* [ios] Remove borderLayer
* [ios] Ensure bar sections have non-fractional width
* [ios] Add RTL override
* [ios] Update constraints/layout
* [ios] Invalidate scalebars size, after the parent's layout has happened (to ensure the view dimensions are correct when re-laying out the scale bar.
* [ios] Refactor layout
* [ios] Update changelog / remove commented code.
* [ios] Remove whitespace
* [ios] Stop integration tests asserting (when scale bar is hidden). Also reduces the # of calculations (since updateConstraints and layoutSubviews can be called outside of our control).
* [ios] Moves declaration of properties for testing.
* [ios] Removes redundant property attribute
* [ios] Updated change log
The projected meters per pixel calculation is not dependent on the pixel ratio but rather the tile size, therefore, the division when fetching the value is not necessary.