Commit Graph

483 Commits

Author SHA1 Message Date
Chris Loer
4fcf1853b0 [ios,macos] Revert ideographic->ideograph name change.
Original GL JS name was meant to represent "font family to use for locally generating ideographs", but "ideographic font family" communicates a similar intent more concisely.
2017-12-11 10:43:00 -08:00
Chris Loer
6dbb9eb22a [ios,macos] Update docs to use Apple-friendly "PingFang" font example. 2017-12-11 10:43:00 -08:00
Andrew Kitchen
4418edbfcd [darwin, macos] Rename Info.plist key for consistency
Also removes related dead code in macos MGLMapView.mm
2017-12-11 10:43:00 -08:00
Chris Loer
155804be4d [ios,macos] Remove dead/non-functioning font-weight and glyph metric code.
Add local font family to default iosapp configuration.
2017-12-11 10:43:00 -08:00
Andrew Kitchen
b2f06677a7 [darwin, ios, macos] Introduces an MGLRendererConfiguration class
Instructions for enabling client-side rendering of CJK glyphs live in
this header, and this class provides the rest of the values needed for
instantiating the renderer on iOS and macOS.
2017-12-11 10:43:00 -08:00
Chris Loer
cb380064bb [ios,macos] Darwin implementation of a CoreText-based LocalGlyphRasterizer.
- Changing font weight does not currently appear to be working.
 - Glyph metric extraction code not working; currently unused.
2017-12-11 10:43:00 -08:00
Jason Wray
627587694d [ios, macos] Append SDK version parameter to feedback URL 2017-12-07 19:01:04 -05:00
Jordan Kiley
8f3cc3dbc4 [ios, macos] Rename the iOS and macOS SDKs (#10610) 2017-12-04 16:40:14 -08:00
Konstantin Käfer
2eec5a1980 [core] move HeadlessBackend extension initialization code into Impl 2017-11-29 15:48:51 +01:00
Konstantin Käfer
335f04f7e1 [core] fold HeadlessDisplay into the headless RenderBackend implementation 2017-11-29 15:48:51 +01:00
Andrew Kitchen
c178bd2d25 [darwin] Fixes CGImageRef leak when creating a map snapshot (#10585) 2017-11-28 14:51:30 -08:00
Andrew Kitchen
09b97e037c [darwin] Adjusts initializer body to avoid premature ivar usage (#10582) 2017-11-28 13:43:45 -08:00
Andrew Kitchen
a2817ff5ed [darwin, macos, ios] Renames CGImage creation function to imply +1 retain count (#10570) 2017-11-27 16:47:58 -08:00
Chris Loer
5da5ba7706 [core, ios, qt, android] Close race condition in RunLoop (issue #9620)
Because a message we queue from the foreground may cause the background to complete, exit, and tear down the AsyncTask, we have to block queue processing until we've finished our call to AsyncTask::send().
Broadening the scope of a mutex is scary, but I audited the code of our four implementations of AsyncTask and I don't see any way this could cause a deadlock.
2017-11-27 14:42:44 -08:00
Asheem Mamoowala
3067b77c65 [core, ios, macos] Implement unique_any and remove linb::any 2017-11-22 13:56:38 -08:00
Asheem Mamoowala
246417ef24 [ios, macos] Implement MGLComputedShapeSource binding for CustomGeometrySource 2017-11-22 13:56:38 -08:00
Jesse Crocker
b2925e71ac [darwin] Abstract ShapeSource interface 2017-11-22 13:56:38 -08:00
Tobrun
225fba8a0a Merge branch 'release-agua' into tvn-merge-release 2017-11-10 06:16:35 +01:00
Fabian Guerra
a936fd6f8a [ios, macos] Cleanup duplicated snapshotter frame code. 2017-11-08 16:40:50 -05:00
Fabian Guerra
93e363bd8c [ios, macos] Add attribution to snapshots. 2017-11-07 17:56:09 -05:00
Jordan Kiley
d29ebe3d3f [ios, macos] noted how to update shape source (#10383) 2017-11-03 18:29:03 -07:00
Minh Nguyễn
2955fb594c Make places and roads accessible to VoiceOver (#9950)
* [ios] Summarize places, roads after zooming with VoiceOver

After zooming, MGLMapView’s accessibility value now indicates the number of visible roads and lists out a few places visible in the current viewport, starting with the features at the highest z-index (not necessarily the largest or the closest to the center of the view). Avoid saying that no annotations are visible.

* [ios] Allow VoiceOver to navigate among place features

Split out a separate header for the various accessibility elements tied to MGLMapView. Wrap place features in accessibility elements and insert them into the narration order after the visible annotations but before the attribution button. Refactored MGLMapView’s accessibility code to rely on ranges to avoid off-by-one errors.

* [ios] Post layout change notification when fully rendered

Post a layout change notification when fully finishing a map render.

* [ios, macos] Moved MGLVectorSource+MGLAdditions to more specific group

* [ios] Localize accessibility feature names

* [ios] Find place feature accessibility elements by identifier

* [ios] Refactored accessibility traits

Also created a new MGLPlaceFeatureAccessibilityElement class.

* [ios] Sort accessibility elements by screen distance from center

Sort annotation accessibility elements by screen distance, not the hypotenuse of coordinates, which can yield incorrect results when the map is rotated or tilted or when the user is located at high latitudes. Sort place feature accessibility elements by screen distance as well.

* [ios] Create a place feature accessibility element, not an abstract feature accessibility element

* [ios] Only query for visible place features once per camera

Improved accessibility performance after changing the map camera. MGLMapView no longer queries the map for place features once per place feature.

* [ios] Made roads accessible

Wrap visible road features in accessibility elements described by the road name, route number, and general direction of travel.

* [ios] Cleaned up radian conversions

* [ios] Thickened road accessibility elements

* [ios] Made unioned roads accessible

* [ios] Consistently sort accessibility elements

Also fixed an issue causing road feature accessibility elements to get treated like place feature accessibility elements.

* [ios] Announce direction of divided roads

Announce the direction of a divided road based on the direction of its first polyline.

* [ios] Refined announced elevation units

* [ios] Romanize feature names

* [ios] Updated changelog

* [ios] Delay zoom announcement

A 100-millisecond delay is enough for the post-zooming announcement to reflect the new zoom level rather than the previous zoom level.

* [ios] Consolidated geometry functions

Adopted MGLGeometry_Private.h in the accessibility code, forcing a conversion to Objective-C++. Avoid inlining some of the more complex geometric functions.

* [ios] Fixed feature name romanization in accessibility labels

NSLocale.scriptCode is only set when the locale identifier explicitly specifies a script. Use NSOrthography to identify the dominant orthography regardless of locale.

Also added a unit test of feature accessibility element labels.

* [ios] Added tests for place, road accessibility values

* [ios] Announce one-way roads

A road feature’s accessibility value now indicates whether the road is a one-way road.
2017-11-03 12:17:45 -07:00
Ivo van Dongen
74b51f90b2 [darwin] MGLMapSnapshot - add missing EXPORT 2017-11-01 09:23:53 -04:00
Fabian Guerra
026cb6f49b [ios, macos] Fix MGLMapSnapshotter documentation typo. 2017-11-01 09:23:53 -04:00
Ivo van Dongen
74662831f6 [darwin] map snapshotter - expose attributions 2017-11-01 09:23:53 -04:00
Ivo van Dongen
de9098cf99 [darwin][ios][macos] map snapshotter - add MGLMapSnapshot wrapper 2017-11-01 09:23:53 -04:00
Ivo van Dongen
e9568ccda7 [darwin] map snapshotter - snapshotter mutability 2017-11-01 09:23:53 -04:00
Ivo van Dongen
a42455c56a [darwin] MGLMapSnapshot - add missing EXPORT 2017-11-01 10:46:23 +02:00
Ivo van Dongen
2d81186fc1 [darwin] map snapshotter - expose attributions 2017-10-31 19:52:08 +02:00
Ivo van Dongen
3cdb249c70 [darwin][ios][macos] map snapshotter - add MGLMapSnapshot wrapper 2017-10-31 19:52:08 +02:00
Ivo van Dongen
334dde0d76 [darwin] map snapshotter - snapshotter mutability 2017-10-31 19:52:08 +02:00
John Firebaugh
4b2e1cddb4 Replace compile-time polymorphism with runtime polymorphism in the conversion system 2017-10-23 09:56:43 -07:00
Jason Wray
cabf5d2970 [ios] Avoid drawing view annotations across pixel boundaries 2017-10-19 11:03:15 -04:00
Minh Nguyễn
10978329f9 [ios, macos] Fixed symbol export warning
Fixed a warning issued by check-public-symbols.js in MGLMapSnapshotOptions due to the MGL_EXPORT keyword appearing before the documentation comment. Also copyedited a couple comments in the same header.
2017-10-16 15:19:49 -07:00
Jordan Kiley
a5a495a900 [ios, macos] Added layer to the code snippet (#10149) 2017-10-06 11:40:22 -07:00
Fredrik Karlsson
4bb25e8bc1 [macos] Scale down snapshot images (#10105) 2017-10-04 14:15:30 -04:00
Fabian Guerra Soto
f01588cac7 [ios, macos] Improve snap shotter documentation. (#10020)
* [ios, macos] Improve snap shotter documentation.

* [macos] Save snapshots in correct format

* [macos] Renamed snapshot item to Export Image

* [ios, macos] Clarify Snapshotter documentation.

* [ios] Fix snapshot scale

* [macOS] Fix snapshotter 4x scaling.

* [ios] Fix snapshotter final image scale.

* [ios, macos] Update snapshotter size documentation.

* [ios, macos] Throw an exception when the snapshotter has already started.

* [ios, macos] Add snapshotter header example.

* [ios, macos] Use one of the predefined Foundation's exception names.
2017-10-04 10:03:03 -04:00
Fredrik Karlsson
42b4818f16 [ios] check at compile time 2017-10-03 13:28:22 +02:00
Minh Nguyễn
d4992ab0b0 [ios] Title case based on current orthography 2017-10-03 13:28:22 +02:00
Fabian Guerra
6d1fdf2ca3 Merge branch 'release-ios-v3.6.0-android-v5.1.0' into master.
# Conflicts:
#	circle.yml
#	platform/android/CHANGELOG.md
#	platform/android/MapboxGLAndroidSDK/gradle.properties
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
#	platform/android/dependencies.gradle
#	platform/default/mbgl/storage/offline_database.cpp
#	platform/ios/CHANGELOG.md
#	platform/ios/Mapbox-iOS-SDK-nightly-dynamic.podspec
#	platform/ios/Mapbox-iOS-SDK-symbols.podspec
#	platform/ios/Mapbox-iOS-SDK.podspec
#	platform/ios/app/Main.storyboard
#	platform/ios/src/MGLMapView.mm
#	src/mbgl/programs/attributes.hpp
#	src/mbgl/renderer/painter_fill.cpp
#	src/mbgl/tile/geometry_tile.hpp
#	src/mbgl/tile/geometry_tile_worker.cpp
#	src/mbgl/tile/raster_tile.cpp
#	src/mbgl/tile/raster_tile.hpp
#	src/mbgl/tile/raster_tile_worker.cpp
#	test/tile/annotation_tile.test.cpp
#	test/tile/geojson_tile.test.cpp
#	test/tile/raster_tile.test.cpp
#	test/tile/vector_tile.test.cpp
2017-09-27 12:08:24 -04:00
Fabian Guerra Soto
b2e33a452d [ios, macos] Deprecate trafficDayStyleURL and trafficNightStyleURL (#9918)
* [ios, macos] Deprecate trafficDayStyleURL and trafficNightStyleURL

* [ios, macos] Update changelogs.

* [ios, macos] Update trafficDayStyleURL and trafficNightStyleURL tests in MGLStyleTests.
2017-09-15 17:00:54 -04:00
Ivo van Dongen
07343a34c5 [darwin] snapshotter 2017-09-05 16:29:33 +03:00
Asheem Mamoowala
69b52367d3 [core][ios][macos][android]DDS-ify text-letter-spacing and text-max-width 2017-08-30 10:59:08 -07:00
Fabian Guerra
a51ae29000 Merge branch release tag ios-v3.6.2 2017-08-29 11:24:42 -04:00
Lauren Budorick
2de89a99bc Implement icon-anchor property 2017-08-28 13:32:56 -07:00
Fabian Guerra
acfe485302 Merge tag 'ios-v3.6.2' into master
# Conflicts:
#	cmake/core-files.cmake
#	include/mbgl/renderer/renderer_backend.hpp
#	platform/android/CHANGELOG.md
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AnnotationManager.java
#	platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/IconManager.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/dependencies.gradle
#	platform/darwin/src/MGLStyle.mm
#	platform/ios/CHANGELOG.md
#	platform/ios/app/Info.plist
#	platform/ios/app/MBXViewController.m
#	platform/ios/ios.xcodeproj/project.pbxproj
#	platform/macos/CHANGELOG.md
#	src/mbgl/gl/attribute.cpp
#	src/mbgl/gl/attribute.hpp
#	src/mbgl/gl/context.hpp
#	src/mbgl/gl/types.hpp
#	src/mbgl/gl/value.cpp
#	src/mbgl/gl/value.hpp
#	src/mbgl/map/backend_scope.cpp
#	src/mbgl/programs/attributes.hpp
#	src/mbgl/programs/program.hpp
#	src/mbgl/programs/segment.cpp
#	src/mbgl/programs/segment.hpp
#	src/mbgl/programs/symbol_program.hpp
#	src/mbgl/programs/uniforms.hpp
#	src/mbgl/renderer/buckets/symbol_bucket.hpp
#	src/mbgl/renderer/painter.cpp
#	src/mbgl/renderer/painter.hpp
#	src/mbgl/renderer/painter_background.cpp
#	src/mbgl/renderer/painter_circle.cpp
#	src/mbgl/renderer/painter_clipping.cpp
#	src/mbgl/renderer/painter_debug.cpp
#	src/mbgl/renderer/painter_fill.cpp
#	src/mbgl/renderer/painter_fill_extrusion.cpp
#	src/mbgl/renderer/painter_line.cpp
#	src/mbgl/renderer/painter_raster.cpp
#	src/mbgl/renderer/painter_symbol.cpp
#	src/mbgl/shaders/line.cpp
#	src/mbgl/shaders/line_pattern.cpp
#	test/renderer/backend_scope.test.cpp
2017-08-28 12:43:29 -04:00
Jason Wray
b5b84ef52d [ios] Warn about using MGLFeature-conforming annotations w/querying 2017-08-18 13:24:56 -04:00
Jason Wray
cd36ec00bc [ios] Add debug descriptions to shapes and features 2017-08-18 12:26:25 -04:00
Fabian Guerra Soto
c7d7319c77 [ios, macos] Fix querying features returning nil when features available. (#9784)
* [ios, macos] Fix querying features returning nil when features available.

* [ios, macos] Copyedited changelogs

Also, macOS SDK v0.5.1 has yet to be released, because none of the changes that went into iOS SDK v3.6.1 were relevant to macOS.
2017-08-17 19:19:06 -04:00
Nadia Barbosa
5d641f4d68 [ios] Add test for code snippet added to MGLPolyline doc change 2017-08-09 10:12:16 -04:00