summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLSymbolStyleLayer.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLSymbolStyleLayer.mm')
-rw-r--r--platform/darwin/src/MGLSymbolStyleLayer.mm166
1 files changed, 166 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLSymbolStyleLayer.mm b/platform/darwin/src/MGLSymbolStyleLayer.mm
index 52648e7a05..16d0db7d09 100644
--- a/platform/darwin/src/MGLSymbolStyleLayer.mm
+++ b/platform/darwin/src/MGLSymbolStyleLayer.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 "MGLSymbolStyleLayer.h"
@@ -887,6 +888,31 @@ namespace mbgl {
#pragma mark - Accessing the Paint Attributes
+- (NSArray *)transitionKeys
+{
+ NSMutableArray *transitionKeys = [NSMutableArray array];
+ [transitionKeys addObject:@"iconColor"];
+ [transitionKeys addObject:@"iconHaloBlur"];
+ [transitionKeys addObject:@"iconHaloColor"];
+ [transitionKeys addObject:@"iconHaloWidth"];
+ [transitionKeys addObject:@"iconOpacity"];
+ [transitionKeys addObject:@"iconTranslation"];
+ [transitionKeys addObject:@"iconTranslate"];
+ [transitionKeys addObject:@"iconTranslationAnchor"];
+ [transitionKeys addObject:@"iconTranslateAnchor"];
+ [transitionKeys addObject:@"textColor"];
+ [transitionKeys addObject:@"textHaloBlur"];
+ [transitionKeys addObject:@"textHaloColor"];
+ [transitionKeys addObject:@"textHaloWidth"];
+ [transitionKeys addObject:@"textOpacity"];
+ [transitionKeys addObject:@"textTranslation"];
+ [transitionKeys addObject:@"textTranslate"];
+ [transitionKeys addObject:@"textTranslationAnchor"];
+ [transitionKeys addObject:@"textTranslateAnchor"];
+
+ return transitionKeys;
+}
+
- (void)setIconColor:(MGLStyleValue<MGLColor *> *)iconColor {
MGLAssertStyleLayerIsValid();
@@ -894,6 +920,16 @@ namespace mbgl {
self.rawLayer->setIconColor(mbglValue);
}
+- (void)mbx_setIconColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)iconColor {
MGLAssertStyleLayerIsValid();
@@ -911,6 +947,16 @@ namespace mbgl {
self.rawLayer->setIconHaloBlur(mbglValue);
}
+- (void)mbx_setIconHaloBlurTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconHaloBlurTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)iconHaloBlur {
MGLAssertStyleLayerIsValid();
@@ -928,6 +974,16 @@ namespace mbgl {
self.rawLayer->setIconHaloColor(mbglValue);
}
+- (void)mbx_setIconHaloColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconHaloColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)iconHaloColor {
MGLAssertStyleLayerIsValid();
@@ -945,6 +1001,16 @@ namespace mbgl {
self.rawLayer->setIconHaloWidth(mbglValue);
}
+- (void)mbx_setIconHaloWidthTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconHaloWidthTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)iconHaloWidth {
MGLAssertStyleLayerIsValid();
@@ -962,6 +1028,16 @@ namespace mbgl {
self.rawLayer->setIconOpacity(mbglValue);
}
+- (void)mbx_setIconOpacityTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconOpacityTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)iconOpacity {
MGLAssertStyleLayerIsValid();
@@ -979,6 +1055,16 @@ namespace mbgl {
self.rawLayer->setIconTranslate(mbglValue);
}
+- (void)mbx_setIconTranslationTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconTranslateTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)iconTranslation {
MGLAssertStyleLayerIsValid();
@@ -1003,6 +1089,16 @@ namespace mbgl {
self.rawLayer->setIconTranslateAnchor(mbglValue);
}
+- (void)mbx_setIconTranslationAnchorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setIconTranslateAnchorTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)iconTranslationAnchor {
MGLAssertStyleLayerIsValid();
@@ -1027,6 +1123,16 @@ namespace mbgl {
self.rawLayer->setTextColor(mbglValue);
}
+- (void)mbx_setTextColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)textColor {
MGLAssertStyleLayerIsValid();
@@ -1044,6 +1150,16 @@ namespace mbgl {
self.rawLayer->setTextHaloBlur(mbglValue);
}
+- (void)mbx_setTextHaloBlurTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextHaloBlurTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)textHaloBlur {
MGLAssertStyleLayerIsValid();
@@ -1061,6 +1177,16 @@ namespace mbgl {
self.rawLayer->setTextHaloColor(mbglValue);
}
+- (void)mbx_setTextHaloColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextHaloColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)textHaloColor {
MGLAssertStyleLayerIsValid();
@@ -1078,6 +1204,16 @@ namespace mbgl {
self.rawLayer->setTextHaloWidth(mbglValue);
}
+- (void)mbx_setTextHaloWidthTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextHaloWidthTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)textHaloWidth {
MGLAssertStyleLayerIsValid();
@@ -1095,6 +1231,16 @@ namespace mbgl {
self.rawLayer->setTextOpacity(mbglValue);
}
+- (void)mbx_setTextOpacityTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextOpacityTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)textOpacity {
MGLAssertStyleLayerIsValid();
@@ -1112,6 +1258,16 @@ namespace mbgl {
self.rawLayer->setTextTranslate(mbglValue);
}
+- (void)mbx_setTextTranslationTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextTranslateTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)textTranslation {
MGLAssertStyleLayerIsValid();
@@ -1136,6 +1292,16 @@ namespace mbgl {
self.rawLayer->setTextTranslateAnchor(mbglValue);
}
+- (void)mbx_setTextTranslationAnchorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setTextTranslateAnchorTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)textTranslationAnchor {
MGLAssertStyleLayerIsValid();