summaryrefslogtreecommitdiff
path: root/platform/default
Commit message (Collapse)AuthorAgeFilesLines
* [core] layermanager folderMikhail Pozdnyakov2018-11-301-11/+11
| | | | Move `LayerManager` and `LayerFactory` abstract classes to a dedicated folder.
* [core] LayerManager can disable annotationsMikhail Pozdnyakov2018-11-281-0/+2
| | | | | | | | | | | | | At the moment, the annotations implementation in the `mapbox-gl-native` core is creating concrete layer instances apart from `LayerManager/LayerFactory` code path. So, annotations must be disabled if the `LayerManager` implementation does not provide line, fill or symbol layers (those, used by the annotations). Note: in future, annotations implementation will be moved from the core to the platform SDK level(see https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation) and `LayerManager` won't need to disable it.
* [core][Android][Darwin] LayerManager creates RenderLayer instancesMikhail Pozdnyakov2018-11-271-32/+30
| | | | | | | | `LayerManager` is now responsible for `RenderLayer` instances creation, so that there is a single entry point for creating of objects, which correspond to a certain layer type. The `LayerType type` field is dropped from `Layer::Impl`.
* [core] Expose "local ideograph font family" in MapSnapshotter.Chris Loer2018-11-242-6/+10
|
* [core] define number of concurrent downloads in online file source variableHuyen Chau Nguyen2018-11-154-25/+25
|
* [core][android] Introduce mbgl::style::LayerTypeInfoMikhail Pozdnyakov2018-11-151-16/+30
| | | | | | | | | The `LayerTypeInfo` contains static meta data about certain layer type. Each layer module should have a single immutable `LayerTypeInfo` instance for the represented layer type. Both `LayerImpl` and `LayerFactory` from the module always refer to the same `LayerTypeInfo` instance, so address of this instance can be used as a layer module Id during the process life time.
* [core] Add RendererState::{pixelForLatLng,latLngForPixel}Bruno de Oliveira Abinader2018-11-142-0/+18
|
* noexcept specifier for layer factory methodsMikhail Pozdnyakov2018-11-071-3/+6
|
* Refer corresponding LayerFactory instance from the Layer::ImplMikhail Pozdnyakov2018-11-071-0/+61
|
* [build] Remove #pragma diagnostic for boostThiago Marcos P. Santos2018-11-012-12/+0
| | | | | Boost is now included as a system header and the compiler should ignore it when issuing warnings.
* [build] GCC 7+ complains about -Wimplicit-fallthrough in utf.cppBruno de Oliveira Abinader2018-10-251-0/+9
|
* [core] Added RendererState::has{Image,Layer,Source}Bruno de Oliveira Abinader2018-10-252-0/+28
|
* [core] add tests for handling requests with different prioritiesHuyen Chau Nguyen2018-10-231-13/+20
| | | | | | - ensure that low priority requests are handled last - add option to set the number of maximum concurrent requests for tests - some style fixups
* [core] add logic of high and low priority requests to OnlineFileSourceHuyen Chau Nguyen2018-10-231-22/+85
| | | | | - only process low priority requests (=offline requests) if there are no outstanding regular requests - favour regular requests over low priority ones
* [core] add priorities to resourcesHuyen Chau Nguyen2018-10-231-3/+6
| | | | | - priorities can be low or regular - offline downloads should have low priority to not throttle "regular requests"
* [core] unify UTF-8/16 conversion to <boost/locale/encoding_utf.hpp>Konstantin Käfer2018-10-233-34/+24
|
* [core] Introduce mbgl::RendererStateBruno de Oliveira Abinader2018-10-191-0/+1
|
* [core] Add TransformState::getCameraOptions()Bruno de Oliveira Abinader2018-10-192-0/+10
|
* [core] Promote DefaultFileSource::put to general use.Chris Loer2018-10-171-4/+4
|
* [core, test] Add BiDi unit testChris Loer2018-10-151-2/+7
| | | | | | - Port of arabic.test.js from mapbox-gl-rtl-text - Modify BiDi::getLine to remove trailing nulls in the event UBIDI_REMOVE_BIDI_CONTROLS causes the string to shorten. - Patch vendored ICU to avoid undefined undefined bit shifting behavior (triggered sanitizer failure)
* [core] Bidi support for styled text.Chris Loer2018-10-151-0/+102
| | | | Remove use of QString from non-ICU Qt stub bidi implementation since we weren't making use of it.
* [android] explicitly set temp directory for SQLite3Konstantin Käfer2018-09-262-0/+6
|
* [core] Always request 1x and @2x sprite images for portabilityKonstantin Käfer2018-09-241-4/+6
| | | | When creating a offline region, we've previously only requested the sprite image for the specified resolution. This lead to offline packs not being usable on devices that have a different pixel ratio. We're now requesting both 1x and 2x sprites. Some devices use even higher or fractional pixel ratios. However, we only ever use 1x and 2x sprite images in our requests.
* Use named function instead of lambda for SQlite3 log configAsheem Mamoowala2018-09-211-3/+8
|
* [ios, macos] Offline regions merge. (#12791)Fabian Guerra Soto2018-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ios, macos] Add offline regions merge. * [ios, macos] Update changelogs. * [ios, macos] Fix refreshing the offline packs after new content is added. * [ios, macos] Update MGLOfflineStorage's add contents of file documentation. * [ios, macos] Add MGLOfflineStorage test cases for adding file contents. * [ios, macos] Add offline merge test database. * [ios, macos] Add packs parameter to MGLBatchedOfflinePackAdditionCompletionHandler. * [core] Fix a query mege duplication. * [ios, macos] Remove unnecessary pack iteration. * [ios, macos] Fix packs update KVO notifications. * [ios, macos] Add localization strings. * [core] Fix query readability. * [ios, macos] Fix MGLOfflineStorageTest, cleanup the cache database after the test. * [ios, macos] Fix offline packs, updating triggers a crash.
* [linux,qt] Remove remainder of WebP supportKonstantin Käfer2018-09-132-45/+0
|
* [core] add polyfill for codecvt for STLs that don't have it yetKonstantin Käfer2018-09-112-14/+32
|
* Enforce Offline tile limit when merging sideloaded databasesAsheem Mamoowala2018-08-281-6/+28
|
* Require minimum side-loaded database user_version=6Asheem Mamoowala2018-08-281-4/+6
|
* Add unit tests and fixtures for OfflineDatabase::mergeDatabaseAsheem Mamoowala2018-08-281-5/+5
|
* [core] Add DefaultFileSource::mergeRegions API and CLI support in the ↵Asheem Mamoowala2018-08-283-1/+68
| | | | mbgl-offline tool.
* SQL Statements to merge an attached database with name 'side' into the main ↵Asheem Mamoowala2018-08-283-0/+125
| | | | | | database. Co-authored-by: kkaefer <mail@kkaefer.com>
* [core] offline region definition - add support for arbitrary geometriesIvo van Dongen2018-08-202-69/+149
|
* [core] recreate offline database when it is deleted out from under our feetKonstantin Käfer2018-08-143-14/+22
|
* WIP: use expected<T, E> for passing on errorsKonstantin Käfer2018-08-143-60/+49
|
* [core] harden OfflineDatabaseKonstantin Käfer2018-08-145-152/+292
|
* [core] Fix out of range exception for string compareVladimir Kondrashov2018-08-142-2/+2
|
* [windows] Fix build on WindowsThiago Marcos P. Santos2018-08-141-0/+1
| | | | Include what you use.
* [core] make the offline DB schema a regular include fileKonstantin Käfer2018-07-163-25/+30
|
* [core] - add LatLng for screencoordinate to mapsnapshottertobrun2018-07-052-2/+13
|
* [core] Avoid blocking in Thread<Object> constructor (#12151)Anand Thakker2018-07-033-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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] Default "collator" implementationChris Loer2018-07-033-0/+135
| | | | | | - Based on nunicode - Not locale-aware - Used by linux and Qt builds
* [core, vendor] Create vendored nunicode 1.8.Chris Loer2018-07-031-4/+1
| | | | | - Version bump to 1.8 necessary for "unaccent" functionality - Qt now depends on nunicode, ruling out use of precompiled binaries
* [core] Fix GCC8's new -Wcatch-value warningsZsolt Bölöny2018-06-252-2/+2
| | | Polymorphic types shouldn't be caught by value, as the warning message says. Catch them by constant reference instead.
* [core] Measuring tiles requesting/parsing time using logging (#12152)Lloyd Sheng2018-06-211-0/+10
| | | | | | | | | | | | * 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] consolidate database opening workflowKonstantin Käfer2018-06-123-57/+65
| | | | | | | | Before this change, we've tried to open the database in read/write, but not create mode. In situations where the database didn't exist yet, this logged an error to the console, and we proceeded to opening it again in read/write/create mode, which actually created the file. The reason we did this is so that we could detect really old caching databases from January 2016 in case a developer upgraded from an older SDK (iOS v3.1 and earlier, Android v3.2 and earlier) that didn't have https://github.com/mapbox/mapbox-gl-native/pull/3715 yet. However, these error messages, while innocent, look scary in the console and some users suspect that it's a bug. This change opens the file directly in read/write/create mode, omitting the first failed attempt. To handle old cache databases, we're now deleting the `http_cache` table, which was the only table in those old databases, and create the new schema, rather than deleting the entire file and recreating the Database object. In most scenarios, this will lead to one fewer opening attempt, while the database migration will continue to work for the few users who upgrade all the way from a January 2016 SDK. Additionally, this fixes a mismatch between the Qt and non-Qt implementation: Qt doesn't support opening a file in read/write mode without the create flag. This means that we've seen a different control flow on Qt compared to the non-Qt implementation when opening a database.
* [core] remove unused flags from SQLite headerKonstantin Käfer2018-06-121-4/+0
|
* [core] support moving Database object during a TransactionKonstantin Käfer2018-06-122-11/+24
|
* [test] verify log messages of OfflineDatabase testsKonstantin Käfer2018-06-121-1/+1
|
* [core] send all SQLite log messages to the Info bucket and add error codesKonstantin Käfer2018-06-121-77/+1
|