| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* [build] Adding a build flag to build without GL if needed
* [build] Moving custom layer to mbgl/gl
|
|
|
|
|
| |
New method can be used for aggregating property expressions from
multiple properties(layers) into single match / case expression.
|
|
|
|
|
| |
Factory 'get' method can be invoked recursively and stable iterators
are required to guarantee safety.
|
|
|
|
|
| |
This commit allows the variable symbols to cross the tile border only
if their anchor is the first anchor from the `text-variable-anchor` list.
|
|
|
|
| |
Thus avoiding spawing new threads on `setGeoJSONData()` calls.
|
|
|
|
|
| |
There is no guarantee that scheduler is alive when message
is pushed to the mailbox.
|
| |
|
|
|
| |
A const reference is enough here.
|
|
|
|
|
| |
For overscaled tiles the viewport might be showing only a small part of the
tile, so we filter out the off-screen symbols to improve the performance.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
So that it can retain ownership of the given parameters.
|
| |
|
|
|
|
|
|
|
| |
Only buckets with the same leader id participate in `TileLayerIndex::findMatches()`
in order to improve its performace.
`TileLayerIndex` constness is fixed.
|
| |
|
| |
|
| |
|
|
|
|
| |
mirror the JS implementation
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [core] Introduce FileSourceManager and use it for default platform impl
- Add `FileSourceManager` interface that provides access to `FileSource`
instances and means of registering / unregistering `FileSource` factories
- Split `DefaultFileSource` into smaller parts
- Add `DatabaseFileSource` interface and it's default implementation
- Remove inter-dependencies between concrete `FileSource` classes
* [build] Add files to next build system
* [core] Add generic property setters / getters
* [core] Remove setOnlineStatus from OnlineFileSource interface
* [core] Hide threading implementation details from DatabaseFileSource interface
* [core] Make DB file source methods virtual
* [core] Add documentation for DatabaseFileSource and rename one method
* [core] Use simple callback instead of ActorRef
* [core] Remove ActorRef from OnlineFileSource public header
* [core] Add callback to FileSource::forward async API
* [core] Pass OfflineRegionDefinition by value
* [core] Update tests to use modular file sources
* [core] Update unit tests
* [core] Update unit tests after rebase
* [core] Backport low prio fix for cached requests
* [core] Backport pack database
* [core] Return removed factory from unRegisterFileSourceFactory
* [core] Rename shadowed args in onlinefilesource
* [core] Remove simple std::function callback aliases
* [core] Expose online file source property keys in public header file
* [test-runner] Add proxy file source test runner
* [cache] Update mbgl-cache utility to use new file source
* [metrics] Rebaseline binary size metrics
* [offline] Update offline utility
* [core] Update changelog
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, the `GeoJSONVTData` instance was retained at the scheduled
lambda, which run on the worker thread represented by the `GeoJSONVTData::scheduler`
class member:
```
std::weak_ptr<GeoJSONVTData> weak = shared_from_this();
scheduler->scheduleAndReplyValue(
[id, weak, this]() -> TileFeatures {
if (auto self = weak.lock()) {
return impl.getTile(id.z, id.x, id.y).features;
}
return {};
},
fn);
```
It caused program termination in case `self` turned to be the last reference to `this`,
as the `std::thread` destructor was called from the thread it represented.
Now, only the `GeoJSONVTData::impl` class member is retained.
|
|
|
|
|
|
|
|
|
| |
for `getVisibleCoordinateBounds`. (#16069)
* [android] Add getVisibleCoordinateBounds method.
* Fix Map::latLngBoundsForCamera, add Android binding for getVisibleRegionBounds.
* Add unit tests for CameraToLatLngBoundsWithRotation and CameraToLatLngBoundsCrossDateLine.
* Move API breaking changes to a new method name latLngBoundsForCameraUnwrapped.
|
|
|
|
| |
In order to remove the repeated code.
|
| |
|
|
|
|
|
|
| |
borders
Do not try the following variable anchors, if the first variable anchor placement failed.
|
| |
|
| |
|
| |
|
|
|
|
| |
In tile mode, stick to the first variable anchor if the label intersects tile borders.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The style specification stipulates that `text-size` values must be positive
(https://docs.mapbox.com/mapbox-gl-js/style-spec/#layout-symbol-text-size).
However, a zero value could be passed to the engine (e.g. as a result of
an expression) this patch handles it and avoids assertion hit in `shaping.cpp`.
|
|
|
|
|
| |
Repurpose LatLngBoundsToCameraWithBearingAndPitch to test scaling and camera setup, both with and without padding.
This adds testing of path not covered in mapbox/mapbox-gl-native-ios#59.
|
|
|
|
| |
https://github.com/mapbox/mapbox-gl-native-ios/issues/59
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Generate style code for 'line-sort-key' and 'symbol-sort-key'
- Add new layout properties to FillLayer::Impl, FillBucket, and FillLayerFactory
- Fix consistency of paint and layout properties type alias usage in FillBucket, LineBucket
- Add optional feature sorting to fill and line Layout creation
- Enable node render tests for fill-sort-key and line-sort-key
- Fix FillBucket test construction
- Prefer emplace_back to push_back for PatternFeature container
- Fix buggy static_cast for PatternFeature indices
- Maintain sort of features as they are created
- Switch pattern layout features container to list from vector for better insert performance
- Fix formatting expected by sanity check
- Use subclass PatternLayoutSorted to work around lack of template functions
- Fix to retain source order for features with equivalent sort keys during sorting
- [core] Fix clang-format
- [core] Address review comments
- [core] Pass inserting strategy class at compile time
- [core] Use sorted strategy only if sort key is defined in layout
- [core] Update style generator
- [core] Merge PatternLayout and PatternLayoutSorted classes
- Use static methods for inserter strategies
- Merge PatternLayout and PatternLayoutSorted classes
|
| |
|
| |
|
| |
|
| |
|
| |
|