     }
     
 }
+
+#endif

//  THE SOFTWARE.
//

@frozen
public struct GPContextPattern {
    
    public var bound: Rect
    
    public var xStep: Double
    public var yStep: Double
    
    public var transform: SDTransform = .identity
    public var opacity: Double = 1
    
    public var callback: (GPContext) -> Void
    
    @inlinable
    @inline(__always)
    public init(bound: Rect, xStep: Double, yStep: Double, callback: @escaping (GPContext) -> Void) {
        self.bound = bound
        self.xStep = xStep
        self.yStep = yStep
        self.callback = callback
    }
}

extension GPContext {
    
    private func draw_pattern(bound: Rect, xStep: Double, yStep: Double, callback: (GPContext) -> Void) {
        

        }
    }
    
    public func drawPattern(_ pattern: Pattern) {
        
        guard self.width != 0 && self.height != 0 && !self.transform.determinant.almostZero() else { return }
        
