# Conflicts: # .travis.yml # circle.yml # cmake/core-files.cmake # include/mbgl/style/function/composite_function.hpp # platform/android/CHANGELOG.md # platform/android/MapboxGLAndroidSDK/build.gradle # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MyBearingTracking.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MyLocationTracking.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationSource.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/TrackingSettings.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Position.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/utils/BitmapUtils.java # platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java # platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/light.junit.ejs # platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/CameraPositionActivity.java # platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MockLocationEngine.java # platform/android/dependencies.gradle # platform/android/src/native_map_view.cpp # platform/darwin/scripts/generate-style-code.js # platform/darwin/src/MGLGeometry_Private.h # platform/darwin/src/MGLLight.h # platform/darwin/src/MGLLight.mm # platform/darwin/src/MGLSource.h # platform/darwin/src/MGLStyle.h # platform/darwin/src/MGLStyle.mm # platform/darwin/test/MGLLightTest.mm # platform/default/default_file_source.cpp # platform/ios/CHANGELOG.md # platform/ios/Mapbox-iOS-SDK-symbols.podspec # platform/ios/Mapbox-iOS-SDK.podspec # platform/ios/resources/Images.xcassets/default_marker.imageset/default_marker.pdf # platform/macos/CHANGELOG.md # scripts/generate-shaders.js # src/mbgl/layout/symbol_layout.cpp # src/mbgl/programs/program.hpp # src/mbgl/programs/symbol_program.hpp # src/mbgl/programs/uniforms.hpp # src/mbgl/renderer/frame_history.cpp # src/mbgl/renderer/paint_property_binder.hpp # src/mbgl/shaders/line.cpp # src/mbgl/shaders/line_pattern.cpp # src/mbgl/shaders/line_sdf.cpp # src/mbgl/sprite/sprite_atlas.hpp # src/mbgl/style/layers/line_layer_properties.hpp # src/mbgl/style/sources/geojson_source.cpp # src/mbgl/style/style.cpp # src/mbgl/text/glyph_atlas.hpp # src/mbgl/tile/geometry_tile.cpp # src/mbgl/tile/geometry_tile.hpp # test/style/style.test.cpp
194 lines
6.4 KiB
Objective-C
194 lines
6.4 KiB
Objective-C
// This file is generated.
|
||
// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`.
|
||
|
||
#import <CoreLocation/CoreLocation.h>
|
||
|
||
#import "MGLFoundation.h"
|
||
#import "MGLStyleValue.h"
|
||
|
||
NS_ASSUME_NONNULL_BEGIN
|
||
|
||
/**
|
||
Whether extruded geometries are lit relative to the map or viewport.
|
||
*/
|
||
typedef NS_ENUM(NSUInteger, MGLLightAnchor) {
|
||
/**
|
||
The position of the light source is aligned to the rotation of the map.
|
||
*/
|
||
MGLLightAnchorMap,
|
||
/**
|
||
The position of the light source is aligned to the rotation of the
|
||
viewport.
|
||
*/
|
||
MGLLightAnchorViewport,
|
||
};
|
||
|
||
/**
|
||
A structure containing information about the position of the light source
|
||
relative to lit geometries.
|
||
*/
|
||
typedef struct MGLSphericalPosition {
|
||
/** Distance from the center of the base of an object to its light. */
|
||
CGFloat radial;
|
||
/** Position of the light relative to 0° (0° when `MGLLight.anchor` is set to viewport corresponds
|
||
to the top of the viewport, or 0° when `MGLLight.anchor` is set to map corresponds to due north,
|
||
and degrees proceed clockwise). */
|
||
CLLocationDirection azimuthal;
|
||
/** Indicates the height of the light (from 0°, directly above, to 180°, directly below). */
|
||
CLLocationDirection polar;
|
||
} MGLSphericalPosition;
|
||
|
||
/**
|
||
Creates a new `MGLSphericalPosition` from the given radial, azimuthal, polar.
|
||
|
||
@param radial The radial coordinate.
|
||
@param azimuthal The azimuthal angle.
|
||
@param polar The polar angle.
|
||
|
||
@return Returns a `MGLSphericalPosition` struct containing the position attributes.
|
||
*/
|
||
NS_INLINE MGLSphericalPosition MGLSphericalPositionMake(CGFloat radial, CLLocationDirection azimuthal, CLLocationDirection polar) {
|
||
MGLSphericalPosition position;
|
||
position.radial = radial;
|
||
position.azimuthal = azimuthal;
|
||
position.polar = polar;
|
||
|
||
return position;
|
||
}
|
||
|
||
/**
|
||
An `MGLLight` object represents the light source for extruded geometries in `MGLStyle`.
|
||
*/
|
||
MGL_EXPORT
|
||
@interface MGLLight : NSObject
|
||
|
||
/**
|
||
Whether extruded geometries are lit relative to the map or viewport.
|
||
|
||
The default value of this property is an `MGLStyleValue` object containing an
|
||
`NSValue` object containing `MGLLightAnchorViewport`.
|
||
|
||
You can set this property to an instance of:
|
||
|
||
* `MGLConstantStyleValue`
|
||
* `MGLCameraStyleFunction` with an interpolation mode of
|
||
`MGLInterpolationModeInterval`
|
||
|
||
This property corresponds to the <a
|
||
href="https://www.mapbox.com/mapbox-gl-js/style-spec/#light-anchor"><code>anchor</code></a>
|
||
light property in the Mapbox Style Specification.
|
||
*/
|
||
@property (nonatomic) MGLStyleValue<NSValue *> *anchor;
|
||
|
||
/**
|
||
Position of the `MGLLight` source relative to lit (extruded) geometries, in a
|
||
`MGLSphericalPosition` struct [radial coordinate, azimuthal angle, polar angle]
|
||
where radial indicates the distance from the center of the base of an object to
|
||
its light, azimuthal indicates the position of the light relative to 0° (0°
|
||
when `MGLLight.anchor` is set to `MGLLightAnchorViewport` corresponds to the
|
||
top of the viewport, or 0° when `MGLLight.anchor` is set to `MGLLightAnchorMap`
|
||
corresponds to due north, and degrees proceed clockwise), and polar indicates
|
||
the height of the light (from 0°, directly above, to 180°, directly below).
|
||
|
||
The default value of this property is an `MGLStyleValue` object containing an
|
||
`MGLSphericalPosition` struct set to 1.15 radial, 210 azimuthal and 30 polar.
|
||
|
||
You can set this property to an instance of:
|
||
|
||
* `MGLConstantStyleValue`
|
||
* `MGLCameraStyleFunction` with an interpolation mode of:
|
||
* `MGLInterpolationModeExponential`
|
||
* `MGLInterpolationModeInterval`
|
||
|
||
This property corresponds to the <a
|
||
href="https://www.mapbox.com/mapbox-gl-js/style-spec/#light-position"><code>position</code></a>
|
||
light property in the Mapbox Style Specification.
|
||
*/
|
||
@property (nonatomic) MGLStyleValue<NSValue *> *position;
|
||
|
||
/**
|
||
The transition affecting any changes to this layer’s `position` property.
|
||
|
||
This property corresponds to the `position-transition` property in the style JSON file format.
|
||
*/
|
||
@property (nonatomic) MGLTransition positionTransition;
|
||
|
||
#if TARGET_OS_IPHONE
|
||
/**
|
||
Color tint for lighting extruded geometries.
|
||
|
||
The default value of this property is an `MGLStyleValue` object containing
|
||
`UIColor.whiteColor`.
|
||
|
||
You can set this property to an instance of:
|
||
|
||
* `MGLConstantStyleValue`
|
||
* `MGLCameraStyleFunction` with an interpolation mode of:
|
||
* `MGLInterpolationModeExponential`
|
||
* `MGLInterpolationModeInterval`
|
||
|
||
This property corresponds to the <a
|
||
href="https://www.mapbox.com/mapbox-gl-js/style-spec/#light-color"><code>color</code></a>
|
||
light property in the Mapbox Style Specification.
|
||
*/
|
||
@property (nonatomic) MGLStyleValue<UIColor *> *color;
|
||
#else
|
||
/**
|
||
Color tint for lighting extruded geometries.
|
||
|
||
The default value of this property is an `MGLStyleValue` object containing
|
||
`NSColor.whiteColor`.
|
||
|
||
You can set this property to an instance of:
|
||
|
||
* `MGLConstantStyleValue`
|
||
* `MGLCameraStyleFunction` with an interpolation mode of:
|
||
* `MGLInterpolationModeExponential`
|
||
* `MGLInterpolationModeInterval`
|
||
|
||
This property corresponds to the <a
|
||
href="https://www.mapbox.com/mapbox-gl-js/style-spec/#light-color"><code>color</code></a>
|
||
light property in the Mapbox Style Specification.
|
||
*/
|
||
@property (nonatomic) MGLStyleValue<NSColor *> *color;
|
||
#endif
|
||
|
||
/**
|
||
The transition affecting any changes to this layer’s `color` property.
|
||
|
||
This property corresponds to the `color-transition` property in the style JSON file format.
|
||
*/
|
||
@property (nonatomic) MGLTransition colorTransition;
|
||
|
||
/**
|
||
Intensity of lighting (on a scale from 0 to 1). Higher numbers will present as
|
||
more extreme contrast.
|
||
|
||
The default value of this property is an `MGLStyleValue` object containing an
|
||
`NSNumber` object containing the float `0.5`.
|
||
|
||
You can set this property to an instance of:
|
||
|
||
* `MGLConstantStyleValue`
|
||
* `MGLCameraStyleFunction` with an interpolation mode of:
|
||
* `MGLInterpolationModeExponential`
|
||
* `MGLInterpolationModeInterval`
|
||
|
||
This property corresponds to the <a
|
||
href="https://www.mapbox.com/mapbox-gl-js/style-spec/#light-intensity"><code>intensity</code></a>
|
||
light property in the Mapbox Style Specification.
|
||
*/
|
||
@property (nonatomic) MGLStyleValue<NSNumber *> *intensity;
|
||
|
||
/**
|
||
The transition affecting any changes to this layer’s `intensity` property.
|
||
|
||
This property corresponds to the `intensity-transition` property in the style JSON file format.
|
||
*/
|
||
@property (nonatomic) MGLTransition intensityTransition;
|
||
|
||
|
||
@end
|
||
|
||
NS_ASSUME_NONNULL_END
|