File tree Expand file tree Collapse file tree 6 files changed +15
-11
lines changed
Expand file tree Collapse file tree 6 files changed +15
-11
lines changed Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ struct CGTextTypes: RendererTypes {
3737 typealias Rect = String
3838 typealias Color = String
3939 typealias Gradient = LayerTree . Gradient
40- typealias Mask = [ Any ]
40+ typealias Mask = [ AnyHashable ]
4141 typealias Path = [ LayerTree . Shape ]
4242 typealias Pattern = String
4343 typealias Transform = String
@@ -513,7 +513,7 @@ public final class CGTextRenderer: Renderer {
513513 }
514514 }
515515
516- func setClip( mask: [ Any ] , frame: String ) {
516+ func setClip( mask: [ AnyHashable ] , frame: String ) {
517517 lines. append ( " ctx.clip(to: \( frame) , mask: \( mask) ) " )
518518 }
519519
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ struct CGTypes: RendererTypes {
5656 typealias Image = CGImage
5757}
5858
59- final class CGTransformingPattern : Equatable {
59+ struct CGTransformingPattern : Hashable {
6060
6161 let bounds : CGRect
6262 let contents : [ RendererCommand < CGTypes > ]
@@ -70,10 +70,6 @@ final class CGTransformingPattern: Equatable {
7070 let renderer = CGRenderer ( context: ctx)
7171 renderer. perform ( contents)
7272 }
73-
74- static func == ( lhs: CGTransformingPattern , rhs: CGTransformingPattern ) -> Bool {
75- lhs === rhs
76- }
7773}
7874
7975struct CGProvider : RendererTypeProvider {
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ struct LayerTreeTypes: RendererTypes {
3737 typealias Rect = LayerTree . Rect
3838 typealias Color = LayerTree . Color
3939 typealias Gradient = LayerTree . Gradient
40- typealias Mask = [ Any ]
40+ typealias Mask = [ AnyHashable ]
4141 typealias Path = [ LayerTree . Shape ]
4242 typealias Pattern = LayerTree . Pattern
4343 typealias Transform = LayerTree . Transform
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ protocol RendererTypes {
3737 associatedtype Rect : Equatable
3838 associatedtype Color : Equatable
3939 associatedtype Gradient : Equatable
40- associatedtype Mask
40+ associatedtype Mask : Equatable
4141 associatedtype Path : Equatable
4242 associatedtype Pattern : Equatable
4343 associatedtype Transform : Equatable
@@ -200,3 +200,11 @@ enum RendererCommand<Types: RendererTypes> {
200200 case pushTransparencyLayer
201201 case popTransparencyLayer
202202}
203+
204+
205+ #if canImport(CoreGraphics)
206+ import CoreGraphics
207+
208+ extension RendererCommand < CGTypes > : Equatable { }
209+ extension RendererCommand < CGTypes > : Hashable { }
210+ #endif
Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ import Foundation
3434#if canImport(CoreGraphics)
3535import CoreGraphics
3636
37- public struct SVG {
37+ public struct SVG : Hashable {
3838 public let size : CGSize
3939
4040 //An Image is simply an array of CoreGraphics draw commands
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ final class MockRenderer: Renderer {
102102 operations. append ( " setClip " )
103103 }
104104
105- func setClip( mask: [ Any ] , frame: LayerTree . Rect ) {
105+ func setClip( mask: [ AnyHashable ] , frame: LayerTree . Rect ) {
106106 operations. append ( " setClipMask " )
107107 }
108108
You can’t perform that action at this time.
0 commit comments