Commit Graph

505 Commits

Author SHA1 Message Date
Jesse Bounds
4e074aa4db [ios, macos] Alias MGLStyleConstantValue to MGLConstantStyleValue 2017-03-03 09:10:31 -08:00
Jesse Bounds
d25e2c772d [ios, macos] Rename MGLStyleConstantValue to MGLConstantStyleValue 2017-03-03 09:10:31 -08:00
Jesse Bounds
0027f5cdc2 [ios] Pause file source activity on background
This uses the pause/resume API on the default file source to pause
network and revalidation activity when the host iOS application goes
into the background. Activity is resumed when the host application goes
into the foreground.

The intention of this change is to avoid edge cases on some OSs where
resources (i.e. sqlite) are not available when the host app is not
visible to the user.
2017-03-01 08:25:44 -08:00
Anand Thakker
f901e776b3 [core] Implement data-driven styling for {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939)
* Add symbol dds attributes and adapt style code generation

* Update to mapbox-gl-js/master

* Refactor SymbolFeature as a subclass of GeometryTileFeature

Prepares for enabling DDS on symbol paint properties by allowing the
SymbolFeatures, which we keep around after constructing SymbolLayout,
to be used in evaluating data-driven paint properties later in the
layout process.

* Draft approach for splitting icon/text paint properties

The `Program` types are set up to bind GL attributes to each of the
data-driven paint properties specified in the `PaintProperties` type
provided.  Since `SymbolPaintProperties` specifies both `Text*` and
`Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph
programs each attempt to bind roughly double the number of attributes
that they actually need.

This change addresses this by:
- Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`.
- The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter.
- The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type.

* check in generated style code

* Populate paint buffers for symbol DDS properties

* Address first round of review comments

* Refactor VectorTile{Layer,Feature} to explicitly share data

* Update submodule
2017-02-28 19:54:24 -08:00
Jesse Bounds
7d9018093a [ios, macos] Make source removal consistent with layer removal
This refactors the source removal methods to make them consistent
with the way layers are removed. This makes removal of nonexistent
sources and removal of sources of a different type but same
identifier as a previously added source a no-ops.

As with layers, the check at the top of the method to ensure that the
raw pointer is the same as the one in mbgl for the same
identifier string should make it impossible to attempt to remove
a source of a different type than the one in mbgl for the same
identifier. However, for consistency with the layer implementation,
the reinterpret_cast has been replaced with a dynamic_cast and check
for nullptr.
2017-02-23 15:07:43 -08:00
Jesse Bounds
59820fb63d [ios, macos] Simplify implementation of layer removal from map view
This reverts a previous change that recreated the pending and raw
layer pointers if an identifier match caused a layer to be removed
but the removed layer was of a different type than the layer triggering
the removal

This refactors the pointer replacement to use a simpler solution that
returns early if the layer does not have a raw pointer loaded in the
mbgl map instance.
2017-02-23 15:07:43 -08:00
Jesse Bounds
c0718a863d [core, ios, macos] Return null when removing nonexistent source 2017-02-23 15:07:43 -08:00
Jesse Bounds
e860fa6f0a [ios, macos] Recreate pending and raw layer ref when layer is removed 2017-02-23 15:07:43 -08:00
Minh Nguyễn
2f388d6635 Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.2 2017-02-21 22:47:15 -08:00
Minh Nguyễn
b512af6a66 [ios, macos] Smarten apostrophes after backticks
jazzy is inconsistently converting straight apostrophes that immediately follow backticks into either &lsquo; or &rsquo; from one run to the next. Smarten the apostrophe to keep it stable.
2017-02-21 22:14:29 -08:00
Andrey Golovin
e67bc1a7ac [ios, macos] Fixed Ukrainian pluralization 2017-02-20 14:54:57 -08:00
Minh Nguyễn
de99ec3bd0 [ios, macos] Fixed Polish pluralization 2017-02-20 14:54:57 -08:00
Minh Nguyễn
adbcaceb85 [ios, macos] Fixed Russian pluralization 2017-02-20 14:54:57 -08:00
Minh Nguyễn
c8d8b82522 [ios, macos] Polish, Russian, Spanish, Ukrainian translations 2017-02-20 14:54:57 -08:00
Fabian Guerra Soto
657c9f92cb [ios, macos] fixed wyoming inverted coordinates (#8069) 2017-02-20 16:35:03 -05:00
Konstantin Käfer
f8ab327874 [macos,ios] add tests for MGLOfflineStorageDelegate 2017-02-20 14:36:27 +01:00
Konstantin Käfer
6c0310209d [macos,ios] expose callback for transforming URLs 2017-02-20 14:36:27 +01:00
Konstantin Käfer
03a14ff000 [darwin] move RunLoop initialization to static variable 2017-02-20 14:36:27 +01:00
Minh Nguyễn
8669f933fd [ios, macos] Convert NSColor/UIColor expressions to CSS color string values
When converting a constant NSExpression to an mbgl::Value, turn an NSColor or UIColor into an std::string containing a CSS color string. This allows developers to set an attribute of an MGLFeature to an NSColor or UIColor (rather than a CSS color string, which would be foreign), then use it in an MGLStyleFunction with identity interpolation.
2017-02-18 14:42:16 -08:00
Minh Nguyễn
d790132eda [ios, macos] Short-circuit redundant camera changes
Avoid canceling transitions (and triggering preexisting completion handlers) until we get a chance to ensure that a new transition really does have to begin. Consistently avoid mbgl transitions for redundant camera changes. Upon bailing, schedule the completion handler to run asynchronously on a delay equivalent to the requested animation duration.

Added a “functional” equality method to MGLMapCamera that avoids trivial differences.

Fixed invocations of XCTAssertEqualWithAccuracy() that incorrectly expressed the accuracy as a number of digits rather than a scalar tolerance.
2017-02-18 14:14:09 -08:00
Anand Thakker
062b18374d [core] Enable property functions for text-{field,transform} (#7944) 2017-02-17 13:16:25 -08:00
Anand Thakker
685f237d02 Refactor: use conversion system to convert MGLStyleFunction to mbgl core types (#8026)
This leverages the work already happening in `mbgl::style::conversion` to convert style functions from style-spec definitions into `mbgl::style::{Camera,Source,Composite}Function`s.  In particular, this allows the conversions system to handle the differing typing requirements based on whether the output type of the style function is interpolatable or non-interpolatable.
2017-02-15 17:16:54 -05:00
Minh Nguyễn
b1e623246f [ios, macos] Marked MGLStyleFunction as abstract in docs 2017-02-10 07:11:50 -08:00
John Firebaugh
a1a639120d [core] Introduce dedicated filter types for $type and $id special cases (#7971)
* [core] Introduce dedicated filter types for $type and $id special cases

* [ios, macos] Special-case $id, $type in predicates

Also support $id ≟ nil.
2017-02-09 14:18:57 -08:00
Minh Nguyễn
925d394ab5 [ios, macos] Brazilian Portuguese, French, German, Japanese, Swedish, Vietnamese
Pulled translations from Transifex. Added locales with at least one file translated 80% or more.
2017-02-09 10:52:33 -08:00
John Firebaugh
f35ca0d9df [core, ios, macos] Refactor composite stop types and conversions 2017-02-09 11:16:26 -06:00
Jesse Bounds
a49301ad25 [ios, macos] Don't add documentation to NS_ENUM 2017-02-08 21:11:43 -08:00
Jason Wray
0e80318627 [ios, macos] Add more bullets to style property docs 2017-02-08 21:11:43 -08:00
Jesse Bounds
a383edaae8 [ios, macos] Add function and interpolation mode to style property docs 2017-02-08 21:11:43 -08:00
John Firebaugh
94a3c272ff [core] Update gl-js; fix $id filters with GeoJSON source 2017-02-08 19:07:53 -06:00
Minh Nguyễn
360e5bf631 [ios, macos] Fixed runtime styling deprecation warnings 2017-02-08 16:54:09 -08:00
Jesse Bounds
bd2f3a28a5 [ios, macos] Update documentation examples to use new style functions (#7960) 2017-02-08 12:29:51 -08:00
Jesse Bounds
c639105c9f [ios, macos] Document DDS enumerations (#7931)
[ios, macos] Document DDS enumerations
2017-02-08 12:28:50 -08:00
Jesse Bounds
06a8ed7959 Add back MGLStyleFunction and re-document MGLStyleValue (#7943)
[ios, macos] Add back MGLStyleFunction and re-document MGLStyleValue
2017-02-08 12:27:12 -08:00
John Firebaugh
150b938b49 [build, ios, macos] Simplify version portion of user agent string
The X.Y.Z version portion was unreliable, as it pulled from the latest tag regardless of platform. Set version to 0.0.0 and retrieve only the hash, which allows us to drop the node/npm dependency.
2017-02-08 10:59:59 -06:00
Eimantas Vaiciunas
7b0881030f Make MGLOfflinePack instances post notifications
This commit also gets rid of private `MGLOfflinePackDelegate` protocol.
`userInfo` dictionary in notification objects retain the `state` and
`progress` values for backwards compatibility. They can be removed in
later major release.
2017-02-06 12:39:11 -08:00
Jesse Bounds
e5c9db4793 [ios, macos] Implement default value for identity functions 2017-02-03 09:41:28 -08:00
Minh Nguyễn
f76a49b24c [ios, macos] Traditional Chinese localization 2017-02-03 01:48:29 -05:00
Jesse Bounds
22b3834caa [ios, macos] Add support for data-driven property functions 2017-02-02 09:44:42 -08:00
John Firebaugh
9c5abc1221 [build] Use style-spec from gl-js monorepo 2017-02-01 08:11:01 -08:00
Fredrik Karlsson
2ab3af4b1b [ios, macos] added a distance formatter 2017-01-27 19:41:13 +01:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
Minh Nguyễn
a662508ddd Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.1-master 2017-01-26 17:56:46 -08:00
Konstantin Käfer
19bd68d3a2 [macos,ios] don't roundtrip through encodePNG when converting images 2017-01-26 15:26:55 +01:00
fabian-guerra
8ac9975941 [ios, macos] Deprecate style class API (#7785) 2017-01-25 22:38:53 -05:00
Minh Nguyễn
0a8cfdd593 [macos] Refer to Night Shift in style compatibility guide 2017-01-25 13:22:17 -08:00
Minh Nguyễn
7684bc2125 [ios, macos] Testify MGLMapView gesture recognizer example 2017-01-25 13:22:17 -08:00
Jordan Kiley
f5bcf186f6 [ios] changed URL -> url (#7841)
Changed `@param URL` -> `@param url` in `MGLShapeSource.h` Fixes #7840
2017-01-25 11:11:45 -08:00
Jordan Kiley
35ce4f00e5 Clarify that clustering option is for shape sources (#7837)
* [ios] Clarify that shape source needed for clustering. Fixes #7821.
2017-01-25 09:33:27 -08:00
Konstantin Käfer
332e5bcc52 [macos] align HeadlessDisplay with SDK OpenGL context creation options 2017-01-25 14:46:43 +01:00