Skip to content

Instantly share code, notes, and snippets.

@markd2
Created February 13, 2017 20:38
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markd2/7bd2a5e2969b000f296828b3bcbf49f8 to your computer and use it in GitHub Desktop.
Save markd2/7bd2a5e2969b000f296828b3bcbf49f8 to your computer and use it in GitHub Desktop.
import CoreGraphics
private typealias CGPathDumpUtility = CGPath
extension CGPathDumpUtility {
func dump() {
self.apply(info: nil) { info, unsafeElement in
let element = unsafeElement.pointee
switch element.type {
case .moveToPoint:
let point = element.points[0]
print("moveto - \(point)")
case .addLineToPoint:
let point = element.points[0]
print("lineto - \(point)")
case .addQuadCurveToPoint:
let control = element.points[0]
let point = element.points[1]
print("quadCurveTo - \(point) - \(control)")
case .addCurveToPoint:
let control1 = element.points[0]
let control2 = element.points[1]
let point = element.points[2]
print("curveTo - \(point) - \(control1) - \(control2)")
case .closeSubpath:
print("close")
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment