Commit Graph

674 Commits

Author SHA1 Message Date
Fabian Guerra Soto
024e75bd56 [ios, macos] Fix memory leaks in MGLMapSnapshotter. (#11133) 2018-02-12 16:47:16 -05:00
Minh Nguyễn
101b55b0f0 [ios, macos] Added option to restrict tile source to bounds
Cherry-picked from c3bf7c55a1.
2018-02-08 12:39:30 -08:00
Fabian Guerra
0ebc2ee91f [ios, macos] Fix MGLMapSnapshotter pointForCoordinate returns an scaled point. 2018-01-25 10:06:54 -05:00
Fabian Guerra
cbb9002d4f [ios, macos] Update mode.hpp file path 2018-01-03 11:37:53 -06:00
Chris Loer
e8abb8c81a [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.
2018-01-03 11:37:53 -06:00
Chris Loer
b94929ca08 [ios,macos] Update docs to use Apple-friendly "PingFang" font example. 2018-01-03 11:37:53 -06:00
Chris Loer
45e59e4da8 [ios,macos] Remove dead/non-functioning font-weight and glyph metric code.
Add local font family to default iosapp configuration.
2018-01-03 11:37:53 -06:00
Andrew Kitchen
38bffda85a [darwin, macos] Rename Info.plist key for consistency
Also removes related dead code in macos MGLMapView.mm
2018-01-03 11:37:53 -06:00
Andrew Kitchen
314c51611c [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.
2018-01-03 11:37:53 -06:00
Chris Loer
0dc00ad877 [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.
2018-01-03 11:37:53 -06:00
Minh Nguyễn
3685cb3589 [ios, macos] Updated MGLImageSource example
Ran make darwin-update-examples to ensure that headers reflect the tested example code.
2017-12-21 12:02:20 -08:00
Minh Nguyễn
1b407e85e9 [ios, macos] Fixed MGLMapSnapshotter test crash
Fixed a crash in MGLDocumentationExampleTests caused by an asynchronous snapshot call that the test wasn’t waiting on, compounded by the use of a style that requires an access token (as opposed to the one-liner style that uses no remote resources. Employed some Swiftisms to fulfill expectations without making the example code look weird.
2017-12-21 12:02:20 -08:00
Asheem Mamoowala
6a9eec8ed5 Fix CustomLayer context retain count (#10765)
* [core] RenderCustomLayer should de-initialize old context

* [iOS, macOS] Use toll-free bridging to retain/release MGLOpenGLStyleLayer instead of a separate array.
2017-12-20 14:51:30 -08:00
Fabian Guerra
f644d188be [ios, macos] Remove duplicated variables between MGLMapSnapshotOptions and MGLMapSnapshotter 2017-12-20 09:01:15 -06:00
Minh Nguyễn
7f5dfb16bc Update iOS, macOS SDK translations (#10738)
* [ios, macos] Updated Bulgarian, Spanish, Vietnamese localizations

* [ios, macos] Added Arabic localization

* [ios, macos] Updated localizations
2017-12-20 02:26:05 -08:00
Minh Nguyễn
9c1dfe46cf [ios, macos] Cleaned up base localization files
Localizable strings in Darwin classes need to specify “Foundation” as the table so that NSBundle consults the right .strings files. Reran make genstrings to add some missing strings to the base localizations and undo some manual edits to the base localizations that contained errors.
2017-12-18 11:41:56 -08:00
Jordan Kiley
f89afa0b27 [ios, macos] Rename the iOS and macOS SDKs (#10610) 2017-12-06 10:13:17 -05:00
Chris Loer
966b6a53ce [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-12-06 12:37:48 +01:00
Fabian Guerra
784b71a81c [ios, macos] Refactor snapshot attribution. 2017-12-04 17:04:40 -05:00
Fabian Guerra
5eb050dc35 [ios, macos] Update the attribution format for small snapshots. 2017-11-17 16:40:12 -05:00
Jordan Kiley
a0cfac4c1a Update MGLMapSnapshotter docs (#10438) 2017-11-10 10:02:45 -08: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
Minh Nguyễn
72a6eb8b5c [android, ios, macos] Added Hungarian localization
Added a Hungarian localization to the Android SDK. Updated the iOS and macOS SDK Hungarian localization.
2017-10-27 22:23:02 -07:00
Minh Nguyễn
edf399f1b7 [android, ios, macos] Added Bulgarian localization 2017-10-27 22:23:02 -07:00
Minh Nguyễn
ec4e8899b7 [ios, macos] Updated Brazilian Portuguese localization 2017-10-27 22:23:02 -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
Jesse Bounds
c07e779bac [ios] Work around Swift -> ObjC dictionary bridge issues 2017-10-03 13:28:22 +02:00
Fredrik Karlsson
1d714e1f35 [ios] Various Xcode 9 fixes 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
Minh Nguyễn
453c13dee2 [android, ios, macos] Updated translations
Updated Catalan, Spanish, Swedish, Traditional Chinese, Ukrainian, and Vietnamese.
2017-09-22 10:05:40 -07: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
Minh Nguyễn
ef12dc0822 [android, ios, macos] Russian, Ukrainian, Hungarian and other localization updates (#9945)
* [android, ios, macos] Updated Russian localization

Added a Russian localization of the Android SDK. Updated the iOS and macOS Russian localizations.

* [android, ios, macos] Updated Ukrainian localization

Added a Ukrainian localization of the Android SDK. Updated the iOS and macOS Ukrainian localizations.

* [ios, macos] Updated Traditional Chinese localization

* [macos] Added Hungarian localization

* [android] corrected typos

* [ios, macos] Updated Ukrainian localization

* [android, ios, macos] Configured Foundation.stringsdict on Transifex

* [ios, macos] Pulled in Foundation.stringsdict from Transifex

Updated the German, Lithuanian, and Vietnamese localizations with Foundation.stringsdict files matching Transifex.
2017-09-12 23:53:28 -07: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