diff options
Diffstat (limited to 'platform/darwin/src/MGLStyleAttributeFunction.mm')
-rw-r--r-- | platform/darwin/src/MGLStyleAttributeFunction.mm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLStyleAttributeFunction.mm b/platform/darwin/src/MGLStyleAttributeFunction.mm index 7eec5c2369..337e299127 100644 --- a/platform/darwin/src/MGLStyleAttributeFunction.mm +++ b/platform/darwin/src/MGLStyleAttributeFunction.mm @@ -4,6 +4,68 @@ #import "MGLStyleAttributeValue_Private.h" #import "MGLStyleAttributeFunction_Private.h" +@implementation MGLStyleValue + ++ (instancetype)valueWithRawValue:(id)rawValue { + return [MGLStyleConstantValue valueWithRawValue:rawValue]; +} + ++ (instancetype)valueWithBase:(CGFloat)base stops:(NSDictionary *)stops { + return [MGLStyleFunction functionWithBase:base stops:stops]; +} + ++ (instancetype)valueWithStops:(NSDictionary *)stops { + return [MGLStyleFunction functionWithStops:stops]; +} + +@end + +@implementation MGLStyleConstantValue + ++ (instancetype)valueWithRawValue:(id)rawValue { + return [[self alloc] initWithRawValue:rawValue]; +} + +- (instancetype)initWithRawValue:(id)rawValue { + if (self = [super init]) { + _rawValue = rawValue; + } + return self; +} + +@end + +@implementation MGLStyleFunction + ++ (instancetype)functionWithBase:(CGFloat)base stops:(NSDictionary *)stops { + return [[self alloc] initWithBase:base stops:stops]; +} + ++ (instancetype)functionWithStops:(NSDictionary *)stops { + return [[self alloc] initWithBase:1 stops:stops]; +} + +- (instancetype)init { + if (self = [super init]) { + _base = 1; + } + return self; +} + +- (instancetype)initWithBase:(CGFloat)base stops:(NSDictionary *)stops { + if (self = [self init]) { + _base = base; + _stops = stops; + } + return self; +} + +@end + + + + + @interface MGLStyleAttributeFunction() <MGLStyleAttributeValue_Private> @end |