Commit Graph

151 Commits

Author SHA1 Message Date
Nadia Barbosa
5d641f4d68 [ios] Add test for code snippet added to MGLPolyline doc change 2017-08-09 10:12:16 -04:00
Fabian Guerra Soto
a1c5b32da6 Boxing ObjC structs (#9343)
* [ios, macos] Make structs boxable

* [ios, macos] Update changelogs.
2017-06-22 14:36:21 -04:00
Fabian Guerra Soto
67c09b18e4 MGLLight autogenerate scripts (#9260)
* [ios, macos] Add the MGLLight generation templates

* [ios, macos] Add MGLLight generation script

* [ios, macos] Add the auto-generation script for MGLLight.mm

* [ios, macos] Add the auto-generation script for MGLLightTest.mm

* [core] Add const to Position constructor.

* [ios, macos] Simplify MGLLightTest.mm autogenerate script.
2017-06-16 06:41:51 -07:00
Tobrun
6ec5e4f8cd Cherry picks to release branch (#9230)
* [ios][macos] test remove source in use

* [android] test remove source in use

* [core] check source usage before remove

* [core] ensure layer::accept works with non-void return values on gcc

* [android] - remove upgrade runtime exceptions (#9191)
2017-06-09 12:05:54 +02:00
Minh Nguyễn
a39116a552 Migrate to GL JS–powered feedback form (#9078)
* [ios, macos] Updated feedback URL

* [ios, macos] Add referrer, heading, pitch to feedback URL

* [ios, macos] Updated changelogs for feedback changes

* [ios] Vary referrer by platform
2017-05-30 15:14:00 -07:00
Fabian Guerra
e1431f9085 [ios, macos] Fix MGLLight.achor to accept style functions 2017-05-24 14:47:47 -04:00
Fabian Guerra Soto
a57e9bc410 [ios,macos] multipolygon coordinate (#8713)
* [ios] MGLMultiPolygon's coordinate property implemented

* [ios,macos] Add polylabalel to project config

* [ios,macos] Change coordinate property for MGLPolyline,MGLPolygon,MGLMultiPolygon

* [macos] Change project configuration to support polilabel

* [ios,macos] Add MGLLocationCoordinate2DFromPoint

* [ios, macos] Update changelogs

* [ios, macos] remove unnecesary variables

* [ios, macos] Add radians conversions

* [ios, macos] Add coordinate calc to MGLPolyline

* [ios, macos] Move radian fuctions to MGLGeometry_Private.h

* [ios, macos] Fix code style

* [ios, macos] Fix code indentation

* [ios, macos] Fix radian per meters constant

* [ios, macos] Add test scenarios to testPolyline

* [ios, macos] Fix test accuracy
2017-05-23 12:32:18 -04:00
Fabian Guerra Soto
e52249c17f [ios, macos] Light property implementation in MGLStyle (#9043)
* [ios, macos] Add MGLLight to MGLStyle

* [ios, macos] Implement Objc bindings for Light object

* [ios, macos] Remove rawLight from MGLLight and re-implement it as value class

* [ios, macos] Fix build on macos

* [ios, macos] Add MGLLight documentation, Move MGLLightPosition to MGLLight

* [ios, macos] Add MGLLight tests.

* [ios, macos] Update changelogs

* [ios, macos] Fix misspelling

* [ios, macos] Fix MGLLightAnchor enum property names

* [ios, macos] Update documentation. Improve varialble naming.

* [ios, macos] Rename MGLLightPosition to MGLSphericalPosition

* [ios, macos] Update data types of MGLSphericalPosition
2017-05-23 10:59:24 -04:00
Jordan Kiley
a19fd81730 [ios, macos] changed TRUE -> 'true' (#9059) fixes #9056 2017-05-19 16:08:03 -07:00
Minh Nguyễn
886bf2528f [core, android, ios, macos] Added Traffic Day/Night to default styles
The Styles API section of the Mapbox API Documentation site now lists Traffic Day v2 and Traffic Night v2, so this change adds those styles to all the places where styles are listed.

Also switched iosapp and macosapp to unversioned style factory methods since MGLStyleDefaultVersion is no longer applicable for all styles.

Cherry-picked from 4d6f54553d.
2017-05-12 10:02:27 -07:00
Minh Nguyễn
c5ee41a93a [ios, macos] Undeprecated unversioned style URL factory methods
Undeprecated the unversioned style URL factory methods in MGLStyle for consistency with the Android and Qt SDKs. Added warnings about using them with the runtime styling API.

Refactored mbgl::util::default_styles to track different versions for different styles.

Cherry-picked from 9e384b78fb.
2017-05-12 10:02:27 -07:00
Minh Nguyễn
d85471b7de [ios, macos] Updated documented default style version
MGLStyleDefaultVersion is just for Streets now. Deleted style version documentation tests because not all styles are on the same version.

Cherry-picked from ca97dd8cf4.
2017-05-12 10:02:27 -07:00
Minh Nguyễn
5cc641ecad [ios, macos] Moved DDS guide examples to Swift unit test
Moved example code from DDS guide to a unit test written in Swift. The code is inserted into the guide at codegen time.
2017-05-08 14:41:21 -07:00
John Firebaugh
197751bace [core] Load source TileJSON immediately
This reverses #3095. Rationale:

* We're now exposing source attributes as a public API. Making those attributes unavailable at certain times complicates that API.
* We're preparing to split RenderSource out of Source. Removing this removes a point of coupling between the two.
2017-05-02 08:45:09 -07:00
Lauren Budorick
f6e79d7073 [core] Render fill-extrusion layers (#8431) 2017-04-27 15:56:55 -07:00
Jesse Bounds
9340b4822a [ios, macos] Add Swift integration tests for map view delegate 2017-04-13 14:52:15 -04:00
John Firebaugh
7b041b123c [core, darwin] Object identity for MGLSource*, MGLStyleLayer*
All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
2017-04-13 10:33:18 -07:00
Minh Nguyễn
6a0c4e0142 [macos] Remove link attribute from attribution text
Fixed an issue causing the attribution button text to appear blue instead of black. On macOS 10.12 and above, hyperlinks in attributed strings are blue regardless of any color attributes applied to the same run of text.
2017-04-10 22:06:36 -07:00
Anand Thakker
693c9f3641 [core] Add DDS support for {text,icon}-size (#8593)
* Update gl-js and generate style code

* Factor out packUint8Pair() helper function

* Draft implementation of DDS for {text,icon}-size

Ports https://github.com/mapbox/mapbox-gl-js/pull/4455

* Fix text-size/composite-function-line-placement test

* Refactor to PaintPropertyBinders-like strategy

* Dedupe gl::Program construction

* Use exponential function base for interpolation

* Dedupe coveringZoomStops method

* Fixup tests

* Fix CI errors (hidden within #if block)
2017-04-06 15:29:59 -04:00
John Firebaugh
56ea87357a [darwin] Fix invalid coordinates in MGLShapeSource tests 2017-04-06 09:22:51 -07:00
John Firebaugh
1a9bccbb85 [core] Add DDS support for icon-image 2017-03-31 14:17:33 -07:00
John Firebaugh
743d954053 [core] Add DDS support for text-rotate 2017-03-31 13:26:27 -07:00
Molly Lloyd
47c1e42ac1 [core] implement dds for text-offset 2017-03-28 11:06:58 -07:00
Fabian Guerra Soto
20712b7c84 Per-attribute transition properties on MGLStyleLayer (#8225)
* [ios, macos] new struct MGLTransition

* [ios] MGLTransition struct moved to MGLTypes.h

* [ios] MGLTransition implemented for style layer properties

* [ios, macos] added support for getting property transitions

* [ios, macos] updated to MGLDurationFromTimeInterval and MGLTimeIntervalFromDuration

* [ios, macos] added transition properties test

* [ios, macos] modified key strings imp

* [ios, macos] The impl for transition properties were changed to public methods

* [ios, macos] Changelog update

* [ios] Fixed layer space formatting

* [core] The name space was fixed for getters that returned TransitionOptions

* [ios, macos] Added rawLayer transition property tests

* [ios] Added a factory method for MGLTransition and transition-related methods to NSValue(MGLAdditions)

* [ios, macos] Copyedited changelog blurbs about transition properties
2017-03-10 11:33:31 -08:00
Ivo van Dongen
a7fd788b5d [macos, ios] query source features 2017-03-10 11:08:32 -08:00
Fabian Guerra Soto
05dd34f584 [ios, macos] Removed duplicated NSDate test files, improved duration converstion for NSDate+MGLAdditions (#8290) 2017-03-08 13:15:52 -08:00
Fabian Guerra Soto
1f1cc131ea [ios] Fixed conversion between Duration and NSTimeInerval (#8276) 2017-03-03 20:11:06 -05:00
Jesse Bounds
d25e2c772d [ios, macos] Rename MGLStyleConstantValue to MGLConstantStyleValue 2017-03-03 09:10:31 -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
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
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
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
John Firebaugh
f35ca0d9df [core, ios, macos] Refactor composite stop types and conversions 2017-02-09 11:16:26 -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
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
Jesse Bounds
e5c9db4793 [ios, macos] Implement default value for identity functions 2017-02-03 09:41:28 -08:00
Jesse Bounds
22b3834caa [ios, macos] Add support for data-driven property functions 2017-02-02 09:44:42 -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