diff options
Diffstat (limited to 'platform/macos')
-rw-r--r-- | platform/macos/CHANGELOG.md | 3 | ||||
-rw-r--r-- | platform/macos/app/Assets.xcassets/Layers/background.imageset/Contents.json | 3 | ||||
-rw-r--r-- | platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/Contents.json | 16 | ||||
-rw-r--r-- | platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/hillshade.pdf | 70 | ||||
-rw-r--r-- | platform/macos/app/Base.lproj/MainMenu.xib | 50 | ||||
-rw-r--r-- | platform/macos/app/MapDocument.m | 65 | ||||
-rw-r--r-- | platform/macos/app/StyleLayerIconTransformer.m | 5 | ||||
-rw-r--r-- | platform/macos/app/resources/hillshade.svg | 87 | ||||
-rw-r--r-- | platform/macos/jazzy.yml | 2 | ||||
-rw-r--r-- | platform/macos/macos.xcodeproj/project.pbxproj | 24 | ||||
-rw-r--r-- | platform/macos/src/Mapbox.h | 2 |
11 files changed, 299 insertions, 28 deletions
diff --git a/platform/macos/CHANGELOG.md b/platform/macos/CHANGELOG.md index 4e26aa443a..c8373b2bf5 100644 --- a/platform/macos/CHANGELOG.md +++ b/platform/macos/CHANGELOG.md @@ -5,7 +5,8 @@ ### Styles and rendering * The layout and paint properties on subclasses of `MGLStyleLayer` are now of type `NSExpression` instead of `MGLStyleValue`. A new “Predicates and Expressions” guide provides an overview of the supported operators. ([#10726](https://github.com/mapbox/mapbox-gl-native/pull/10726)) -* Added `MGLComputedShapeSource` source class that allows applications to supply vector data on a per-tile basis. +* Added an `MGLComputedShapeSource` class that allows applications to supply vector data to a style layer on a per-tile basis. ([#9983](https://github.com/mapbox/mapbox-gl-native/pull/9983)) +* A style can now display smooth hillshading and customize its appearance at runtime using the `MGLHillshadeStyleLayer` class. Hillshading is based on a rasterized digital elevation model supplied by the `MGLRasterDEMSource` class. ([#10642](https://github.com/mapbox/mapbox-gl-native/pull/10642)) * Properties such as `MGLSymbolStyleLayer.iconAllowsOverlap` and `MGLSymbolStyleLayer.iconIgnoresPlacement` now account for symbols in other sources. ([#10436](https://github.com/mapbox/mapbox-gl-native/pull/10436)) * Improved the reliability of collision detection between symbols near the edges of tiles, as well as between symbols when the map is tilted. It is no longer necessary to enable `MGLSymbolStyleLayer.symbolAvoidsEdges` to prevent symbols in adjacent tiles from overlapping with each other. ([#10436](https://github.com/mapbox/mapbox-gl-native/pull/10436)) * Symbols can fade in and out as the map pans, rotates, or tilts. ([#10436](https://github.com/mapbox/mapbox-gl-native/pull/10436)) diff --git a/platform/macos/app/Assets.xcassets/Layers/background.imageset/Contents.json b/platform/macos/app/Assets.xcassets/Layers/background.imageset/Contents.json index 3d2c878879..7473a40333 100644 --- a/platform/macos/app/Assets.xcassets/Layers/background.imageset/Contents.json +++ b/platform/macos/app/Assets.xcassets/Layers/background.imageset/Contents.json @@ -2,7 +2,8 @@ "images" : [ { "idiom" : "universal", - "filename" : "background.pdf" + "filename" : "background.pdf", + "language-direction" : "left-to-right" } ], "info" : { diff --git a/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/Contents.json b/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/Contents.json new file mode 100644 index 0000000000..f9922cad46 --- /dev/null +++ b/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "hillshade.pdf", + "language-direction" : "left-to-right" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" + } +}
\ No newline at end of file diff --git a/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/hillshade.pdf b/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/hillshade.pdf new file mode 100644 index 0000000000..bf409e708c --- /dev/null +++ b/platform/macos/app/Assets.xcassets/Layers/hillshade.imageset/hillshade.pdf @@ -0,0 +1,70 @@ +%PDF-1.5 +% +3 0 obj +<< /Length 4 0 R + /Filter /FlateDecode +>> +stream +xeNA +@sv} xŃ(Vo"L0# jXˆ6w:!,P㒒hK灴aU18|=
_?ݜ{YXS2یݮ*5/ﺠ>ݪ, +endstream +endobj +4 0 obj + 145 +endobj +2 0 obj +<< + /ExtGState << + /a0 << /CA 1 /ca 1 >> + /a1 << /CA 0.156863 /ca 0.156863 >> + >> +>> +endobj +5 0 obj +<< /Type /Page + /Parent 1 0 R + /MediaBox [ 0 0 12 12 ] + /Contents 3 0 R + /Group << + /Type /Group + /S /Transparency + /I true + /CS /DeviceRGB + >> + /Resources 2 0 R +>> +endobj +1 0 obj +<< /Type /Pages + /Kids [ 5 0 R ] + /Count 1 +>> +endobj +6 0 obj +<< /Creator (cairo 1.14.8 (http://cairographics.org)) + /Producer (cairo 1.14.8 (http://cairographics.org)) +>> +endobj +7 0 obj +<< /Type /Catalog + /Pages 1 0 R +>> +endobj +xref +0 8 +0000000000 65535 f +0000000585 00000 n +0000000259 00000 n +0000000015 00000 n +0000000237 00000 n +0000000373 00000 n +0000000650 00000 n +0000000777 00000 n +trailer +<< /Size 8 + /Root 7 0 R + /Info 6 0 R +>> +startxref +829 +%%EOF diff --git a/platform/macos/app/Base.lproj/MainMenu.xib b/platform/macos/app/Base.lproj/MainMenu.xib index d014676caa..72e9c5a189 100644 --- a/platform/macos/app/Base.lproj/MainMenu.xib +++ b/platform/macos/app/Base.lproj/MainMenu.xib @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12121" systemVersion="16E195" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> +<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13771" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> <dependencies> - <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12121"/> + <deployment identifier="macosx"/> + <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13771"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> @@ -554,6 +555,21 @@ <action selector="drawAnimatedAnnotation:" target="-1" id="CYM-WB-s97"/> </connections> </menuItem> + <menuItem title="Show All Annnotations" keyEquivalent="A" id="yMj-uM-8SN"> + <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/> + <connections> + <action selector="showAllAnnotations:" target="-1" id="ahr-OR-Em2"/> + </connections> + </menuItem> + <menuItem title="Remove All Annotations" id="6rC-68-vk0"> + <string key="keyEquivalent" base64-UTF8="YES"> +CA +</string> + <connections> + <action selector="removeAllAnnotations:" target="-1" id="6v3-0E-LsR"/> + </connections> + </menuItem> + <menuItem isSeparatorItem="YES" id="cbI-Nd-MAp"/> <menuItem title="Add Lime Green Layer" id="UWY-vl-t2m"> <modifierMask key="keyEquivalentModifierMask"/> <connections> @@ -565,25 +581,17 @@ <connections> <action selector="addAnimatedImageSource:" target="-1" id="TuN-Pa-hTG"/> </connections> - </menuItem> + </menuItem> <menuItem title="Add Graticule" id="Msk-p2-Lwt"> <modifierMask key="keyEquivalentModifierMask"/> <connections> <action selector="insertGraticuleLayer:" target="-1" id="LE5-lz-kx4"/> </connections> </menuItem> - <menuItem title="Show All Annnotations" keyEquivalent="A" id="yMj-uM-8SN"> - <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/> - <connections> - <action selector="showAllAnnotations:" target="-1" id="ahr-OR-Em2"/> - </connections> - </menuItem> - <menuItem title="Remove All Annotations" id="6rC-68-vk0"> - <string key="keyEquivalent" base64-UTF8="YES"> - CA - </string> + <menuItem title="Enhance Terrain" id="2ZT-uE-kUR"> + <modifierMask key="keyEquivalentModifierMask"/> <connections> - <action selector="removeAllAnnotations:" target="-1" id="6v3-0E-LsR"/> + <action selector="enhanceTerrain:" target="-1" id="TXX-Yv-ZY1"/> </connections> </menuItem> <menuItem isSeparatorItem="YES" id="wQq-Mx-QY0"/> @@ -666,7 +674,7 @@ <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/> <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> <rect key="contentRect" x="109" y="131" width="350" height="84"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/> + <rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/> <view key="contentView" id="eA4-n3-qPe"> <rect key="frame" x="0.0" y="0.0" width="350" height="84"/> <autoresizingMask key="autoresizingMask"/> @@ -742,7 +750,7 @@ <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" utility="YES"/> <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> <rect key="contentRect" x="830" y="430" width="400" height="300"/> - <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/> + <rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/> <view key="contentView" id="8ha-hw-zOD"> <rect key="frame" x="0.0" y="0.0" width="400" height="300"/> <autoresizingMask key="autoresizingMask"/> @@ -751,7 +759,7 @@ <rect key="frame" x="-1" y="20" width="402" height="281"/> <clipView key="contentView" id="J9U-Yx-o2S"> <rect key="frame" x="1" y="0.0" width="400" height="280"/> - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <autoresizingMask key="autoresizingMask"/> <subviews> <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" autosaveColumns="NO" headerView="MAZ-Iq-hBi" id="Ato-Vu-HYT"> <rect key="frame" x="0.0" y="0.0" width="423" height="257"/> @@ -772,7 +780,7 @@ <binding destination="dWe-R6-sRz" name="value" keyPath="arrangedObjects.stateImage" id="2wd-1J-TZt"/> </connections> </tableColumn> - <tableColumn editable="NO" width="116" minWidth="40" maxWidth="1000" id="2hD-LN-h0L"> + <tableColumn identifier="" editable="NO" width="116" minWidth="40" maxWidth="1000" id="2hD-LN-h0L"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Name"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> @@ -792,7 +800,7 @@ </binding> </connections> </tableColumn> - <tableColumn editable="NO" width="50" minWidth="40" maxWidth="1000" id="pkI-c7-xoD"> + <tableColumn identifier="" editable="NO" width="50" minWidth="40" maxWidth="1000" id="pkI-c7-xoD"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Downloaded Resources"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> @@ -826,7 +834,7 @@ <binding destination="dWe-R6-sRz" name="value" keyPath="arrangedObjects.countOfResourcesExpected" id="mh2-k0-vvB"/> </connections> </tableColumn> - <tableColumn editable="NO" width="50" minWidth="40" maxWidth="1000" id="kCO-Cd-bQt"> + <tableColumn identifier="" editable="NO" width="50" minWidth="40" maxWidth="1000" id="kCO-Cd-bQt"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Downloaded Tiles"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> @@ -847,7 +855,7 @@ </binding> </connections> </tableColumn> - <tableColumn editable="NO" width="60" minWidth="10" maxWidth="3.4028234663852886e+38" id="WO5-Ci-HgG"> + <tableColumn identifier="" editable="NO" width="60" minWidth="10" maxWidth="3.4028234663852886e+38" id="WO5-Ci-HgG"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Downloaded Tiles Size"> <font key="font" metaFont="smallSystem"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> diff --git a/platform/macos/app/MapDocument.m b/platform/macos/app/MapDocument.m index 94b0cffcdc..602ed1aa41 100644 --- a/platform/macos/app/MapDocument.m +++ b/platform/macos/app/MapDocument.m @@ -50,6 +50,25 @@ NS_ARRAY_OF(id <MGLAnnotation>) *MBXFlattenedShapes(NS_ARRAY_OF(id <MGLAnnotatio return flattenedShapes; } +@interface MGLVectorSource (MBXAdditions) + +@property (nonatomic, readonly, getter=isMapboxTerrain) BOOL mapboxTerrain; + +@end + +@implementation MGLVectorSource (MBXAdditions) + +- (BOOL)isMapboxTerrain { + NSURL *url = self.configurationURL; + if (![url.scheme isEqualToString:@"mapbox"]) { + return NO; + } + NSArray *identifiers = [url.host componentsSeparatedByString:@","]; + return [identifiers containsObject:@"mapbox.mapbox-terrain-v2"] || [identifiers containsObject:@"mapbox.mapbox-terrain-v1"]; +} + +@end + @interface MapDocument () <NSWindowDelegate, NSSharingServicePickerDelegate, NSMenuDelegate, NSSplitViewDelegate, MGLMapViewDelegate, MGLComputedShapeSourceDataSource> @property (weak) IBOutlet NSArrayController *styleLayersArrayController; @@ -739,6 +758,49 @@ NS_ARRAY_OF(id <MGLAnnotation>) *MBXFlattenedShapes(NS_ARRAY_OF(id <MGLAnnotatio [self.mapView.style removeSource:source]; } +- (IBAction)enhanceTerrain:(id)sender { + // Find all the identifiers of Mapbox Terrain sources used in the style. + NSMutableSet *terrainSourceIdentifiers = [NSMutableSet set]; + for (MGLVectorSource *source in self.mapView.style.sources) { + if (![source isKindOfClass:[MGLVectorSource class]]) { + continue; + } + + if (source.mapboxTerrain) { + [terrainSourceIdentifiers addObject:source.identifier]; + } + } + + // Find and remove all the style layers using those sources. + NSUInteger hillshadeIndex = NSNotFound; + NSEnumerator *layerEnumerator = self.mapView.style.layers.objectEnumerator; + MGLVectorStyleLayer *layer; + for (NSUInteger i = 0; (layer = layerEnumerator.nextObject); i++) { + if (![layer isKindOfClass:[MGLVectorStyleLayer class]]) { + continue; + } + + if ([terrainSourceIdentifiers containsObject:layer.sourceIdentifier] + && [layer.sourceLayerIdentifier isEqualToString:@"hillshade"]) { + hillshadeIndex = i; + [self.mapView.style removeLayer:layer]; + } + } + + if (hillshadeIndex == NSNotFound) { + return; + } + + // Add a Mapbox Terrain-RGB source. + NSURL *terrainRGBURL = [NSURL URLWithString:@"mapbox://mapbox.terrain-rgb"]; + MGLRasterDEMSource *terrainRGBSource = [[MGLRasterDEMSource alloc] initWithIdentifier:@"terrain" configurationURL:terrainRGBURL]; + [self.mapView.style addSource:terrainRGBSource]; + + // Insert a hillshade layer where the Mapbox Terrain–based layers were. + MGLHillshadeStyleLayer *hillshadeLayer = [[MGLHillshadeStyleLayer alloc] initWithIdentifier:@"hillshade" source:terrainRGBSource]; + [self.mapView.style insertLayer:hillshadeLayer atIndex:hillshadeIndex]; +} + #pragma mark Offline packs - (IBAction)addOfflinePack:(id)sender { @@ -1058,6 +1120,9 @@ NS_ARRAY_OF(id <MGLAnnotation>) *MBXFlattenedShapes(NS_ARRAY_OF(id <MGLAnnotatio if (menuItem.action == @selector(showAllAnnotations:) || menuItem.action == @selector(removeAllAnnotations:)) { return self.mapView.annotations.count > 0; } + if (menuItem.action == @selector(enhanceTerrain:)) { + return YES; + } if (menuItem.action == @selector(startWorldTour:)) { return !_isTouringWorld; } diff --git a/platform/macos/app/StyleLayerIconTransformer.m b/platform/macos/app/StyleLayerIconTransformer.m index ff2b964b87..50fe06a2c6 100644 --- a/platform/macos/app/StyleLayerIconTransformer.m +++ b/platform/macos/app/StyleLayerIconTransformer.m @@ -31,7 +31,10 @@ if ([layer isKindOfClass:[MGLSymbolStyleLayer class]]) { return [NSImage imageNamed:@"symbol"]; } - + if ([layer isKindOfClass:[MGLHillshadeStyleLayer class]]) { + return [NSImage imageNamed:@"hillshade"]; + } + return nil; } diff --git a/platform/macos/app/resources/hillshade.svg b/platform/macos/app/resources/hillshade.svg new file mode 100644 index 0000000000..d3f0d72999 --- /dev/null +++ b/platform/macos/app/resources/hillshade.svg @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg4148" + version="1.1" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="hillshade.svg" + inkscape:export-filename="/Users/mxn/Desktop/symbol.png" + inkscape:export-xdpi="90.000244" + inkscape:export-ydpi="90.000244"> + <defs + id="defs4150" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="23.25" + inkscape:cx="6.2795699" + inkscape:cy="11.122067" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:window-width="1280" + inkscape:window-height="755" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="1" + inkscape:snap-bbox="true" /> + <metadata + id="metadata4153"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <path + sodipodi:type="star" + style="opacity:1;fill:#ffffff;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path839" + sodipodi:sides="3" + sodipodi:cx="12.189357" + sodipodi:cy="1045.3247" + sodipodi:r1="12.575057" + sodipodi:r2="6.2875285" + sodipodi:arg1="0.52359878" + sodipodi:arg2="1.5707963" + inkscape:flatsided="true" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 23.079676,1051.6122 -21.7806381,0 10.8903191,-18.8625 z" + inkscape:transform-center-y="-2.1749516" + transform="matrix(0.6563034,0,0,0.75784422,8.3706122e-5,254.83559)" /> + <path + transform="matrix(0.6563034,0,0,0.75784422,8.3706122e-5,254.83559)" + style="opacity:1;fill:#000000;fill-opacity:0.15686275;fill-rule:evenodd;stroke:none;stroke-width:1.50017999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:transform-center-y="-2.1749516" + d="m 23.079676,1051.6122 h -7.842948 l -3.047371,-18.8625 z" + id="path841" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/platform/macos/jazzy.yml b/platform/macos/jazzy.yml index 99f1119411..682ccd99ff 100644 --- a/platform/macos/jazzy.yml +++ b/platform/macos/jazzy.yml @@ -68,6 +68,7 @@ custom_categories: - MGLShapeSource - MGLComputedShapeSource - MGLRasterSource + - MGLRasterDEMSource - MGLVectorSource - name: Style Layers children: @@ -79,6 +80,7 @@ custom_categories: - MGLCircleStyleLayer - MGLFillStyleLayer - MGLFillExtrusionStyleLayer + - MGLHillshadeStyleLayer - MGLLineStyleLayer - MGLSymbolStyleLayer - name: Offline Maps diff --git a/platform/macos/macos.xcodeproj/project.pbxproj b/platform/macos/macos.xcodeproj/project.pbxproj index c232216814..090902fca4 100644 --- a/platform/macos/macos.xcodeproj/project.pbxproj +++ b/platform/macos/macos.xcodeproj/project.pbxproj @@ -23,8 +23,6 @@ 1F7454AB1ED1DDBD00021D39 /* MGLLightTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F7454AA1ED1DDBD00021D39 /* MGLLightTest.mm */; }; 1F95931B1E6DE2B600D5B294 /* MGLNSDateAdditionsTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F95931A1E6DE2B600D5B294 /* MGLNSDateAdditionsTests.mm */; }; 1F9EF4061FBA1B0E0063FBB0 /* mapbox_helmet.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 1F9EF4051FBA1B0D0063FBB0 /* mapbox_helmet.pdf */; }; - 1FCDF1421F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCDF1401F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.h */; }; - 1FCDF1431F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FCDF1411F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.m */; }; 30E5781B1DAA857E0050F07E /* NSImage+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E578141DAA7D920050F07E /* NSImage+MGLAdditions.h */; }; 3508EC641D749D39009B0EE4 /* NSExpression+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3508EC621D749D39009B0EE4 /* NSExpression+MGLAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3508EC651D749D39009B0EE4 /* NSExpression+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3508EC631D749D39009B0EE4 /* NSExpression+MGLAdditions.mm */; }; @@ -164,6 +162,8 @@ DAB2CCE51DF632ED001B2FE1 /* LimeGreenStyleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB2CCE41DF632ED001B2FE1 /* LimeGreenStyleLayer.m */; }; DAC25FCA200FD5E2009BE98E /* NSExpression+MGLPrivateAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DAC25FC9200FD5E2009BE98E /* NSExpression+MGLPrivateAdditions.h */; }; DAC2ABC51CC6D343006D18C4 /* MGLAnnotationImage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAC2ABC41CC6D343006D18C4 /* MGLAnnotationImage_Private.h */; }; + DACA8622201920BE00E9693A /* MGLRasterDEMSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DACA8620201920BE00E9693A /* MGLRasterDEMSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DACA8623201920BE00E9693A /* MGLRasterDEMSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACA8621201920BE00E9693A /* MGLRasterDEMSource.mm */; }; DACB0C391E18DFFD005DDBEA /* MGLStyle+MBXAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DACB0C381E18DFFD005DDBEA /* MGLStyle+MBXAdditions.m */; }; DACC22141CF3D3E200D220D9 /* MGLFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = DACC22121CF3D3E200D220D9 /* MGLFeature.h */; settings = {ATTRIBUTES = (Public, ); }; }; DACC22151CF3D3E200D220D9 /* MGLFeature.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACC22131CF3D3E200D220D9 /* MGLFeature.mm */; }; @@ -249,6 +249,9 @@ DAEDC4371D606291000224FF /* MGLAttributionButtonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEDC4361D606291000224FF /* MGLAttributionButtonTests.m */; }; DAF0D80E1DFE0E5D00B28378 /* MGLPointCollection_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF0D80D1DFE0E5D00B28378 /* MGLPointCollection_Private.h */; }; DAF0D8161DFE6B1800B28378 /* MGLAttributionInfo_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF0D8151DFE6B1800B28378 /* MGLAttributionInfo_Private.h */; }; + DAF25715201901C200367EF5 /* MGLHillshadeStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAF25713201901C100367EF5 /* MGLHillshadeStyleLayer.mm */; }; + DAF25716201901C200367EF5 /* MGLHillshadeStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF25714201901C200367EF5 /* MGLHillshadeStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DAF25721201902C100367EF5 /* MGLHillshadeStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAF2571D201902A500367EF5 /* MGLHillshadeStyleLayerTests.mm */; }; DD0902B21DB1AC6400C5BDCE /* MGLNetworkConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = DD0902AF1DB1AC6400C5BDCE /* MGLNetworkConfiguration.m */; }; DD0902B31DB1AC6400C5BDCE /* MGLNetworkConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0902B01DB1AC6400C5BDCE /* MGLNetworkConfiguration.h */; }; DD58A4C91D822C6700E1F038 /* MGLExpressionTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD58A4C71D822C6200E1F038 /* MGLExpressionTests.mm */; }; @@ -302,8 +305,6 @@ 1F7454AA1ED1DDBD00021D39 /* MGLLightTest.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLLightTest.mm; sourceTree = "<group>"; }; 1F95931A1E6DE2B600D5B294 /* MGLNSDateAdditionsTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLNSDateAdditionsTests.mm; path = ../../darwin/test/MGLNSDateAdditionsTests.mm; sourceTree = "<group>"; }; 1F9EF4051FBA1B0D0063FBB0 /* mapbox_helmet.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = mapbox_helmet.pdf; sourceTree = "<group>"; }; - 1FCDF1401F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MGLVectorSource+MGLAdditions.h"; sourceTree = "<group>"; }; - 1FCDF1411F2A4F3600A46694 /* MGLVectorSource+MGLAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MGLVectorSource+MGLAdditions.m"; sourceTree = "<group>"; }; 30E578141DAA7D920050F07E /* NSImage+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSImage+MGLAdditions.h"; path = "src/NSImage+MGLAdditions.h"; sourceTree = SOURCE_ROOT; }; 3508EC621D749D39009B0EE4 /* NSExpression+MGLAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSExpression+MGLAdditions.h"; sourceTree = "<group>"; }; 3508EC631D749D39009B0EE4 /* NSExpression+MGLAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = "NSExpression+MGLAdditions.mm"; sourceTree = "<group>"; }; @@ -511,6 +512,8 @@ DAB2CCE41DF632ED001B2FE1 /* LimeGreenStyleLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LimeGreenStyleLayer.m; sourceTree = "<group>"; }; DAC25FC9200FD5E2009BE98E /* NSExpression+MGLPrivateAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSExpression+MGLPrivateAdditions.h"; sourceTree = "<group>"; }; DAC2ABC41CC6D343006D18C4 /* MGLAnnotationImage_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAnnotationImage_Private.h; sourceTree = "<group>"; }; + DACA8620201920BE00E9693A /* MGLRasterDEMSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLRasterDEMSource.h; sourceTree = "<group>"; }; + DACA8621201920BE00E9693A /* MGLRasterDEMSource.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLRasterDEMSource.mm; sourceTree = "<group>"; }; DACB0C371E18DFFD005DDBEA /* MGLStyle+MBXAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MGLStyle+MBXAdditions.h"; sourceTree = "<group>"; }; DACB0C381E18DFFD005DDBEA /* MGLStyle+MBXAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MGLStyle+MBXAdditions.m"; sourceTree = "<group>"; }; DACBC6082011885800C4D7E2 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = "<group>"; }; @@ -613,6 +616,9 @@ DAEDC4361D606291000224FF /* MGLAttributionButtonTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLAttributionButtonTests.m; sourceTree = "<group>"; }; DAF0D80D1DFE0E5D00B28378 /* MGLPointCollection_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLPointCollection_Private.h; sourceTree = "<group>"; }; DAF0D8151DFE6B1800B28378 /* MGLAttributionInfo_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLAttributionInfo_Private.h; sourceTree = "<group>"; }; + DAF25713201901C100367EF5 /* MGLHillshadeStyleLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLHillshadeStyleLayer.mm; sourceTree = "<group>"; }; + DAF25714201901C200367EF5 /* MGLHillshadeStyleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHillshadeStyleLayer.h; sourceTree = "<group>"; }; + DAF2571D201902A500367EF5 /* MGLHillshadeStyleLayerTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLHillshadeStyleLayerTests.mm; sourceTree = "<group>"; }; DAFBD0D51E3FA969000CD6BF /* zh-Hant */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; }; DAFBD0D61E3FA983000CD6BF /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Foundation.strings"; sourceTree = "<group>"; }; DD0902AF1DB1AC6400C5BDCE /* MGLNetworkConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGLNetworkConfiguration.m; sourceTree = "<group>"; }; @@ -666,6 +672,8 @@ 35602BF91D3EA99F0050646F /* MGLFillStyleLayer.mm */, 35602BFD1D3EA9B40050646F /* MGLForegroundStyleLayer.h */, 35602BFE1D3EA9B40050646F /* MGLForegroundStyleLayer.mm */, + DAF25714201901C200367EF5 /* MGLHillshadeStyleLayer.h */, + DAF25713201901C100367EF5 /* MGLHillshadeStyleLayer.mm */, DA8F25891D51CA540010E6B5 /* MGLLineStyleLayer.h */, DA8F258A1D51CA540010E6B5 /* MGLLineStyleLayer.mm */, DA7262051DEEDD460043BB89 /* MGLOpenGLStyleLayer.h */, @@ -703,6 +711,8 @@ 352742831D4C244700A1ECE6 /* MGLRasterSource.h */, DA7DC9821DED647F0027472F /* MGLRasterSource_Private.h */, 352742841D4C244700A1ECE6 /* MGLRasterSource.mm */, + DACA8620201920BE00E9693A /* MGLRasterDEMSource.h */, + DACA8621201920BE00E9693A /* MGLRasterDEMSource.mm */, 352742871D4C245800A1ECE6 /* MGLShapeSource.h */, DA87A99B1DC9D8DD00810D09 /* MGLShapeSource_Private.h */, 352742881D4C245800A1ECE6 /* MGLShapeSource.mm */, @@ -870,6 +880,7 @@ DA2207BA1DC076930002F84D /* test-Bridging-Header.h */, DAA999001E9F5EC5002E6EA6 /* MGLFillExtrusionStyleLayerTests.mm */, DA8F25741D51C5F40010E6B5 /* MGLFillStyleLayerTests.mm */, + DAF2571D201902A500367EF5 /* MGLHillshadeStyleLayerTests.mm */, DA8F25751D51C5F40010E6B5 /* MGLRasterStyleLayerTests.mm */, DA8F25761D51C5F40010E6B5 /* MGLSymbolStyleLayerTests.mm */, DA8F25771D51C5F40010E6B5 /* MGLLineStyleLayerTests.mm */, @@ -1162,6 +1173,7 @@ DA8F259C1D51CB000010E6B5 /* MGLStyleValue_Private.h in Headers */, DAE6C35B1CC31E0400DB3429 /* MGLAnnotation.h in Headers */, DAE6C3B61CC31EF300DB3429 /* MGLMapView_Private.h in Headers */, + DAF25716201901C200367EF5 /* MGLHillshadeStyleLayer.h in Headers */, 92092EF01F5EB10E00AF5130 /* MGLMapSnapshotter.h in Headers */, 3527428D1D4C24AB00A1ECE6 /* MGLCircleStyleLayer.h in Headers */, DA00FC8A1D5EEAC3009AABC8 /* MGLAttributionInfo.h in Headers */, @@ -1189,6 +1201,7 @@ DA7DC9811DED5F5C0027472F /* MGLVectorSource_Private.h in Headers */, DAE6C3861CC31E2A00DB3429 /* MGLGeometry_Private.h in Headers */, DAE6C3841CC31E2A00DB3429 /* MGLAccountManager_Private.h in Headers */, + DACA8622201920BE00E9693A /* MGLRasterDEMSource.h in Headers */, DAE6C3691CC31E0400DB3429 /* MGLTypes.h in Headers */, 07D9474D1F67441B00E37934 /* MGLAbstractShapeSource_Private.h in Headers */, DAE6C3991CC31E2A00DB3429 /* NSException+MGLAdditions.h in Headers */, @@ -1466,6 +1479,7 @@ 07A019EF1ED665CD00ACD43E /* MGLImageSource.mm in Sources */, 92092EF11F5EB10E00AF5130 /* MGLMapSnapshotter.mm in Sources */, 40ABDB561DB0022100372083 /* NSImage+MGLAdditions.mm in Sources */, + DAF25715201901C200367EF5 /* MGLHillshadeStyleLayer.mm in Sources */, DAE6C3901CC31E2A00DB3429 /* MGLPointAnnotation.mm in Sources */, DAE6C3981CC31E2A00DB3429 /* NSBundle+MGLAdditions.m in Sources */, DAE6C3B71CC31EF300DB3429 /* MGLMapView.mm in Sources */, @@ -1525,6 +1539,7 @@ DAD165751CF4CD7A001FF4B9 /* MGLShapeCollection.mm in Sources */, 35C5D8481D6DD66D00E95907 /* NSComparisonPredicate+MGLAdditions.mm in Sources */, DA35A2AE1CCA091800E826B2 /* MGLCompassDirectionFormatter.m in Sources */, + DACA8623201920BE00E9693A /* MGLRasterDEMSource.mm in Sources */, DA8F258C1D51CA540010E6B5 /* MGLLineStyleLayer.mm in Sources */, DA8F25941D51CA750010E6B5 /* MGLSymbolStyleLayer.mm in Sources */, 3529039C1D6C63B80002C7DF /* NSPredicate+MGLAdditions.mm in Sources */, @@ -1551,6 +1566,7 @@ DA87A9A41DCACC5000810D09 /* MGLSymbolStyleLayerTests.mm in Sources */, 40E1601D1DF217D6005EA6D9 /* MGLStyleLayerTests.m in Sources */, 1F95931B1E6DE2B600D5B294 /* MGLNSDateAdditionsTests.mm in Sources */, + DAF25721201902C100367EF5 /* MGLHillshadeStyleLayerTests.mm in Sources */, DA87A9A61DCACC5000810D09 /* MGLCircleStyleLayerTests.mm in Sources */, DA87A99E1DC9DC2100810D09 /* MGLPredicateTests.mm in Sources */, DD58A4C91D822C6700E1F038 /* MGLExpressionTests.mm in Sources */, diff --git a/platform/macos/src/Mapbox.h b/platform/macos/src/Mapbox.h index 402c556998..7ea9a9dd1d 100644 --- a/platform/macos/src/Mapbox.h +++ b/platform/macos/src/Mapbox.h @@ -44,6 +44,7 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[]; #import "MGLRasterStyleLayer.h" #import "MGLCircleStyleLayer.h" #import "MGLBackgroundStyleLayer.h" +#import "MGLHillshadeStyleLayer.h" #import "MGLOpenGLStyleLayer.h" #import "MGLSource.h" #import "MGLTileSource.h" @@ -52,6 +53,7 @@ FOUNDATION_EXPORT MGL_EXPORT const unsigned char MapboxVersionString[]; #import "MGLAbstractShapeSource.h" #import "MGLComputedShapeSource.h" #import "MGLRasterSource.h" +#import "MGLRasterDEMSource.h" #import "MGLImageSource.h" #import "MGLTilePyramidOfflineRegion.h" #import "MGLTypes.h" |