summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLLineStyleLayer.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLLineStyleLayer.mm')
-rw-r--r--platform/darwin/src/MGLLineStyleLayer.mm121
1 files changed, 121 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLLineStyleLayer.mm b/platform/darwin/src/MGLLineStyleLayer.mm
index 80b1e907e6..1b44f620f1 100644
--- a/platform/darwin/src/MGLLineStyleLayer.mm
+++ b/platform/darwin/src/MGLLineStyleLayer.mm
@@ -4,6 +4,7 @@
#import "MGLSource.h"
#import "MGLMapView_Private.h"
#import "NSPredicate+MGLAdditions.h"
+#import "NSDate+MGLAdditions.h"
#import "MGLStyleLayer_Private.h"
#import "MGLStyleValue_Private.h"
#import "MGLLineStyleLayer.h"
@@ -211,6 +212,26 @@ namespace mbgl {
#pragma mark - Accessing the Paint Attributes
+- (NSArray *)transitionKeys
+{
+ NSMutableArray *transitionKeys = [NSMutableArray array];
+ [transitionKeys addObject:@"lineBlur"];
+ [transitionKeys addObject:@"lineColor"];
+ [transitionKeys addObject:@"lineDashPattern"];
+ [transitionKeys addObject:@"lineDasharray"];
+ [transitionKeys addObject:@"lineGapWidth"];
+ [transitionKeys addObject:@"lineOffset"];
+ [transitionKeys addObject:@"lineOpacity"];
+ [transitionKeys addObject:@"linePattern"];
+ [transitionKeys addObject:@"lineTranslation"];
+ [transitionKeys addObject:@"lineTranslate"];
+ [transitionKeys addObject:@"lineTranslationAnchor"];
+ [transitionKeys addObject:@"lineTranslateAnchor"];
+ [transitionKeys addObject:@"lineWidth"];
+
+ return transitionKeys;
+}
+
- (void)setLineBlur:(MGLStyleValue<NSNumber *> *)lineBlur {
MGLAssertStyleLayerIsValid();
@@ -218,6 +239,16 @@ namespace mbgl {
self.rawLayer->setLineBlur(mbglValue);
}
+- (void)mbx_setLineBlurTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineBlurTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)lineBlur {
MGLAssertStyleLayerIsValid();
@@ -235,6 +266,16 @@ namespace mbgl {
self.rawLayer->setLineColor(mbglValue);
}
+- (void)mbx_setLineColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)lineColor {
MGLAssertStyleLayerIsValid();
@@ -252,6 +293,16 @@ namespace mbgl {
self.rawLayer->setLineDasharray(mbglValue);
}
+- (void)mbx_setLineDashPatternTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineDasharrayTransition(options);
+}
+
- (MGLStyleValue<NSArray<NSNumber *> *> *)lineDashPattern {
MGLAssertStyleLayerIsValid();
@@ -276,6 +327,16 @@ namespace mbgl {
self.rawLayer->setLineGapWidth(mbglValue);
}
+- (void)mbx_setLineGapWidthTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineGapWidthTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)lineGapWidth {
MGLAssertStyleLayerIsValid();
@@ -293,6 +354,16 @@ namespace mbgl {
self.rawLayer->setLineOffset(mbglValue);
}
+- (void)mbx_setLineOffsetTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineOffsetTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)lineOffset {
MGLAssertStyleLayerIsValid();
@@ -310,6 +381,16 @@ namespace mbgl {
self.rawLayer->setLineOpacity(mbglValue);
}
+- (void)mbx_setLineOpacityTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineOpacityTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)lineOpacity {
MGLAssertStyleLayerIsValid();
@@ -327,6 +408,16 @@ namespace mbgl {
self.rawLayer->setLinePattern(mbglValue);
}
+- (void)mbx_setLinePatternTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLinePatternTransition(options);
+}
+
- (MGLStyleValue<NSString *> *)linePattern {
MGLAssertStyleLayerIsValid();
@@ -344,6 +435,16 @@ namespace mbgl {
self.rawLayer->setLineTranslate(mbglValue);
}
+- (void)mbx_setLineTranslationTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineTranslateTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)lineTranslation {
MGLAssertStyleLayerIsValid();
@@ -368,6 +469,16 @@ namespace mbgl {
self.rawLayer->setLineTranslateAnchor(mbglValue);
}
+- (void)mbx_setLineTranslationAnchorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineTranslateAnchorTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)lineTranslationAnchor {
MGLAssertStyleLayerIsValid();
@@ -392,6 +503,16 @@ namespace mbgl {
self.rawLayer->setLineWidth(mbglValue);
}
+- (void)mbx_setLineWidthTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setLineWidthTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)lineWidth {
MGLAssertStyleLayerIsValid();