summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLCircleStyleLayer.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLCircleStyleLayer.mm')
-rw-r--r--platform/darwin/src/MGLCircleStyleLayer.mm121
1 files changed, 121 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLCircleStyleLayer.mm b/platform/darwin/src/MGLCircleStyleLayer.mm
index 808e00bc38..362667121a 100644
--- a/platform/darwin/src/MGLCircleStyleLayer.mm
+++ b/platform/darwin/src/MGLCircleStyleLayer.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 "MGLCircleStyleLayer.h"
@@ -134,6 +135,26 @@ namespace mbgl {
#pragma mark - Accessing the Paint Attributes
+- (NSArray *)transitionKeys
+{
+ NSMutableArray *transitionKeys = [NSMutableArray array];
+ [transitionKeys addObject:@"circleBlur"];
+ [transitionKeys addObject:@"circleColor"];
+ [transitionKeys addObject:@"circleOpacity"];
+ [transitionKeys addObject:@"circleRadius"];
+ [transitionKeys addObject:@"circleScaleAlignment"];
+ [transitionKeys addObject:@"circlePitchScale"];
+ [transitionKeys addObject:@"circleStrokeColor"];
+ [transitionKeys addObject:@"circleStrokeOpacity"];
+ [transitionKeys addObject:@"circleStrokeWidth"];
+ [transitionKeys addObject:@"circleTranslation"];
+ [transitionKeys addObject:@"circleTranslate"];
+ [transitionKeys addObject:@"circleTranslationAnchor"];
+ [transitionKeys addObject:@"circleTranslateAnchor"];
+
+ return transitionKeys;
+}
+
- (void)setCircleBlur:(MGLStyleValue<NSNumber *> *)circleBlur {
MGLAssertStyleLayerIsValid();
@@ -141,6 +162,16 @@ namespace mbgl {
self.rawLayer->setCircleBlur(mbglValue);
}
+- (void)mbx_setCircleBlurTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleBlurTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)circleBlur {
MGLAssertStyleLayerIsValid();
@@ -158,6 +189,16 @@ namespace mbgl {
self.rawLayer->setCircleColor(mbglValue);
}
+- (void)mbx_setCircleColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)circleColor {
MGLAssertStyleLayerIsValid();
@@ -175,6 +216,16 @@ namespace mbgl {
self.rawLayer->setCircleOpacity(mbglValue);
}
+- (void)mbx_setCircleOpacityTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleOpacityTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)circleOpacity {
MGLAssertStyleLayerIsValid();
@@ -192,6 +243,16 @@ namespace mbgl {
self.rawLayer->setCircleRadius(mbglValue);
}
+- (void)mbx_setCircleRadiusTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleRadiusTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)circleRadius {
MGLAssertStyleLayerIsValid();
@@ -209,6 +270,16 @@ namespace mbgl {
self.rawLayer->setCirclePitchScale(mbglValue);
}
+- (void)mbx_setCircleScaleAlignmentTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCirclePitchScaleTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)circleScaleAlignment {
MGLAssertStyleLayerIsValid();
@@ -233,6 +304,16 @@ namespace mbgl {
self.rawLayer->setCircleStrokeColor(mbglValue);
}
+- (void)mbx_setCircleStrokeColorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleStrokeColorTransition(options);
+}
+
- (MGLStyleValue<MGLColor *> *)circleStrokeColor {
MGLAssertStyleLayerIsValid();
@@ -250,6 +331,16 @@ namespace mbgl {
self.rawLayer->setCircleStrokeOpacity(mbglValue);
}
+- (void)mbx_setCircleStrokeOpacityTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleStrokeOpacityTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)circleStrokeOpacity {
MGLAssertStyleLayerIsValid();
@@ -267,6 +358,16 @@ namespace mbgl {
self.rawLayer->setCircleStrokeWidth(mbglValue);
}
+- (void)mbx_setCircleStrokeWidthTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleStrokeWidthTransition(options);
+}
+
- (MGLStyleValue<NSNumber *> *)circleStrokeWidth {
MGLAssertStyleLayerIsValid();
@@ -284,6 +385,16 @@ namespace mbgl {
self.rawLayer->setCircleTranslate(mbglValue);
}
+- (void)mbx_setCircleTranslationTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleTranslateTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)circleTranslation {
MGLAssertStyleLayerIsValid();
@@ -308,6 +419,16 @@ namespace mbgl {
self.rawLayer->setCircleTranslateAnchor(mbglValue);
}
+- (void)mbx_setCircleTranslationAnchorTransition:(NSValue *)transitionValue {
+ MGLAssertStyleLayerIsValid();
+
+ MGLTransition transition;
+ [transitionValue getValue:&transition];
+
+ mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } };
+ self.rawLayer->setCircleTranslateAnchorTransition(options);
+}
+
- (MGLStyleValue<NSValue *> *)circleTranslationAnchor {
MGLAssertStyleLayerIsValid();