Commit Graph

12521 Commits

Author SHA1 Message Date
tobrun
bc7bed642e [android] - update changelog for release v6.1.0 2018-05-07 11:46:27 +02:00
tobrun
83b6c4405a [android] - update changelog for v5.5.3 2018-05-07 11:46:27 +02:00
John Firebaugh
e423ef5609 [linux] Don't compile linux mbgl-loop-uv against node headers
Previously, `target_include_directories(mbgl-loop-uv PUBLIC ${NODEJS_INCLUDE_DIRS})` always applied. Compiles were working by accident because node is always installed in CI. Instead, split and inline loop-uv.cmake contents: linux uses `target_add_mason_package(mbgl-loop-uv PUBLIC libuv)`, node uses `target_include_directories(mbgl-loop-node PUBLIC ${NODEJS_INCLUDE_DIRS})`.
2018-05-04 07:19:36 -07:00
Chris Loer
27b21363e6 [core] Only run placement for first layer per SymbolBucket
Native version of mapbox/mapbox-gl-js#6548.
Port of mapbox/mapbox-gl-js#6550.
Prevents symbols that share the same layout properties from colliding against each other.

Bump GL JS pin to get regression test.
Rename "bucketName" -> "bucketLeaderID" to make it clearer what it represents.
2018-05-03 14:17:25 -07:00
John Firebaugh
60ac08afae Fixup 2018-05-02 13:44:38 -07:00
John Firebaugh
1c22374eac [ios, macos] Avoid implicit capture of MBGLOfflineRegionObserver this pointer
MBGLOfflineRegionObserver is owned by the offline database thread, and might be destroyed by the time the dispatch_async completes. Instead of implicitly capturing this, capture a copy of the MBGLOfflinePack weak pointer.
2018-05-02 13:44:38 -07:00
Nick Italiano
7125ad9955 [docs] Updated link for react native npm package (#11819)
The link was pointing to the old version of our sdk before we moved it under the Mapbox namespace. This updates the link to point to the correct package under the Mapbox namespace.
2018-05-02 15:51:37 -04:00
Dane Springmeyer
29214902b5 Fix CXX11ABI builds with clang++
The intention of the `WITH_CXX11ABI` option is to allow the user to control toggle whether to compile against the CXX11ABI in libstdc++  (and whether to download a few specific CXX11ABI compatible mason packages as well).

This option is important if you are building binaries (like the node binaries) and you want to support a platform that is older and does not have a recent enough libstdc++ to support the CXX11ABI (like ubuntu:precise, centos6, etc).

But this was broken for clang++ builds due to the use of `MAKE_COMPILER_IS_GNUCXX`. That was preventing the correct flags from being set when using clang++ effectively making the option useless and resulting in the build defaulting to whatever the libstdc++-dev headers default is on the system (which varies per linux distribution based on how libstdc++-dev is packaged).

This fixes the problem by ensuring that clang++ builds still support toggling control over this option.

Note: clang++ > 3.9 supports targeting both the new CXX11ABI in libstdc++ (with `-D_GLIBCXX_USE_CXX11_ABI=1`) and targeting the old one (with `-D_GLIBCXX_USE_CXX11_ABI=0`).
2018-05-02 10:28:40 -07:00
tobrun
ba9b49cb99 [android] - fix expression example that changes icon images dynamically 2018-05-02 15:03:46 +02:00
Łukasz Paczos
9522674c42 [android] - null check source before removing 2018-05-02 12:24:28 +02:00
Łukasz Paczos
8bf1ff1b36 [android] - unwrap LatLngBounds before creating core object 2018-05-02 12:23:37 +02:00
Łukasz Paczos
fa700cc108 Revert "[android] - unwrap LatLngBounds for the shortest path when passing to core (#11759)"
This reverts commit eb39c80
2018-05-02 12:23:37 +02:00
Łukasz Paczos
cf4b4e728c [android] - checking is renderer is not destroyed before delivering the snapshot 2018-05-02 12:20:45 +02:00
Chris Loer
a6d70c2db7 [core] Don't copy TileLayerIndexes on every frame.
Fixes issue #11811 (too much CPU time spent in CrossTileSymbolIndex).
2018-05-01 15:25:26 -07:00
Chris Loer
b820ca4686 [core] Remove unused 'Throttler' class.
Throttler was previously used to control how frequently background placement ran.
2018-04-30 17:08:09 -07:00
John Firebaugh
9a4b806fa8 [docs] Make per-platform installation docs self-contained
I've seen several issues where users followed platform-specific install docs, but were unaware of additional prerequisites spelled out in the top-level INSTALL.md. So let's try making each platform's installation documentation self contained.
2018-04-30 13:10:31 -07:00
Chris Loer
65a4ee2373 [core] Port is-supported-script to native.
Native port is much simpler because RTL text support is always enabled.
2018-04-27 16:05:14 -07:00
Jason Wray
c067865e7b [ios, macos] Update minimum deployment versions to iOS 9, macOS 10.11 (#11776)
* [ios] Remove iOS 8 conditionals

* [ios, macos] Bump pod deployment targets

* [ios, macos] Add changelog entries

* [ios, macos] Update docs

* Remove unnecessary selector-based version checks

* Update SQLite note

* [ios, macos] Replace lightweight generics macros with direct use
   Lightweight generics for Foundation collections are available everywhere with the bump to iOS 9 and macOS 10.11.

* Update deprecated macOS method
2018-04-27 12:25:49 -04:00
Chris Loer
1a39d7db48 [core] Remove circle-pitch-scale test ignores. 2018-04-26 18:03:17 -04:00
Ansis Brammanis
0ca53ea5a8 [core] only index features within tile boundaries
Previously we relied on tile buffers for querying features who's
rendered representations cross tile boundaries. Now we query multiple
tiles making it unnecessary to index features that are completely
outside a tile's boundaries.
2018-04-26 18:03:17 -04:00
Chris Loer
f86fe44dbd [core] fix circle querying for scale and alignment
This fixes circle querying for cases where either
    circle-pitch-alignment=map
or
    circle-pitch-scaling=viewport
2018-04-26 18:03:17 -04:00
Chris Loer
f7d20a5871 [core] fix querying circles across tile boundaries 2018-04-26 18:03:17 -04:00
Thiago Marcos P. Santos
0767bf0686 [qt] Only share a FileSource if it points to the same path
Previously all QMapboxGL objects were sharing the same cache created
by the first instantiated object. Now it will share the cache only
if it points to the same path.

Fixes #11766
2018-04-26 11:07:48 -07:00
Thiago Marcos P. Santos
0eb58278f2 [qt] Fix crash on the example app when launching multiple windows
We need to have a valid context when destroying QMapboxGL.
2018-04-26 11:07:48 -07:00
Asheem Mamoowala
4344812ef5 [core] Streaming TileCover for polygonal regions (#11267)
A per-tile streaming algorithm for tile cover on points, lines, and polygons. Works for individual zoom levels, and not zoom ranges.
2018-04-26 07:43:38 -07:00
Chris Loer
c04cf57a74 Review changes:
- assert symbol layer tiles must be geometry tiles, instead of dynamically checking
- re-use retainedBucketQuery iterator instead of calling find twice.
2018-04-25 14:39:03 -07:00
Chris Loer
60cce56d46 Bump GL JS pin to get tests for global symbol querying.
- Pulls over an update to line.vertex.glsl (looks like a no-op?)
 - Add test ignores for collator, is-supported-script, line-gradient
 - Exclude collator, is-supported-script, line-gradient from code generation.
2018-04-25 14:39:03 -07:00
Chris Loer
a62745edf9 Port global symbol query from GL JS:
- Symbol querying is now global instead of per-tile
 - Symbols that bleed over tile boundaries no longer missed in queries
 - Symbol results now sorted based on rendering order (ie overlapping symbols change their sort order when a bearing change causes their render order to change)
 - Placement::retainedQueryData now responsible for maintaining symbol querying data for buckets that may no longer be in the TilePyramid.
2018-04-25 14:39:03 -07:00
Łukasz Paczos
eb39c80604 [android] - unwrap LatLngBounds for the shortest path when passing to core (#11759) 2018-04-24 11:31:29 +02:00
Fabian Guerra
c5625f988a [ios, android] Resolve merge conflicts. 2018-04-23 17:59:17 -04:00
Fabian Guerra
e08b6fe87f Merge branch 'release-boba' into master
# Conflicts:
#	circle.yml
#	include/mbgl/style/expression/let.hpp
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
#	platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
#	platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml
#	platform/android/gradle/dependencies.gradle
#	platform/android/src/example_custom_layer.cpp
#	platform/android/src/geojson/point.cpp
#	platform/darwin/src/NSPredicate+MGLAdditions.mm
#	platform/darwin/test/MGLExpressionTests.mm
#	platform/ios/Mapbox-iOS-SDK-nightly-dynamic.podspec
#	platform/ios/Mapbox-iOS-SDK-symbols.podspec
#	platform/ios/Mapbox-iOS-SDK.podspec
#	platform/ios/app/MBXViewController.m
#	src/mbgl/renderer/layers/render_custom_layer.cpp
#	src/mbgl/style/conversion/filter.cpp
#	src/mbgl/style/expression/interpolate.cpp
#	src/mbgl/style/expression/value.cpp
#	test/style/filter.test.cpp
2018-04-23 10:44:02 -04:00
Fabian Guerra Soto
a45670cfb5 [ios, macos] Rename featureProperties to featureAttributes. (#11748)
* [ios, macos] Rename featureProperties to featureAttributes.

* [ios, macos] Update style documentation.

* [ios, macos] Remove featureProperties variable tests.

* [ios, macos] Update the changelogs.
2018-04-23 09:05:36 -04:00
Minh Nguyễn
991264ae65 ios-v4.0.0, macos-v0.7.0 2018-04-19 20:02:03 -07:00
Minh Nguyễn
6449818e76 [macos] Replaced screenshot 2018-04-19 20:02:03 -07:00
Minh Nguyễn
8a8709d2c7 [ios, macos] Revamp predicate and expression guide (#11741)
* [ios, macos] Fact-checked expression guide

Corrected various factual inaccuracies in the “Predicates and Expressions” guide. Moved some explanation from the predicates section to the expressions section. Added sections for all the other expression types we support.

* [ios, macos] Reorganized custom function documentation

Reorganized the custom function documentation as a series of sections with headers and definition lists instead of a monolithic table. Copyedited various sections for accuracy. Linked references to custom functions. Added format string examples for all custom functions.

* [ios, macos] Made h3 more visible

* [ios, macos] Added Objective-C example of placeholders

* [ios, macos] Documented trig functions

* [ios, macos] Also increase h3 code size

* [ios, macos] Replaced Markdown with HTML in definition

* [ios, macos] Replaced Markdown with HTML in custom function documentation

* [ios, macos] Clarified stops

* [ios, macos] Cross-referenced functions

Each custom function definition cross-references the corresponding aftermarket function (or vice versa), the corresponding style specification expression operator, and any related NSExpression syntax.

* [ios, macos] Fixed links in predicate guide

* [ios, macos] Consolidated and documented NSExpression categories

Consolidated the NSExpression categories into a single category, with marks to separate different tasks. Documented the MGLAdditions category so that it shows up in the jazzy documentation.

* [ios, macos] Fixed NSExpression private category mixup
2018-04-19 18:45:24 -07:00
Jordan Kiley
f81f770741 [ios, macos] Update Style Functions guide (#11724) 2018-04-19 18:43:04 -07:00
Dane Springmeyer
de8fd3f97b allow disabling -Werror (#11589) 2018-04-19 17:36:19 -04:00
Julian Rex
2e22593962 [ios] Mark -presentCalloutFromRect:inView:constrainedToView:animated: unavailable (#11738) 2018-04-19 15:47:58 -04:00
Chris Loer
b414c607c3 Don't crash on placing symbols with 0 renderable glyphs
Fixes issue #11729. Close relative of issue #10956.
It is possible for us to receive Glyphs from the server that are valid, but have an invalid bitmap. In that case, the glyphs will be present in the `GlyphMap` used for shaping, but not present in the `GlyphPositions` used in `getGlyphQuads`. `SymbolInstance::hasText` looked at the shaping instead of the actual quads.
`symbol_projection.cpp` should never try to project a label without any quads, but we'll also try to make it so that it doesn't crash if it does.
2018-04-19 10:47:51 -07:00
Łukasz Paczos
29e23cf08b [android] - updated changelog for 6.0.1 (#11714)
(cherry picked from commit 0256f15)
2018-04-18 10:29:23 +02:00
Łukasz Paczos
2bb785dad2 [android] - updated changelog for 6.0.1 (#11715)
(cherry picked from commit 0256f15)
2018-04-18 10:29:08 +02:00
Jason Wray
72473cf6f6 [ios] Mark unused parameter of -[MGLMapView reloadStyle:] as nullable 2018-04-17 19:22:26 -04:00
Jason Wray
7c63b4addc [ios] Provide MGLStyle.localizesLabels unavailability notice 2018-04-17 19:22:26 -04:00
Fabian Guerra Soto
a6c02adeb6 [ios, macos] Add trigonometric support to NSExpression. (#11716)
* [ios, macos] Add acos NSExpresssion operator.

* [ios, macos] Add asin NSExpresssion operator.

* [ios, macos] Add atan NSExpresssion operator.

* [ios, macos] Add cosine NSExpresssion operator.

* [ios, macos] Add sine NSExpresssion operator.

* [ios, macos] Add tangent NSExpresssion operator.

* [ios, macos] Add log2 NSExpresssion operator.

* [ios, macos] Update style authors documentation.
2018-04-17 18:23:35 -04:00
Łukasz Paczos
4c1ed22efa [android] - bumped telemetry version to 3.0.2 (#11710) 2018-04-17 18:22:43 +02:00
Tobrun
2eeebe5c38 [android] - changelog entry for v6.0.0 2018-04-17 11:58:16 +02:00
Tobrun
860cbad55d [android] - bump snapshot version 2018-04-17 11:57:50 +02:00
Tobrun
7c1d79fb95 [android] - changelog entry for v6.0.0 2018-04-17 10:31:25 +02:00
Łukasz Paczos
2fd48fdfa0 [android] - match expression doc tweaks (#11691) 2018-04-17 09:49:38 +02:00
Tobrun
7397a3e90c [android] - bump telemetry depdency to 3.0.1 2018-04-17 09:32:59 +02:00