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

jorydekort/BooleanPath

 
 

Repository files navigation

BooleanPath for macOS

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

This fork

Added Package.swift for usage with Swift Package Manager.

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%