summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* [core] add pixelOffset and minFontScale to SymbolQuadsKonstantin Käfer2020-01-153-9/+46
|
* [core] Upgrade shaders and add new vertices to SymbolLayoutKonstantin Käfer2020-01-159-471/+521
|
* [core] Modularize FileSource codebase (#15768)Alexander Shalamov2020-01-1322-108/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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
* [core] Fix GeoJSONVTData ownership and life cycleMikhail Pozdnyakov2020-01-092-11/+7
| | | | | | | | | | | | | | | | | | | | | | | 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.
* [android][core] Add `Map::latLngBoundsForCameraUnwrapped` and jni binding ↵Peng Liu2020-01-091-0/+21
| | | | | | | | | 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.
* [core] Introduce CollisionIndex::getProjectedCollisionBoundaries()Mikhail Pozdnyakov2020-01-083-21/+26
| | | | In order to remove the repeated code.
* [core] Introduce CollisionBoundaries and use it in CollisionIndexMikhail Pozdnyakov2020-01-083-100/+109
|
* [core] Use only the first variable anchor for the symbols intersecting tile ↵Mikhail Pozdnyakov2020-01-081-7/+14
| | | | | | borders Do not try the following variable anchors, if the first variable anchor placement failed.
* [core] Fix CollisionIndex::featureIntersectsTileBorders() implementationMikhail Pozdnyakov2020-01-082-4/+3
|
* [core] Performance fix for placement in tile modeMikhail Pozdnyakov2020-01-081-2/+10
|
* [core] In tile mode, place labels from tile borders firstMikhail Pozdnyakov2020-01-081-53/+88
|
* [core] Pre-defined variable anchor at tile bordersMikhail Pozdnyakov2020-01-082-20/+49
| | | | In tile mode, stick to the first variable anchor if the label intersects tile borders.
* [core] Add CollisionIndex::featureIntersectsTileBorders()Mikhail Pozdnyakov2020-01-082-4/+33
|
* [core] Consolidate more logic in calculateVariableLayoutOffset()Mikhail Pozdnyakov2020-01-081-13/+25
|
* remove unused code (#16077)Dane Springmeyer2019-12-192-2/+0
|
* [core] Handle zero text sizeMikhail Pozdnyakov2019-12-191-1/+1
| | | | | | | | 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`.
* Include padding when testing camera scale in cameraForLatLngBoundsAleksandar Stojiljkovic2019-12-171-1/+4
| | | | | 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.
* correct insets camera management - see ↵Romain Quidet2019-12-171-16/+3
| | | | https://github.com/mapbox/mapbox-gl-native-ios/issues/59
* [core] Fix really overscaled lines #16018Ansis Brammanis2019-12-171-6/+7
|
* [core] Enable 'line-sort-key' and 'fill-sort-key' layout properties (#15839)Andrew Hay Kurtz2019-12-1714-120/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* [core] Add style::Layer(Impl) constructorMikhail Pozdnyakov2019-12-132-8/+6
|
* [core] Fix -Wshadow when using GCC 4.9Thiago Marcos P. Santos2019-12-122-7/+7
|
* [core] Placement::commit() handles absence of previuos placementMikhail Pozdnyakov2019-12-093-5/+14
|
* [core] Simplify placement code path for still and tile modesMikhail Pozdnyakov2019-12-092-11/+29
|
* [core] Add unit test for calculateTileDistancesAlexander Shalamov2019-12-092-4/+5
|
* [core] Add unit test for getAnchors and remove unused fieldAlexander Shalamov2019-12-092-7/+6
|
* [core] Don't use signed int type for anchor segmentAlexander Shalamov2019-12-097-40/+75
|
* [core] increase padding in CollisionIndex for MapMode::Tile (#15880)Ansis Brammanis2019-12-063-16/+27
| | | | | | | | * [core] fix cutoff cross-tile labels in MapMode::Tile Increase the CollisionIndex's padding so that more of a tile's data gets considered when checking for collisions. This should fix clipped variable placement text labels.
* [core] Refactoring transform state (#15956)zmiao2019-12-057-193/+522
| | | | | | | | | | * [core] Refactoring transform state class * [core] update matrix in transform, Fix precision * [core] Make matrix mutable so that we only update them when needed * [core] Add getters for matrices
* [core] Remove Map::cycleDebugOptionsBruno de Oliveira Abinader2019-12-041-24/+0
|
* [core] Merge style::Layer::set{Layout,Paint}PropertyMikhail Pozdnyakov2019-12-0312-827/+536
|
* [core] Turn off clang format for generated shaded codeAlexander Shalamov2019-12-021-3/+2
|
* [core] Add unit tests for Formatted classAlexander Shalamov2019-12-021-3/+2
|
* [core] Shape images in labels at bucket zoom levelAlexander Shalamov2019-12-023-1/+5
|
* [core] Use linear filtering for icons in text for zoom dependent text-sizeAlexander Shalamov2019-12-021-7/+9
|
* [core] Use new 'SymbolTextAndIcon' program to draw icons in textAlexander Shalamov2019-12-0241-634/+1124
|
* [core] Store 'sdf' flag in vertex attributeAlexander Shalamov2019-12-026-41/+48
|
* [core] Shape images in labels and create image quadsAlexander Shalamov2019-12-0212-215/+368
|
* [core] Calculate line width and line breaks for imagesAlexander Shalamov2019-12-022-23/+34
|
* [core] Pass images and evaluated layout text size to shapingAlexander Shalamov2019-12-024-19/+58
|
* [core] Add evaluated images to styled text sectionsAlexander Shalamov2019-12-023-21/+73
|
* [core] Add image sections to format expressionAlexander Shalamov2019-12-025-71/+122
|
* [core] Introduce Pass<> class and use it for SchedulerMikhail Pozdnyakov2019-12-021-4/+4
| | | | Thus we enforce client to retain the returned `Scheduler` objects.
* [core] Blacklist VAO extension for Adreno (TM) 4xx GPUsAlexander Shalamov2019-12-021-8/+8
| | | | Blacklist in order to avoid crashes in a driver.
* [core] Retain thread pool in GeoJSONSourceMikhail Pozdnyakov2019-11-291-2/+2
| | | | Otherwise, the construction of the `Immutable<Source::Impl>` in background thread might never yeld.
* [core] GeoJSONVTData uses Scheduler::GetSequenced()Mikhail Pozdnyakov2019-11-291-14/+19
|
* [core] Introduce GeometryTile::reset()Mikhail Pozdnyakov2019-11-296-17/+44
| | | | | | The newly introduced `GeometryTile::reset()` is used while GeoJSON tile update in order to prevent from the parsing of the new data with the stale layers or vice verse.
* [core] Calculate GeoJSON tile geometries in a background threadMikhail Pozdnyakov2019-11-294-38/+46
| | | | | Call `mapbox::geojsonvt::GeoJSONVT::getTile()` in a background thread, so that the rendering thread is not blocked.
* [core] Fix supercluster lambdas capturingMikhail Pozdnyakov2019-11-291-7/+7
|
* [core][android][darwin] Fix GeoJSONOptions handlingMikhail Pozdnyakov2019-11-294-27/+31
| | | | | | - share the `GeoJSONOptions` instances using `Immutable<GeoJSONOptions>` - avoid extra copying - fix wrapping of the `GeoJSONOptions` instances in supercluster map/reduce lambdas. Previously, local variables were wrapped by reference.