|
24 | 24 |
|
25 | 25 | import Cocoa |
26 | 26 |
|
27 | | -class ColorItem: NSObject |
| 27 | +class ColorItem: NSObject, NSCoding |
28 | 28 | { |
29 | 29 | @objc public dynamic var name = "Untitled" |
30 | 30 | @objc public dynamic var hasVariant = false |
@@ -174,4 +174,41 @@ class ColorItem: NSObject |
174 | 174 |
|
175 | 175 | self.updating = false |
176 | 176 | } |
| 177 | + |
| 178 | + func encode( with coder: NSCoder ) |
| 179 | + { |
| 180 | + coder.encode( self.name, forKey: "n" ) |
| 181 | + coder.encode( self.hasVariant, forKey: "v" ) |
| 182 | + |
| 183 | + coder.encode( self.red, forKey: "r1" ) |
| 184 | + coder.encode( self.green, forKey: "g1" ) |
| 185 | + coder.encode( self.blue, forKey: "b1" ) |
| 186 | + coder.encode( self.alpha, forKey: "a1" ) |
| 187 | + |
| 188 | + coder.encode( self.red2, forKey: "r2" ) |
| 189 | + coder.encode( self.green2, forKey: "g2" ) |
| 190 | + coder.encode( self.blue2, forKey: "b2" ) |
| 191 | + coder.encode( self.alpha2, forKey: "a2" ) |
| 192 | + } |
| 193 | + |
| 194 | + required init?( coder: NSCoder ) |
| 195 | + { |
| 196 | + guard let n = coder.decodeObject( forKey: "n" ) as? String else { return nil } |
| 197 | + |
| 198 | + self.name = n |
| 199 | + self.hasVariant = coder.decodeBool( forKey: "v" ) |
| 200 | + |
| 201 | + self.red = CGFloat( coder.decodeDouble( forKey: "r1" ) ) |
| 202 | + self.green = CGFloat( coder.decodeDouble( forKey: "g1" ) ) |
| 203 | + self.blue = CGFloat( coder.decodeDouble( forKey: "b1" ) ) |
| 204 | + self.alpha = CGFloat( coder.decodeDouble( forKey: "a1" ) ) |
| 205 | + |
| 206 | + self.red2 = CGFloat( coder.decodeDouble( forKey: "r2" ) ) |
| 207 | + self.green2 = CGFloat( coder.decodeDouble( forKey: "g2" ) ) |
| 208 | + self.blue2 = CGFloat( coder.decodeDouble( forKey: "b2" ) ) |
| 209 | + self.alpha2 = CGFloat( coder.decodeDouble( forKey: "a2" ) ) |
| 210 | + |
| 211 | + super.init() |
| 212 | + |
| 213 | + } |
177 | 214 | } |
0 commit comments