summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLTemplateColorScheme.m
blob: 0c758fbbd537fb6948778fa3943032df5fdbb2ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//
//  SDLTemplateColorScheme.m
//  SmartDeviceLink
//
//  Created by Joel Fischer on 5/21/18.
//  Copyright © 2018 smartdevicelink. All rights reserved.
//

#import "SDLTemplateColorScheme.h"

#import "NSMutableDictionary+Store.h"
#import "SDLRPCParameterNames.h"
#import "SDLRGBColor.h"

NS_ASSUME_NONNULL_BEGIN

@implementation SDLTemplateColorScheme

- (instancetype)initWithPrimaryRGBColor:(SDLRGBColor *)primaryColor secondaryRGBColor:(SDLRGBColor *)secondaryColor backgroundRGBColor:(SDLRGBColor *)backgroundColor {
    self = [self init];
    if (!self) { return nil; }

    self.primaryColor = primaryColor;
    self.secondaryColor = secondaryColor;
    self.backgroundColor = backgroundColor;

    return self;
}

- (instancetype)initWithPrimaryColor:(UIColor *)primaryColor secondaryColor:(UIColor *)secondaryColor backgroundColor:(UIColor *)backgroundColor {
    self = [self init];
    if (!self) { return nil; }

    self.primaryColor = [[SDLRGBColor alloc] initWithColor:primaryColor];
    self.secondaryColor = [[SDLRGBColor alloc] initWithColor:secondaryColor];
    self.backgroundColor = [[SDLRGBColor alloc] initWithColor:backgroundColor];

    return self;
}

- (void)setPrimaryColor:(nullable SDLRGBColor *)primaryColor {
    [self.store sdl_setObject:primaryColor forName:SDLRPCParameterNamePrimaryColor];
}

- (nullable SDLRGBColor *)primaryColor {
    return [self.store sdl_objectForName:SDLRPCParameterNamePrimaryColor ofClass:SDLRGBColor.class error:nil];
}

- (void)setSecondaryColor:(nullable SDLRGBColor *)secondaryColor {
    [self.store sdl_setObject:secondaryColor forName:SDLRPCParameterNameSecondaryColor];
}

- (nullable SDLRGBColor *)secondaryColor {
    return [self.store sdl_objectForName:SDLRPCParameterNameSecondaryColor ofClass:SDLRGBColor.class error:nil];
}

- (void)setBackgroundColor:(nullable SDLRGBColor *)backgroundColor {
    [self.store sdl_setObject:backgroundColor forName:SDLRPCParameterNameBackgroundColor];
}

- (nullable SDLRGBColor *)backgroundColor {
    return [self.store sdl_objectForName:SDLRPCParameterNameBackgroundColor ofClass:SDLRGBColor.class error:nil];
}

@end

NS_ASSUME_NONNULL_END