         }
     }
 }
+
+public struct SECPointColor {
+    private var offset: Float?
+    private var color: SECColor?
+    
+    public init(_ offset: Float, _ color: SECColor) {
+        self.offset = offset
+        self.color = color
+    }
+}
+
+//extension SECPointColor : DictionaryLiteralConvertible {
+//    public associatedtype Key = String
+//    public associatedtype Value = SECJsonable
+//    
+//    public init(dictionaryLiteral elements: (Self.Key, Self.Value)...)
+//}

    case rgb(Int, Int, Int)
    case hexColor(String)
    case array([SECColor])
    case red, blue, green, yellow, transparent
    case image(String, ImageRepeat)
    
    public var jsonString: String {
        switch self {

            return "\"rgba(\(r), \(g), \(b), 1.0)\""
        case let .hexColor(hexColor):
            return "\"\(hexColor)\""
        case .auto:
            return "\"auto\""
        case .red:
            return "\"red\""
        case .blue:
