diff options
Diffstat (limited to 'platform/darwin/src/MGLLineStyleLayer.h')
-rw-r--r-- | platform/darwin/src/MGLLineStyleLayer.h | 671 |
1 files changed, 0 insertions, 671 deletions
diff --git a/platform/darwin/src/MGLLineStyleLayer.h b/platform/darwin/src/MGLLineStyleLayer.h deleted file mode 100644 index 3400f7e75b..0000000000 --- a/platform/darwin/src/MGLLineStyleLayer.h +++ /dev/null @@ -1,671 +0,0 @@ -// This file is generated. -// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. - -#import "MGLFoundation.h" -#import "MGLVectorStyleLayer.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - The display of line endings. - - Values of this type are used in the `MGLLineStyleLayer.lineCap` - property. - */ -typedef NS_ENUM(NSUInteger, MGLLineCap) { - /** - A cap with a squared-off end which is drawn to the exact endpoint of the - line. - */ - MGLLineCapButt, - /** - A cap with a rounded end which is drawn beyond the endpoint of the line at - a radius of one-half of the line's width and centered on the endpoint of - the line. - */ - MGLLineCapRound, - /** - A cap with a squared-off end which is drawn beyond the endpoint of the line - at a distance of one-half of the line's width. - */ - MGLLineCapSquare, -}; - -/** - The display of lines when joining. - - Values of this type are used in the `MGLLineStyleLayer.lineJoin` - property. - */ -typedef NS_ENUM(NSUInteger, MGLLineJoin) { - /** - A join with a squared-off end which is drawn beyond the endpoint of the - line at a distance of one-half of the line's width. - */ - MGLLineJoinBevel, - /** - A join with a rounded end which is drawn beyond the endpoint of the line at - a radius of one-half of the line's width and centered on the endpoint of - the line. - */ - MGLLineJoinRound, - /** - A join with a sharp, angled corner which is drawn with the outer sides - beyond the endpoint of the path until they meet. - */ - MGLLineJoinMiter, -}; - -/** - Controls the frame of reference for `MGLLineStyleLayer.lineTranslation`. - - Values of this type are used in the `MGLLineStyleLayer.lineTranslationAnchor` - property. - */ -typedef NS_ENUM(NSUInteger, MGLLineTranslationAnchor) { - /** - The line is translated relative to the map. - */ - MGLLineTranslationAnchorMap, - /** - The line is translated relative to the viewport. - */ - MGLLineTranslationAnchorViewport, -}; - -/** - An `MGLLineStyleLayer` is a style layer that renders one or more stroked - polylines on the map. - - Use a line style layer to configure the visual appearance of polyline or - multipolyline features. These features can come from vector tiles loaded by an - `MGLVectorTileSource` object, or they can be `MGLPolyline`, - `MGLPolylineFeature`, `MGLMultiPolyline`, or `MGLMultiPolylineFeature` - instances in an `MGLShapeSource` or `MGLComputedShapeSource` object. - - You can access an existing line style layer using the - `-[MGLStyle layerWithIdentifier:]` method if you know its identifier; - otherwise, find it using the `MGLStyle.layers` property. You can also create a - new line style layer and add it to the style using a method such as - `-[MGLStyle addLayer:]`. - - #### Related examples - See the <a - href="https://docs.mapbox.com/ios/maps/examples/shape-collection/">Add multiple - shapes from a single shape source</a> example to learn how to add a line to - your map using this style layer. See the <a - href="https://docs.mapbox.com/ios/maps/examples/runtime-add-line/">Add a line - style layer from GeoJSON</a> example to learn how to add and style line data to - an `MGLMapView` object at runtime. - - ### Example - - ```swift - let layer = MGLLineStyleLayer(identifier: "trails-path", source: trails) - layer.sourceLayerIdentifier = "trails" - layer.lineWidth = NSExpression(format: "mgl_interpolate:withCurveType:parameters:stops:($zoomLevel, 'exponential', 1.5, %@)", - [14: 2, - 18: 20]) - layer.lineColor = NSExpression(forConstantValue: UIColor.brown) - layer.lineCap = NSExpression(forConstantValue: "round") - layer.predicate = NSPredicate(format: "%K == %@", "trail-type", "mountain-biking") - mapView.style?.addLayer(layer) - ``` - */ -MGL_EXPORT -@interface MGLLineStyleLayer : MGLVectorStyleLayer - -/** - Returns a line style layer initialized with an identifier and source. - - After initializing and configuring the style layer, add it to a map view’s - style using the `-[MGLStyle addLayer:]` or - `-[MGLStyle insertLayer:belowLayer:]` method. - - @param identifier A string that uniquely identifies the source in the style to - which it is added. - @param source The source from which to obtain the data to style. If the source - has not yet been added to the current style, the behavior is undefined. - @return An initialized foreground style layer. - */ -- (instancetype)initWithIdentifier:(NSString *)identifier source:(MGLSource *)source; - -#pragma mark - Accessing the Layout Attributes - -/** - The display of line endings. - - The default value of this property is an expression that evaluates to `butt`. - Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant `MGLLineCap` values - * Any of the following constant string values: - * `butt`: A cap with a squared-off end which is drawn to the exact endpoint - of the line. - * `round`: A cap with a rounded end which is drawn beyond the endpoint of the - line at a radius of one-half of the line's width and centered on the endpoint - of the line. - * `square`: A cap with a squared-off end which is drawn beyond the endpoint - of the line at a distance of one-half of the line's width. - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation functions to the - `$zoomLevel` variable or applying interpolation or step functions to feature - attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineCap; - -/** - The display of lines when joining. - - The default value of this property is an expression that evaluates to `miter`. - Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant `MGLLineJoin` values - * Any of the following constant string values: - * `bevel`: A join with a squared-off end which is drawn beyond the endpoint - of the line at a distance of one-half of the line's width. - * `round`: A join with a rounded end which is drawn beyond the endpoint of - the line at a radius of one-half of the line's width and centered on the - endpoint of the line. - * `miter`: A join with a sharp, angled corner which is drawn with the outer - sides beyond the endpoint of the path until they meet. - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineJoin; - -/** - Used to automatically convert miter joins to bevel joins for sharp angles. - - The default value of this property is an expression that evaluates to the float - `2`. Set this property to `nil` to reset it to the default value. - - This property is only applied to the style if `lineJoin` is set to an - expression that evaluates to `miter`. Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant numeric values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineMiterLimit; - -/** - Used to automatically convert round joins to miter joins for shallow angles. - - The default value of this property is an expression that evaluates to the float - `1.05`. Set this property to `nil` to reset it to the default value. - - This property is only applied to the style if `lineJoin` is set to an - expression that evaluates to `round`. Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant numeric values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineRoundLimit; - -#pragma mark - Accessing the Paint Attributes - -/** - Blur applied to the line, in points. - - This property is measured in points. - - The default value of this property is an expression that evaluates to the float - `0`. Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant numeric values no less than 0 - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineBlur; - -/** - The transition affecting any changes to this layer’s `lineBlur` property. - - This property corresponds to the `line-blur-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineBlurTransition; - -#if TARGET_OS_IPHONE -/** - The color with which the line will be drawn. - - The default value of this property is an expression that evaluates to - `UIColor.blackColor`. Set this property to `nil` to reset it to the default - value. - - This property is only applied to the style if `linePattern` is set to `nil`. - Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant `UIColor` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineColor; -#else -/** - The color with which the line will be drawn. - - The default value of this property is an expression that evaluates to - `NSColor.blackColor`. Set this property to `nil` to reset it to the default - value. - - This property is only applied to the style if `linePattern` is set to `nil`. - Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant `NSColor` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineColor; -#endif - -/** - The transition affecting any changes to this layer’s `lineColor` property. - - This property corresponds to the `line-color-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineColorTransition; - -/** - Specifies the lengths of the alternating dashes and gaps that form the dash - pattern. The lengths are later scaled by the line width. To convert a dash - length to points, multiply the length by the current line width. Note that - GeoJSON sources with `lineMetrics: true` specified won't render dashed lines to - the expected scale. Also note that zoom-dependent expressions will be evaluated - only at integer zoom levels. - - This property is measured in line widths. - - This property is only applied to the style if `linePattern` is set to `nil`. - Otherwise, it is ignored. - - This attribute corresponds to the <a - href="https://www.mapbox.com/mapbox-gl-style-spec/#paint-line-dasharray"><code>line-dasharray</code></a> - layout property in the Mapbox Style Specification. - - You can set this property to an expression containing any of the following: - - * Constant array values no less than 0 - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation functions to the - `$zoomLevel` variable or applying interpolation or step functions to feature - attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineDashPattern; - -/** - The transition affecting any changes to this layer’s `lineDashPattern` property. - - This property corresponds to the `line-dasharray-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineDashPatternTransition; - -@property (nonatomic, null_resettable) NSExpression *lineDasharray __attribute__((unavailable("Use lineDashPattern instead."))); - -/** - Draws a line casing outside of a line's actual path. Value indicates the width - of the inner gap. - - This property is measured in points. - - The default value of this property is an expression that evaluates to the float - `0`. Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant numeric values no less than 0 - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineGapWidth; - -/** - The transition affecting any changes to this layer’s `lineGapWidth` property. - - This property corresponds to the `line-gap-width-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineGapWidthTransition; - -#if TARGET_OS_IPHONE -/** - The color gradient with which the line will be drawn. This property only has an - effect on lines defined by an `MGLShapeSource` whose - `MGLShapeSourceOptionLineDistanceMetrics` option is set to `YES`. - - This property is only applied to the style if `lineDasharray` is set to `nil`, - and `linePattern` is set to `nil`, and the data source requirements are met. - Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant `UIColor` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$lineProgress` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineGradient; -#else -/** - The color gradient with which the line will be drawn. This property only has an - effect on lines defined by an `MGLShapeSource` whose - `MGLShapeSourceOptionLineDistanceMetrics` option is set to `YES`. - - This property is only applied to the style if `lineDasharray` is set to `nil`, - and `linePattern` is set to `nil`, and the data source requirements are met. - Otherwise, it is ignored. - - You can set this property to an expression containing any of the following: - - * Constant `NSColor` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$lineProgress` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineGradient; -#endif - -/** - The line's offset. For linear features, a positive value offsets the line to - the right, relative to the direction of the line, and a negative value to the - left. For polygon features, a positive value results in an inset, and a - negative value results in an outset. - - This property is measured in points. - - The default value of this property is an expression that evaluates to the float - `0`. Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant numeric values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineOffset; - -/** - The transition affecting any changes to this layer’s `lineOffset` property. - - This property corresponds to the `line-offset-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineOffsetTransition; - -/** - The opacity at which the line will be drawn. - - The default value of this property is an expression that evaluates to the float - `1`. Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant numeric values between 0 and 1 inclusive - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineOpacity; - -/** - The transition affecting any changes to this layer’s `lineOpacity` property. - - This property corresponds to the `line-opacity-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineOpacityTransition; - -/** - Name of image in style images to use for drawing image lines. For seamless - patterns, image width must be a factor of two (2, 4, 8, ..., 512). - - You can set this property to an expression containing any of the following: - - * Constant string values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *linePattern; - -/** - The transition affecting any changes to this layer’s `linePattern` property. - - This property corresponds to the `line-pattern-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition linePatternTransition; - -#if TARGET_OS_IPHONE -/** - The geometry's offset. - - This property is measured in points. - - The default value of this property is an expression that evaluates to an - `NSValue` object containing a `CGVector` struct set to 0 points rightward and 0 - points downward. Set this property to `nil` to reset it to the default value. - - This attribute corresponds to the <a - href="https://www.mapbox.com/mapbox-gl-style-spec/#paint-line-translate"><code>line-translate</code></a> - layout property in the Mapbox Style Specification. - - You can set this property to an expression containing any of the following: - - * Constant `CGVector` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineTranslation; -#else -/** - The geometry's offset. - - This property is measured in points. - - The default value of this property is an expression that evaluates to an - `NSValue` object containing a `CGVector` struct set to 0 points rightward and 0 - points upward. Set this property to `nil` to reset it to the default value. - - This attribute corresponds to the <a - href="https://www.mapbox.com/mapbox-gl-style-spec/#paint-line-translate"><code>line-translate</code></a> - layout property in the Mapbox Style Specification. - - You can set this property to an expression containing any of the following: - - * Constant `CGVector` values - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation or step functions to - feature attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineTranslation; -#endif - -/** - The transition affecting any changes to this layer’s `lineTranslation` property. - - This property corresponds to the `line-translate-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineTranslationTransition; - -@property (nonatomic, null_resettable) NSExpression *lineTranslate __attribute__((unavailable("Use lineTranslation instead."))); - -/** - Controls the frame of reference for `lineTranslation`. - - The default value of this property is an expression that evaluates to `map`. - Set this property to `nil` to reset it to the default value. - - This property is only applied to the style if `lineTranslation` is non-`nil`. - Otherwise, it is ignored. - - This attribute corresponds to the <a - href="https://www.mapbox.com/mapbox-gl-style-spec/#paint-line-translate-anchor"><code>line-translate-anchor</code></a> - layout property in the Mapbox Style Specification. - - You can set this property to an expression containing any of the following: - - * Constant `MGLLineTranslationAnchor` values - * Any of the following constant string values: - * `map`: The line is translated relative to the map. - * `viewport`: The line is translated relative to the viewport. - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Step functions applied to the `$zoomLevel` variable - - This property does not support applying interpolation functions to the - `$zoomLevel` variable or applying interpolation or step functions to feature - attributes. - */ -@property (nonatomic, null_resettable) NSExpression *lineTranslationAnchor; - -@property (nonatomic, null_resettable) NSExpression *lineTranslateAnchor __attribute__((unavailable("Use lineTranslationAnchor instead."))); - -/** - Stroke thickness. - - This property is measured in points. - - The default value of this property is an expression that evaluates to the float - `1`. Set this property to `nil` to reset it to the default value. - - You can set this property to an expression containing any of the following: - - * Constant numeric values no less than 0 - * Predefined functions, including mathematical and string operators - * Conditional expressions - * Variable assignments and references to assigned variables - * Interpolation and step functions applied to the `$zoomLevel` variable and/or - feature attributes - */ -@property (nonatomic, null_resettable) NSExpression *lineWidth; - -/** - The transition affecting any changes to this layer’s `lineWidth` property. - - This property corresponds to the `line-width-transition` property in the style JSON file format. -*/ -@property (nonatomic) MGLTransition lineWidthTransition; - -@end - -/** - Methods for wrapping an enumeration value for a style layer attribute in an - `MGLLineStyleLayer` object and unwrapping its raw value. - */ -@interface NSValue (MGLLineStyleLayerAdditions) - -#pragma mark Working with Line Style Layer Attribute Values - -/** - Creates a new value object containing the given `MGLLineCap` enumeration. - - @param lineCap The value for the new object. - @return A new value object that contains the enumeration value. - */ -+ (instancetype)valueWithMGLLineCap:(MGLLineCap)lineCap; - -/** - The `MGLLineCap` enumeration representation of the value. - */ -@property (readonly) MGLLineCap MGLLineCapValue; - -/** - Creates a new value object containing the given `MGLLineJoin` enumeration. - - @param lineJoin The value for the new object. - @return A new value object that contains the enumeration value. - */ -+ (instancetype)valueWithMGLLineJoin:(MGLLineJoin)lineJoin; - -/** - The `MGLLineJoin` enumeration representation of the value. - */ -@property (readonly) MGLLineJoin MGLLineJoinValue; - -/** - Creates a new value object containing the given `MGLLineTranslationAnchor` enumeration. - - @param lineTranslationAnchor The value for the new object. - @return A new value object that contains the enumeration value. - */ -+ (instancetype)valueWithMGLLineTranslationAnchor:(MGLLineTranslationAnchor)lineTranslationAnchor; - -/** - The `MGLLineTranslationAnchor` enumeration representation of the value. - */ -@property (readonly) MGLLineTranslationAnchor MGLLineTranslationAnchorValue; - -@end - -NS_ASSUME_NONNULL_END |