| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
options
Port of https://github.com/mapbox/mapbox-gl-js/pull/8473
|
| |
|
| |
|
|
|
|
| |
The transform state cached in placement might get stale and cannot be used for bucket vertices updates.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
RenderTile and Tile will be split when ochestration movces to a separate thread.
This PR improves encapsulation of Tiles management: now performed within TilePyramid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change is implemented in TransformState::getProjMatrix, the rest of the code is making sure that existing API contracts stay and there are tests verifyingrendering and render query processing only items within screen and given tolerance around screen edges.
MapView: don't bake edge insets into relalculated camera center. Keep edge insets as property of camera in TransformState (similar to pitch, zoom, bearing) independent from specified camera center. Interpolate edge insets in animation.
iOS Demo app: "Turn On/Off Content Insets" pitch the camera and navigate to convenient location in Denver, where streets are parallel to cardinal directions, to illustrate viewport center offset when edge insets are set.
Tests:
ViewFrustumCulling: although Annotations are deprecated, queryRenderedFeatures related tests in Annotations would need to get ported and decided to add the edge insets related query tests next to them. Verify frustum culling (render+queryRenderedFeatures) With different camera and edge insets setups. TODO: port Annotations tests.
Transform.Padding: Verify that coordinates take proper place on screen after applying edge insets.
LocalGlyphRasterizer: verify text rendering when applying padding.
Related to #11882: both use projection matrix elements [8] and [9].
Alternative approach to this was to increase and offset map origin so that the screen would be a sub-rectangle in larger map viewport. This approach has a drawback of unecessary processing the items that are outside screen area.
Fixes #12107, #12728, navigation-sdks/issues/120
|
| |
|
|
|
|
|
|
|
|
| |
`RenderSymbolLayer` does not have to update dynamic vertices of its buckets, this logic is moved to placement (which is already updates opacity vertices).
* fixes clustering of labels when text variable placement enabled - as assignes `usesVariablePlacement` per bucket
* simplifies the code in `RenderSymbolLayer` (the `RenderSymbolLayer::upload()` is now omitted).
* symbol buckets are not modified after orchestration finishes
|
|
|
|
| |
intermadiate containers
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Avoid unnecessary glyph manager presence check in `Renderer::Impl::()`.
|
|
|
|
|
|
|
|
| |
A RenderTile is already never created for a not renderable tile, guarantied by the checks in `updateRenderables()`.
However, the client code had plenty of `isRenderable()` checks in the render path, which complicated the code and affected rendering performance.
This patch removes the unneeded checks from the client code and puts an assertion to `TilePyramid::addRenderTile()`.
|
|
|
|
|
|
|
|
| |
Symbols are placed accordingly to their viewport Y order,
if the style `symbol-z-order` is set to `viewport-y`.
This improves rendering of symbol layers, where icons are allowed
to overlap but not text.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expression #14062
* [core] Add format override expression and formatted section to evaluation context
* [core] Add textColor to TaggedString's formatted section
* [core] Add FormatSectionOverrides and introduce overridable properties
* [core] Populate symbol layer paint properties for text sections
* [core] Add benchmark for style that uses text-color override
* [core] Add unit test for FormatOverrideExpression
* [core] Add unit test for FormatSectionOverrides
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes issue #13506 -- transition duration of 0 would cause symbol flickering.
|
|
|
|
| |
allow disabling them entirely
|
| |
|
|
|
|
|
| |
Boost is now included as a system header and the compiler
should ignore it when issuing warnings.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Remove use of QString from non-ICU Qt stub bidi implementation since we weren't making use of it.
|
|
|
|
|
| |
[node] Hook up map-wide "crossSourceCollisions" option, defaulting to true.
[test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
|
| |
|
|
|
|
| |
Fixes issue #12683.
|
|
|
|
| |
'-Wtautological-constant-compare', ignored") on iOS build (#12753)
|
|
|
|
|
|
|
| |
- Fixes issue #12461.
- Only implement "avoid edges" in MapMode::Tile since it's no longer relevant in Static or Continuous mode.
- New: Force "avoid edges" to "true" for line labels, since in tile mode they'll always clip poorly at tile boundaries.
- Remove unused "withinPlus0/inside" logic.
|
| |
|
|
|
|
|
|
| |
paired icon/text
Fixes issue #12483.
|
| |
|
| |
|
|
|
|
| |
A mismatch can occur when a layer changes from one type to another.
|
|
|
|
|
| |
- Remove unused/vestigial 'maxCameraDistance'
- Create a single collision circle for line labels that are less than half the width of a collision circle
|