summaryrefslogtreecommitdiff
path: root/include/mbgl/util
Commit message (Collapse)AuthorAgeFilesLines
* [core] Simplify mbgl::ImmutableMikhail Pozdnyakov2019-01-151-15/+5
|
* [core] Introduce Renderer::queryFeatureExtension APIAlexander Shalamov2018-12-121-0/+2
| | | | | | New interface allows it's users to query additional information about feature that was provided by qRF interface. This is particularly useful for clustered features.
* [build] Update to geometry v1.0.0Bruno de Oliveira Abinader2018-11-132-6/+9
|
* [build] Remove #pragma diagnostic for boostThiago Marcos P. Santos2018-11-011-3/+0
| | | | | Boost is now included as a system header and the compiler should ignore it when issuing warnings.
* Consolidate `style::Layer` properties APIMikhail Pozdnyakov2018-10-251-0/+6
| | | | | | | | The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`. This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code and thus save some binary size. This patch is a part of the layers modularization effort.
* [core] Avoid wrapping longitude values of exactly 180 and 360 (#12797) (#13006)Ryan Hamley2018-10-241-1/+1
|
* [core] refactor util::toString to use RapidJSON's stringificationKonstantin Käfer2018-10-231-37/+50
|
* [core] only include <sstream> when we need itKonstantin Käfer2018-10-231-1/+3
|
* [core] add the ability to stringy numbers as hexKonstantin Käfer2018-10-231-0/+2
|
* [core] add ability to stringify doubles that are integer with and without ↵Konstantin Käfer2018-10-231-3/+3
| | | | trailing ".0"
* [core] Initial implementation of 'format' expressionChris Loer2018-10-151-2/+3
|
* [windows, qt] fix windows compiler errors, remove tao + tuple polyfillMolly Lloyd2018-08-312-24/+14
|
* [core] Implement CrossFadedDataDrivenProperty to add support for feature ↵Molly Lloyd2018-08-311-2/+3
| | | | expressions in `*-pattern` properties
* [core] introduce TypeListConcat and TypeList::ExpandIntoKonstantin Käfer2018-08-311-2/+26
|
* [core] simplify attribute/location typesKonstantin Käfer2018-08-311-0/+3
|
* [core] Evict unused font stacks from GlyphManagerJohn Firebaugh2018-08-171-0/+7
|
* [build] vendor std::expected polyfillKonstantin Käfer2018-08-141-0/+16
|
* [core] Replace unique_any with peer from mapbox-bindgenBruno de Oliveira Abinader2018-08-082-271/+111
|
* [core] Harden Projection::project()Bruno de Oliveira Abinader2018-07-091-1/+2
|
* [core] Avoid blocking in Thread<Object> constructor (#12151)Anand Thakker2018-07-031-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce AspiringActor, EstablishedActor This pair of objects represents the two-phase (parent-thread / child-thread) construction that's needed to support constructing Thread<Object> without blocking until the child thread is up and running. An `AspiringActor<O>` is responsible for: - ownership of the actor's `Mailbox` - allocating the memory for (but *not* constructing) the target object `O` Using these two pieces--the mailbox and a stable address for `O`--an `AspiringActor<O>` can accept messages for the target object, or provide `ActorRef<O>`s that do so, before the object has actually been constructed by the corresponding `EstablishedActor<O>`. (Such messages are queued in the mailbox until after the object is constructed.) This allows for an `AspiringActor<O>` to be created and safely used by a thread other than the one on which the target object will (eventually) live. An `EstablishedActor<O>` is responsible for managing the lifetime of the target object `O` and the open/closed state of the parent's `mailbox`. The `O` object's lifetime is contained by that of its owning `EstablishedActor<O>`: the `EstablishedActor` constructor executes the `O` constructor via "placement new", constructing it at the address provided by the parent `AspiringActor`, and the `~EstablishedActor` destructor similarly executes the `~O` destructor (after closing the mailbox). `EstablishedActor` should therefore live entirely on the thread intended to own `O`. * Remove Actor#{invoke,ask}
* [core] Fix issues in unique_anyJohn Firebaugh2018-06-251-10/+6
| | | | | | | * Eliminate unnecessary temporary in VTableStack::move, which also fixes calling the destructor on the incorrect instance * Make move consistent: it destructs the src, not the dest, which is always empty * delete doesn't need a null guard * Conversions to void* don't need a cast
* [core] Measuring tiles requesting/parsing time using logging (#12152)Lloyd Sheng2018-06-211-0/+1
| | | | | | | | | | | | * Tile timing * Refactor logging code * Keep the scope of `messageStream` constrained * Make log message more clear * Fix crash issue if onlineResponse.data is null
* [core] allow logging error codes and formatting strings at the same timeKonstantin Käfer2018-06-121-2/+2
|
* [core] don't use floating point versions of pow/logKonstantin Käfer2018-06-041-1/+1
| | | | | | GLIBC 2.27 added new versioned symbols of powf and logf, while the double versions of pow and log remained stable. Prefer the double version to avoid introducing a dependency on a newer version of GLIBC than strictly necessary. See https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00000.html
* [core] Streaming TileCover for polygonal regions (#11267)Asheem Mamoowala2018-04-261-12/+4
| | | A per-tile streaming algorithm for tile cover on points, lines, and polygons. Works for individual zoom levels, and not zoom ranges.
* [core] Fixed to-rgba with zero opacityMinh Nguyễn2018-03-301-0/+2
|
* [core] add support for mapzen terrarium (#11154)Molly Lloyd2018-02-141-2/+8
| | | | | | | | | | | | * add support for mapzen terrarium * Encoding --> DEMEncoding, avoid if statement when unpacking elevation values * add Terrarium test * update submodule * remove redundant checks
* [core] prioritize Thread::pause() callsKonstantin Käfer2018-02-062-11/+34
|
* [core] change RunLoop processing to check queue on every iterationKonstantin Käfer2018-02-061-6/+7
|
* [core] factor out RunLoop::wake()Konstantin Käfer2018-02-061-4/+8
|
* [core] use the RunLoop's schedule call directlyKonstantin Käfer2018-02-061-18/+1
| | | | RunLoop already has a queue, and has the ability to schedule weak mailboxes, so we can remove the duplicate code.
* Reimplement style values atop NSExpression (#10726)Minh Nguyễn2018-01-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ios, macos] Import headers, not implementation files * [core] Added accessors for various expression parameters Added missing parameter accessors to various expression operator classes, as well as a method on InterpolatorBase and Step that enumerates the stops and their values. * [ios, macos] Silenced warning in test of error condition * [ios, macos] Made MGLSphericalPosition boxable * [ios, macos] Implemented array enumeration during conversion * [ios, macos] Temporarily ignore heatmap layer type * [ios, macos] Migrated MGLSymbolStyleLayer.text to NSExpression MGLSymbolStyleLayer.text is now of type NSExpression instead of MGLStyleValue, as a first step toward migrating the entire layer API from style values to expressions. Implemented conversions from NSExpression to JSON arrays and vice versa. The most common NSExpression functions are now converted into style expressions, but not all of the most common style expression operators are supported yet. * [ios, macos] Implemented string coercion * [ios, macos] Color literals * [ios, macos] Null constant expressions * [ios, macos] Convert dictionary literals * [ios, macos] Interpolation expressions * [ios, macos] to-boolean, to-number, get from object * [ios, macos] Variable expressions Implemented custom expression functions for assigning and referring to variables within the context of an expression. Variables are assigned via a “context dictionary” and applied to an subexpression that is given as another argument to the same expression. Also implemented built-in variable expressions for zoom level and heatmap density. * [ios, macos] Convert colors, offsets, padding in expressions to JSON objects * [ios, macos] Expression-based style property getters Implemented a conversion from mbgl::style::PropertyValues to Objective-C JSON objects, which are then converted to NSExpressions. * [ios, macos] Consolidated property value–expression conversion in MGLStyleValueTransformer * [ios, macos] Predicate and expression guide Extracted documentation about predicates from a documentation comment in MGLVectorStyleLayer.h to a new jazzy guide. Added details about NSExpression support as well. Began updating the “For Style Authors” guide to reflect the transition from style values to expressions. * [ios, macos] Updated style authoring guide Updated the Information for Style Authors guide to discuss expressions instead of style functions. Included a table mapping style specification expression operators to NSExpression syntaxes. * [ios, macos] Migrated codegen templates to expressions * [ios, macos] Applied expression changes via codegen Ran make darwin-style-code. * [macos] Migrated macosapp to expressions * [ios, macos] Updated style function guide This guide needs to be thoroughly rewritten, but for now the example code has been migrated to expressions. * [ios, macos] Eviscerated style function tests * [ios, macos] Updated changelogs * [ios] Migrated iosapp to expressions * [ios, macos] Exposed JSON conversion methods publicly * [ios, macos] Removed MGLStyleValue, MGLStyleFunction
* [core, ios, macos, android] Add data-driven-styling support for `text-font`John Firebaugh2018-01-101-0/+3
|
* [windows][core] Add std::tuple replacement for WindowsThiago Marcos P. Santos2018-01-082-5/+24
| | | | Windows STL + Clang can't build our IndexedTuple class.
* [windows][core] Add missing != operator to TilesetThiago Marcos P. Santos2018-01-081-0/+4
|
* Support TileJSON bounds property (#10701)Asheem Mamoowala2018-01-053-79/+16
| | | | | | | | * [core] Parse TileJSON bounds property * [core] Add TileRange and LatLngBounds::contains(CanonicalTileID) Move LatLngBounds::contains impl to cpp file * [core] Skip tile creation outside of tileset bounds * [core] Fix TileRange for wrapped bounds and use for CustomTileLoader instead of LatLngBounds comparisons for tiles.
* [core] Support wrapped bounds in LatLngBounds::contains and ↵Asheem Mamoowala2017-12-071-15/+74
| | | | LatLngBounds::intersect.
* [core, ios, macos] Implement unique_any and remove linb::anyAsheem Mamoowala2017-11-222-10/+275
|
* [core] Fix build on Android + GCC and Android + armeabiThiago Marcos P. Santos2017-11-121-0/+8
| | | | Sadly we don't have bots for these two setups.
* Implement Expressions (#9439)Anand Thakker2017-11-083-0/+40
| | | Ports https://github.com/mapbox/mapbox-gl-js/pull/4777 (and its several follow-ups)
* [gcc4.9] Keep compatibility with GCC + AndroidThiago Marcos P. Santos2017-10-311-2/+2
| | | | Needed by Qt builds on Android.
* [core] Add LatLngBounds::contains(const LatLngBounds&)Asheem Mamoowala2017-10-301-0/+7
|
* Replace compile-time polymorphism with runtime polymorphism in the ↵John Firebaugh2017-10-231-0/+1
| | | | conversion system
* [core] Add `cameraForLatLngs()` method with modified bearingAsheem Mamoowala2017-10-091-0/+6
|
* [core] Clear atlasImage rect for a removed patternBruno de Oliveira Abinader2017-09-131-0/+26
|
* Fast tileCount with help from @mapbox/sphericalmercator moduleAsheem Mamoowala2017-09-081-4/+18
|
* [core] Remove debug::renderTreeLauren Budorick2017-09-071-1/+0
|
* [core] enable Thread destruction from arbitrary threadsIvo van Dongen2017-08-301-2/+0
|
* [core] make thread.hpp publicIvo van Dongen2017-08-301-0/+163
|
* Set Default MaxZoom to 22Asheem Mamoowala2017-08-212-1/+3
|