summaryrefslogtreecommitdiff
path: root/platform/darwin/src
Commit message (Collapse)AuthorAgeFilesLines
* [core] Render fill-extrusion layers (#8431)Lauren Budorick2017-04-274-1/+704
|
* [all] Rationalize style::ImageJohn Firebaugh2017-04-241-4/+4
| | | | | | | A style has a collection of images, just as it has collections of sources and layers. * Name things appropriately * Use std::unique_ptr
* [ios] Scale bar (#7631)Fredrik Karlsson2017-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * [ios] added a scale bar * [ios] update design * [ios] show/hide scale bar * [ios] Remove the need to localize 0 * [ios] Support for imperial units * [ios] Round to nearest foot * [ios] Make scale bar private * [ios] Update design and clean up * [ios] Rename and various optimizations * [ios] RTL support * [ios] added max scale and removed animations * [ios] animate scale bar
* [core] Tighten geo.hpp ctorsBruno de Oliveira Abinader2017-04-141-4/+4
|
* [darwin] Remove use of NS_DESIGNATED_INITIALIZER from MGLStyleLayer subclassesJohn Firebaugh2017-04-137-8/+8
| | | | It produces compiler warnings for which there seems to be no workaround, and since there's only a single initializer, NS_DESIGNATED_INITIALIZER has little benefit.
* [darwin] Make -[MGLForegroundStyleLayer sourceIdentifier] abstractJohn Firebaugh2017-04-1310-59/+15
| | | | It's already overridden by concrete subclasses, and by making it abstract we enable the removal of the private MGLForegroundStyleLayer category.
* [core, darwin] Object identity for MGLSource*, MGLStyleLayer*John Firebaugh2017-04-135-20/+39
| | | | All `MGLSource` pointers referencing the same logical source will now be object identical; similarly for `MGLStyleLayer`.
* [darwin] Simplify MGLStyleLayer initialization and pointer managementJohn Firebaugh2017-04-1324-513/+275
| | | | | | Similarly to the previous commit, introduce `-[MGLStyleLayer initWithPendingLayer:]`, allowing the base class to track the owned `_pendingSource` pointer and implement `-addToMapView:` and `-removeFromMapView:` without any casts. Fixes an issue where `-[MGLStyle layerFromMBGLLayer:]` would wind up creating layers whose `_rawLayer` and `_pendingLayer` held different values.
* [darwin] Simplify MGLSource initialization and pointer managementJohn Firebaugh2017-04-138-213/+67
| | | | Introduce `-[MGLSource initWithPendingSource:]`, allowing the base class to track the owned `_pendingSource` pointer and implement `-addToMapView:` and `-removeFromMapView:` without any casts.
* [darwin] Remove unnecessary MGLTileSource initializersJohn Firebaugh2017-04-136-141/+227
|
* [ios, macos] Clarify redrawing based on multipoint mutationMinh Nguyễn2017-04-111-10/+30
| | | | Clarified the documentation for various MGLMultiPoint methods to indicate that only shape annotations automatically redraw in response to the multipoint object being mutated; sources must be mutated explicitly.
* [macos] Remove link attribute from attribution textMinh Nguyễn2017-04-101-1/+6
| | | | 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.
* [core] Add DDS support for {text,icon}-size (#8593)Anand Thakker2017-04-062-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | * 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)
* [ios, macos] Fail gracefully on invalid coordinatesMinh Nguyễn2017-04-063-13/+26
| | | | Invalid coordinates no longer cause an exception to be raised immediately when used in conversion methods and model objects. Instead, the appropriate invalid values are used, consistent with MapKit. Exceptions are still raised when invalid model objects are used with the map.
* [ios, macos] Streamlined coordinate validationMinh Nguyễn2017-04-062-15/+10
| | | | Replaced preflight checks in MGLLatLngFromLocationCoordinate2D() with a try-catch block that relays exceptions raised by mbgl. De-inlined the function because it’s no longer trivial.
* [all] Make LatLng coordinates read-onlyJohn Firebaugh2017-04-061-1/+1
|
* [darwin] Preflight argument validity before constructing mbgl::LatLngJohn Firebaugh2017-04-061-0/+12
|
* [darwin] Use MGLLatLngFromLocationCoordinate2D where appropriateJohn Firebaugh2017-04-063-4/+5
|
* [core] Add DDS support for icon-imageJohn Firebaugh2017-03-312-5/+15
|
* [core] Add DDS support for text-rotateJohn Firebaugh2017-03-312-3/+12
|
* [core] implement dds for text-offsetMolly Lloyd2017-03-282-3/+21
|
* [core] Move OpenGL extension initialization to BackendKonstantin Käfer2017-03-232-6/+4
|
* [all] Replace Result<T> with optional<T> plus out Error parameterJohn Firebaugh2017-03-231-2/+3
|
* Merge branch 'release-ios-v3.5.0-android-v5.0.0'John Firebaugh2017-03-2133-258/+1491
|\
| * [ios][macos] Document that transitions using setStyleURL are not supported ↵Eric Wolfe2017-03-201-2/+2
| | | | | | | | (#8475)
| * [ios] Guard against over calling pause or resumeJesse Bounds2017-03-181-0/+9
| |
| * [ios, macos] update iOS SDK guides (#8354)Jordan Kiley2017-03-171-4/+4
| | | | | | | | - Added DDS guide - Updated "For Style Authors" guide
| * [ios, macos] Add more information to interpolation mode docs (#8425)Jordan Kiley2017-03-151-6/+13
| | | | | | Addresses #8192 until #8354 lands.
| * [ios, macos] Expanded feature querying documentationMinh Nguyễn2017-03-143-22/+62
| | | | | | | | Also fixed a couple incorrect Swift method names on macOS.
| * [ios, macos] API doc revisions (#8396)Jordan Kiley2017-03-149-7/+16
| | | | | | | | | | | | | | | | - Changed `make style-code-darwin` to `make darwin-style-code` in relevant files - Added some doc clarifications: - `MGLInterpolationModeExponential` and `MGLInterpolationModeInterval` can be used with `MGLCameraStyleFunction` (I am not sure how to accurately reflect this in the documentation for `MGLCompositeStyleFunction`) - Do not add a style layer to the style property on a map view before the style has finished loading - Create individual style layers from a `MGLShapeCollectionFeature`
| * [ios, macos] Fixed documentation parameter mismatchesMinh Nguyễn2017-03-133-6/+7
| | | | | | | | Also enabled compiler warnings about incorrect Doxygen commands.
| * [ios, macos] Resolved unused variable warningsMinh Nguyễn2017-03-131-2/+2
| | | | | | | | Resolved unused variable warnings in Release configuration that occurred because they were only used within NSAssert() invocations, which are omitted from Release builds.
| * [ios, macos] Corrected polyline equalityMinh Nguyễn2017-03-101-0/+4
| | | | | | | | | | | | | | | | Now that annotation classes override -isEqual:, it’s no longer appropriate to rely on -isEqual: or -containsObject: to check for the preexistence of an annotation. Those methods become deep equality tests, which have worse performance. Checking for identity allows the developer to add a polyline and polygon with identical coordinates, title, etc. to the map. Implemented a missing -[MGLPolyline isEqual:]. Removed outdated comments about -annotationTagForAnnotation: being expensive.
| * Per-attribute transition properties on MGLStyleLayer (#8225)Fabian Guerra Soto2017-03-1019-38/+1214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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
| * [macos, ios] query source featuresIvo van Dongen2017-03-104-0/+77
| |
| * [ios, macos] Fixed camera function exception messageMinh Nguyễn2017-03-101-3/+3
| | | | | | | | This exception message had a typo; developers would’ve been advised to use a method that doesn’t exist, due to case sensitivity. Moreover, the method has been renamed since this message was written.
| * [darwin] Use explicit initialization rather than global static variables for ↵Konstantin Käfer2017-03-103-2/+7
| | | | | | | | | | | | | | | | the default RunLoop When linking Mapbox GL as a static library, the object file (MGLFoundation.o) containing the global static variable initialization was not linked into the resulting binary since it was not referenced. This resulted in the RunLoop not being initialized in the main thread. Reverts 03a14ff0003e976a4ded70d284bc80adf54bc6c9
| * [ios, macos] Removed duplicated NSDate test files, improved duration ↵Fabian Guerra Soto2017-03-081-4/+1
| | | | | | | | converstion for NSDate+MGLAdditions (#8290)
| * [ios, macos] Exclude MGLUserTrackingMode from macOSNadia Barbosa2017-03-031-15/+0
| |
| * [ios] Fixed conversion between Duration and NSTimeInerval (#8276)Fabian Guerra Soto2017-03-033-16/+19
| |
| * [ios, macos] Alias MGLStyleConstantValue to MGLConstantStyleValueJesse Bounds2017-03-031-0/+2
| |
| * [ios, macos] Rename MGLStyleConstantValue to MGLConstantStyleValueJesse Bounds2017-03-039-143/+143
| |
* | [macos] Update changes in MapObserver::onDidFailLoadingMapBruno de Oliveira Abinader2017-03-171-0/+4
| |
* | [macos, ios] query source featuresIvo van Dongen2017-03-094-0/+77
| |
* | [darwin] Use explicit initialization rather than global static variables for ↵Konstantin Käfer2017-03-093-2/+7
|/ | | | | | | | the default RunLoop When linking Mapbox GL as a static library, the object file (MGLFoundation.o) containing the global static variable initialization was not linked into the resulting binary since it was not referenced. This resulted in the RunLoop not being initialized in the main thread. Reverts 03a14ff0003e976a4ded70d284bc80adf54bc6c9
* [ios] Pause file source activity on backgroundJesse Bounds2017-03-011-0/+15
| | | | | | | | | | | 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.
* [core] Implement data-driven styling for ↵Anand Thakker2017-02-282-30/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {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
* [ios, macos] Make source removal consistent with layer removalJesse Bounds2017-02-233-9/+36
| | | | | | | | | | | | | | | 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.
* [ios, macos] Simplify implementation of layer removal from map viewJesse Bounds2017-02-237-30/+28
| | | | | | | | | | | 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.
* [core, ios, macos] Return null when removing nonexistent sourceJesse Bounds2017-02-233-6/+12
|