summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] Pass TransformState to the cross tile symbol indexupstream/cross_tile_index_performanceMikhail Pozdnyakov2020-01-206-12/+19
|
* [core] Simplify Placement::addLayer()Mikhail Pozdnyakov2020-01-194-9/+10
|
* [core] Simplify CrossTileSymbolIndex::addLayer()Mikhail Pozdnyakov2020-01-175-10/+20
|
* [core] Avoid repeated calculations in symbol placementMikhail Pozdnyakov2020-01-162-42/+47
|
* [core] Cache showCollisionBoxes in PlacementMikhail Pozdnyakov2020-01-163-20/+13
|
* [core] Pass UpdateParameters to Placement constructorMikhail Pozdnyakov2020-01-165-38/+27
|
* [core] Pass std::shared_ptr<UpdateParameters> to the render orchestratorMikhail Pozdnyakov2020-01-153-66/+67
| | | | So that it can retain ownership of the given parameters.
* [core] Pass placement commit parameters in constructorMikhail Pozdnyakov2020-01-153-9/+14
|
* [core] Consider symbol bucket leader id in cross-tile symbol indexingMikhail Pozdnyakov2020-01-152-21/+38
| | | | | | | Only buckets with the same leader id participate in `TileLayerIndex::findMatches()` in order to improve its performace. `TileLayerIndex` constness is fixed.
* [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.