Skip to content

Add boolean operations to NSBezierPath like the pathfinder of Adobe Illustrator.

License

Notifications You must be signed in to change notification settings

lkzhao/BooleanPath

 
 

Repository files navigation

BooleanPath for macOS

Add boolean operations to NSBezierPath like the pathfinder of Adobe Illustrator.

About BooleanPath

This is a rewrite of VectorBoolean written by Leslie Titze's.
BooleanPath is written by Swift for macOS.

Installation

CocoaPods

pod 'BooleanPath'

Carthage

github "Kyome22/BooleanPath"

Demo

The sample code is in the project.

sample

Usage (Example)

import Cocoa
import BooleanPath

let rectPath = NSBezierPath(rect: NSRect(x: 10, y: 30, width: 60, height: 60))
let circlePath = NSBezierPath(ovalIn: NSRect(x: 25, y: 15, width: 50, height: 50))
  
// Union        
let unionPath: NSBezierPath = rectPath.union(circlePath)
unionPath.fill()

// Intersection
let intersectionPath: NSBezierPath = rectPath.intersection(circlePath)
intersectionPath.fill()
        
// Subtraction
let subtractionPath: NSBezierPath = rectPath.subtraction(circlePath)
subtractionPath.fill()
        
// Difference
let differencePath: NSBezierPath = rectPath.difference(circlePath)
differencePath.fill()

About

Add boolean operations to NSBezierPath like the pathfinder of Adobe Illustrator.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.6%
  • Ruby 0.4%