forked from I2P_Developers/i2p.i2p
376 lines
17 KiB
Swift
376 lines
17 KiB
Swift
//
|
|
// Icons.swift
|
|
// I2PLauncher
|
|
//
|
|
// Created by Mikal Villa on 11/04/2019.
|
|
// Copyright © 2019 The I2P Project. All rights reserved.
|
|
//
|
|
|
|
import Cocoa
|
|
|
|
class CheckmarkIcon: NSView {
|
|
var color: NSColor = NSColor(calibratedRed: 0.46, green: 0.78, blue: 0.56, alpha: 1) {
|
|
didSet {
|
|
self.needsDisplay = true
|
|
}
|
|
}
|
|
|
|
override func draw(_ dirtyRect: NSRect) {
|
|
super.draw(dirtyRect)
|
|
|
|
color.setStroke()
|
|
|
|
let checkmarkPath = NSBezierPath()
|
|
checkmarkPath.lineWidth = 3
|
|
checkmarkPath.move(to: NSPoint(x: 17.01, y: 9.15))
|
|
checkmarkPath.curve(to: NSPoint(x: 16.3, y: 9.45),
|
|
controlPoint1: NSPoint(x: 16.75, y: 9.15),
|
|
controlPoint2: NSPoint(x: 16.5, y: 9.25))
|
|
checkmarkPath.line(to: NSPoint(x: 2.3, y: 23.45))
|
|
checkmarkPath.line(to: NSPoint(x: 3.71, y: 24.86))
|
|
checkmarkPath.line(to: NSPoint(x: 17.01, y: 11.57))
|
|
checkmarkPath.line(to: NSPoint(x: 42.3, y: 36.86))
|
|
checkmarkPath.line(to: NSPoint(x: 43.71, y: 35.45))
|
|
checkmarkPath.line(to: NSPoint(x: 17.71, y: 9.45))
|
|
checkmarkPath.curve(to: NSPoint(x: 17.01, y: 9.15),
|
|
controlPoint1: NSPoint(x: 17.52, y: 9.25),
|
|
controlPoint2: NSPoint(x: 17.26, y: 9.15))
|
|
checkmarkPath.close()
|
|
checkmarkPath.stroke()
|
|
}
|
|
}
|
|
|
|
class CrossIcon: NSView {
|
|
var color: NSColor = NSColor(calibratedRed: 0.9, green: 0.78, blue: 0.56, alpha: 1) {
|
|
didSet {
|
|
self.needsDisplay = true
|
|
}
|
|
}
|
|
|
|
override func draw(_ dirtyRect: NSRect) {
|
|
super.draw(dirtyRect)
|
|
|
|
color.setFill()
|
|
|
|
let context = NSGraphicsContext.current!.cgContext
|
|
|
|
NSGraphicsContext.saveGraphicsState()
|
|
context.translateBy(x: 23, y: 23)
|
|
context.rotate(by: -45 * CGFloat.pi / 180)
|
|
NSBezierPath(rect: NSRect(x: -26.88, y: -1, width: 53.75, height: 4)).fill()
|
|
NSGraphicsContext.restoreGraphicsState()
|
|
|
|
NSGraphicsContext.saveGraphicsState()
|
|
context.translateBy(x: 23, y: 23)
|
|
context.rotate(by: -45 * CGFloat.pi / 180)
|
|
NSBezierPath(rect: NSRect(x: -1, y: -26.88, width: 4, height: 53.75)).fill()
|
|
NSGraphicsContext.restoreGraphicsState()
|
|
}
|
|
}
|
|
|
|
class RefreshIcon: NSView {
|
|
var color = NSColor.secondaryLabelColor {
|
|
didSet {
|
|
self.needsDisplay = true
|
|
}
|
|
}
|
|
|
|
override func draw(_ dirtyRect: NSRect) {
|
|
super.draw(dirtyRect)
|
|
|
|
color.setFill()
|
|
|
|
let circle = NSBezierPath()
|
|
circle.move(to: NSPoint(x: 23, y: 3))
|
|
circle.line(to: NSPoint(x: 23, y: 5))
|
|
circle.curve(to: NSPoint(x: 41, y: 23),
|
|
controlPoint1: NSPoint(x: 32.93, y: 5),
|
|
controlPoint2: NSPoint(x: 41, y: 13.07))
|
|
circle.curve(to: NSPoint(x: 23, y: 41),
|
|
controlPoint1: NSPoint(x: 41, y: 32.93),
|
|
controlPoint2: NSPoint(x: 32.93, y: 41))
|
|
circle.curve(to: NSPoint(x: 5, y: 23),
|
|
controlPoint1: NSPoint(x: 13.07, y: 41),
|
|
controlPoint2: NSPoint(x: 5, y: 32.93))
|
|
circle.curve(to: NSPoint(x: 14.47, y: 7.14),
|
|
controlPoint1: NSPoint(x: 5, y: 16.37),
|
|
controlPoint2: NSPoint(x: 8.63, y: 10.29))
|
|
circle.line(to: NSPoint(x: 13.53, y: 5.38))
|
|
circle.curve(to: NSPoint(x: 3, y: 23),
|
|
controlPoint1: NSPoint(x: 7.03, y: 8.88),
|
|
controlPoint2: NSPoint(x: 3, y: 15.63))
|
|
circle.curve(to: NSPoint(x: 23, y: 43),
|
|
controlPoint1: NSPoint(x: 3, y: 34.03),
|
|
controlPoint2: NSPoint(x: 11.97, y: 43))
|
|
circle.curve(to: NSPoint(x: 43, y: 23),
|
|
controlPoint1: NSPoint(x: 34.03, y: 43),
|
|
controlPoint2: NSPoint(x: 43, y: 34.03))
|
|
circle.curve(to: NSPoint(x: 23, y: 3),
|
|
controlPoint1: NSPoint(x: 43, y: 11.97),
|
|
controlPoint2: NSPoint(x: 34.03, y: 3))
|
|
circle.close()
|
|
circle.fill()
|
|
|
|
let arrowHead = NSBezierPath()
|
|
arrowHead.move(to: NSPoint(x: 4.2, y: 3.02))
|
|
arrowHead.line(to: NSPoint(x: 3.8, y: 4.98))
|
|
arrowHead.line(to: NSPoint(x: 13, y: 6.82))
|
|
arrowHead.line(to: NSPoint(x: 13, y: 16))
|
|
arrowHead.line(to: NSPoint(x: 15, y: 16))
|
|
arrowHead.line(to: NSPoint(x: 15, y: 6))
|
|
arrowHead.curve(to: NSPoint(x: 14.2, y: 5.02),
|
|
controlPoint1: NSPoint(x: 15, y: 5.52),
|
|
controlPoint2: NSPoint(x: 14.66, y: 5.11))
|
|
arrowHead.line(to: NSPoint(x: 4.2, y: 3.02))
|
|
arrowHead.close()
|
|
arrowHead.fill()
|
|
}
|
|
}
|
|
|
|
class GearIcon: NSView {
|
|
var color = NSColor.secondaryLabelColor {
|
|
didSet {
|
|
self.needsDisplay = true
|
|
}
|
|
}
|
|
|
|
override func draw(_ dirtyRect: NSRect) {
|
|
super.draw(dirtyRect)
|
|
|
|
color.setFill()
|
|
|
|
let outerCog = NSBezierPath()
|
|
outerCog.move(to: NSPoint(x: 26.76, y: 9.49))
|
|
outerCog.curve(to: NSPoint(x: 27.62, y: 8.99),
|
|
controlPoint1: NSPoint(x: 27.11, y: 9.49),
|
|
controlPoint2: NSPoint(x: 27.44, y: 9.3))
|
|
outerCog.line(to: NSPoint(x: 28.4, y: 7.64))
|
|
outerCog.curve(to: NSPoint(x: 31.13, y: 6.9),
|
|
controlPoint1: NSPoint(x: 28.93, y: 6.72),
|
|
controlPoint2: NSPoint(x: 30.21, y: 6.37))
|
|
outerCog.line(to: NSPoint(x: 32.87, y: 7.9))
|
|
outerCog.curve(to: NSPoint(x: 33.6, y: 10.64),
|
|
controlPoint1: NSPoint(x: 33.82, y: 8.46),
|
|
controlPoint2: NSPoint(x: 34.15, y: 9.68))
|
|
outerCog.line(to: NSPoint(x: 32.82, y: 11.98))
|
|
outerCog.curve(to: NSPoint(x: 32.98, y: 13.18),
|
|
controlPoint1: NSPoint(x: 32.6, y: 12.37),
|
|
controlPoint2: NSPoint(x: 32.66, y: 12.86))
|
|
outerCog.curve(to: NSPoint(x: 36.48, y: 19.26),
|
|
controlPoint1: NSPoint(x: 34.63, y: 14.87),
|
|
controlPoint2: NSPoint(x: 35.85, y: 16.97))
|
|
outerCog.curve(to: NSPoint(x: 37.44, y: 19.99),
|
|
controlPoint1: NSPoint(x: 36.6, y: 19.69),
|
|
controlPoint2: NSPoint(x: 36.99, y: 19.99))
|
|
outerCog.line(to: NSPoint(x: 39, y: 19.99))
|
|
outerCog.curve(to: NSPoint(x: 41, y: 21.99),
|
|
controlPoint1: NSPoint(x: 40.1, y: 19.99),
|
|
controlPoint2: NSPoint(x: 41, y: 20.89))
|
|
outerCog.line(to: NSPoint(x: 41, y: 23.99))
|
|
outerCog.curve(to: NSPoint(x: 39, y: 25.99),
|
|
controlPoint1: NSPoint(x: 41, y: 25.1),
|
|
controlPoint2: NSPoint(x: 40.1, y: 25.99))
|
|
outerCog.line(to: NSPoint(x: 37.44, y: 25.99))
|
|
outerCog.curve(to: NSPoint(x: 36.48, y: 26.73),
|
|
controlPoint1: NSPoint(x: 36.99, y: 25.99),
|
|
controlPoint2: NSPoint(x: 36.6, y: 26.29))
|
|
outerCog.curve(to: NSPoint(x: 32.98, y: 32.81),
|
|
controlPoint1: NSPoint(x: 35.85, y: 29.02),
|
|
controlPoint2: NSPoint(x: 34.63, y: 31.12))
|
|
outerCog.curve(to: NSPoint(x: 32.82, y: 34.01),
|
|
controlPoint1: NSPoint(x: 32.66, y: 33.13),
|
|
controlPoint2: NSPoint(x: 32.6, y: 33.62))
|
|
outerCog.line(to: NSPoint(x: 33.6, y: 35.35))
|
|
outerCog.curve(to: NSPoint(x: 32.87, y: 38.08),
|
|
controlPoint1: NSPoint(x: 34.15, y: 36.3),
|
|
controlPoint2: NSPoint(x: 33.82, y: 37.53))
|
|
outerCog.line(to: NSPoint(x: 31.13, y: 39.08))
|
|
outerCog.curve(to: NSPoint(x: 28.4, y: 38.35),
|
|
controlPoint1: NSPoint(x: 30.21, y: 39.62),
|
|
controlPoint2: NSPoint(x: 28.93, y: 39.26))
|
|
outerCog.line(to: NSPoint(x: 27.62, y: 37))
|
|
outerCog.curve(to: NSPoint(x: 26.51, y: 36.53),
|
|
controlPoint1: NSPoint(x: 27.4, y: 36.61),
|
|
controlPoint2: NSPoint(x: 26.94, y: 36.42))
|
|
outerCog.curve(to: NSPoint(x: 19.49, y: 36.53),
|
|
controlPoint1: NSPoint(x: 24.14, y: 37.14),
|
|
controlPoint2: NSPoint(x: 21.86, y: 37.14))
|
|
outerCog.curve(to: NSPoint(x: 18.38, y: 37),
|
|
controlPoint1: NSPoint(x: 19.06, y: 36.42),
|
|
controlPoint2: NSPoint(x: 18.6, y: 36.61))
|
|
outerCog.line(to: NSPoint(x: 17.6, y: 38.35))
|
|
outerCog.curve(to: NSPoint(x: 14.87, y: 39.08),
|
|
controlPoint1: NSPoint(x: 17.07, y: 39.26),
|
|
controlPoint2: NSPoint(x: 15.79, y: 39.62))
|
|
outerCog.line(to: NSPoint(x: 13.13, y: 38.08))
|
|
outerCog.curve(to: NSPoint(x: 12.4, y: 35.35),
|
|
controlPoint1: NSPoint(x: 12.18, y: 37.53),
|
|
controlPoint2: NSPoint(x: 11.85, y: 36.3))
|
|
outerCog.line(to: NSPoint(x: 13.18, y: 34.01))
|
|
outerCog.curve(to: NSPoint(x: 13.02, y: 32.81),
|
|
controlPoint1: NSPoint(x: 13.4, y: 33.62),
|
|
controlPoint2: NSPoint(x: 13.34, y: 33.13))
|
|
outerCog.curve(to: NSPoint(x: 9.52, y: 26.73),
|
|
controlPoint1: NSPoint(x: 11.36, y: 31.12),
|
|
controlPoint2: NSPoint(x: 10.15, y: 29.02))
|
|
outerCog.curve(to: NSPoint(x: 8.56, y: 25.99),
|
|
controlPoint1: NSPoint(x: 9.4, y: 26.29),
|
|
controlPoint2: NSPoint(x: 9.01, y: 25.99))
|
|
outerCog.line(to: NSPoint(x: 7, y: 25.99))
|
|
outerCog.curve(to: NSPoint(x: 5, y: 23.99),
|
|
controlPoint1: NSPoint(x: 5.9, y: 25.99),
|
|
controlPoint2: NSPoint(x: 5, y: 25.1))
|
|
outerCog.line(to: NSPoint(x: 5, y: 21.99))
|
|
outerCog.curve(to: NSPoint(x: 7, y: 19.99),
|
|
controlPoint1: NSPoint(x: 5, y: 20.89),
|
|
controlPoint2: NSPoint(x: 5.9, y: 19.99))
|
|
outerCog.line(to: NSPoint(x: 8.56, y: 19.99))
|
|
outerCog.curve(to: NSPoint(x: 9.52, y: 19.26),
|
|
controlPoint1: NSPoint(x: 9.01, y: 19.99),
|
|
controlPoint2: NSPoint(x: 9.4, y: 19.69))
|
|
outerCog.curve(to: NSPoint(x: 13.02, y: 13.18),
|
|
controlPoint1: NSPoint(x: 10.15, y: 16.97),
|
|
controlPoint2: NSPoint(x: 11.36, y: 14.87))
|
|
outerCog.curve(to: NSPoint(x: 13.18, y: 11.98),
|
|
controlPoint1: NSPoint(x: 13.34, y: 12.86),
|
|
controlPoint2: NSPoint(x: 13.4, y: 12.37))
|
|
outerCog.line(to: NSPoint(x: 12.4, y: 10.64))
|
|
outerCog.curve(to: NSPoint(x: 13.13, y: 7.9),
|
|
controlPoint1: NSPoint(x: 11.85, y: 9.68),
|
|
controlPoint2: NSPoint(x: 12.18, y: 8.46))
|
|
outerCog.line(to: NSPoint(x: 14.87, y: 6.9))
|
|
outerCog.curve(to: NSPoint(x: 17.6, y: 7.64),
|
|
controlPoint1: NSPoint(x: 15.79, y: 6.37),
|
|
controlPoint2: NSPoint(x: 17.07, y: 6.73))
|
|
outerCog.line(to: NSPoint(x: 18.38, y: 8.99))
|
|
outerCog.curve(to: NSPoint(x: 19.49, y: 9.46),
|
|
controlPoint1: NSPoint(x: 18.6, y: 9.38),
|
|
controlPoint2: NSPoint(x: 19.06, y: 9.57))
|
|
outerCog.curve(to: NSPoint(x: 26.51, y: 9.45),
|
|
controlPoint1: NSPoint(x: 21.86, y: 8.84),
|
|
controlPoint2: NSPoint(x: 24.14, y: 8.84))
|
|
outerCog.curve(to: NSPoint(x: 26.76, y: 9.49),
|
|
controlPoint1: NSPoint(x: 26.59, y: 9.48),
|
|
controlPoint2: NSPoint(x: 26.67, y: 9.49))
|
|
outerCog.close()
|
|
outerCog.move(to: NSPoint(x: 30.14, y: 4.64))
|
|
outerCog.curve(to: NSPoint(x: 26.67, y: 6.64),
|
|
controlPoint1: NSPoint(x: 28.71, y: 4.64),
|
|
controlPoint2: NSPoint(x: 27.38, y: 5.4))
|
|
outerCog.line(to: NSPoint(x: 26.26, y: 7.34))
|
|
outerCog.curve(to: NSPoint(x: 19.74, y: 7.34),
|
|
controlPoint1: NSPoint(x: 24.06, y: 6.88),
|
|
controlPoint2: NSPoint(x: 21.94, y: 6.88))
|
|
outerCog.line(to: NSPoint(x: 19.33, y: 6.64))
|
|
outerCog.curve(to: NSPoint(x: 15.86, y: 4.64),
|
|
controlPoint1: NSPoint(x: 18.62, y: 5.4),
|
|
controlPoint2: NSPoint(x: 17.29, y: 4.64))
|
|
outerCog.curve(to: NSPoint(x: 13.87, y: 5.17),
|
|
controlPoint1: NSPoint(x: 15.16, y: 4.64),
|
|
controlPoint2: NSPoint(x: 14.47, y: 4.82))
|
|
outerCog.line(to: NSPoint(x: 12.13, y: 6.17))
|
|
outerCog.curve(to: NSPoint(x: 10.67, y: 11.64),
|
|
controlPoint1: NSPoint(x: 10.22, y: 7.28),
|
|
controlPoint2: NSPoint(x: 9.57, y: 9.73))
|
|
outerCog.line(to: NSPoint(x: 11.07, y: 12.34))
|
|
outerCog.curve(to: NSPoint(x: 7.81, y: 17.99),
|
|
controlPoint1: NSPoint(x: 9.61, y: 13.97),
|
|
controlPoint2: NSPoint(x: 8.5, y: 15.9))
|
|
outerCog.line(to: NSPoint(x: 7, y: 17.99))
|
|
outerCog.curve(to: NSPoint(x: 3, y: 21.99),
|
|
controlPoint1: NSPoint(x: 4.79, y: 17.99),
|
|
controlPoint2: NSPoint(x: 3, y: 19.79))
|
|
outerCog.line(to: NSPoint(x: 3, y: 23.99))
|
|
outerCog.curve(to: NSPoint(x: 7, y: 27.99),
|
|
controlPoint1: NSPoint(x: 3, y: 26.2),
|
|
controlPoint2: NSPoint(x: 4.79, y: 27.99))
|
|
outerCog.line(to: NSPoint(x: 7.81, y: 27.99))
|
|
outerCog.curve(to: NSPoint(x: 11.07, y: 33.65),
|
|
controlPoint1: NSPoint(x: 8.5, y: 30.08),
|
|
controlPoint2: NSPoint(x: 9.61, y: 32.02))
|
|
outerCog.line(to: NSPoint(x: 10.67, y: 34.35))
|
|
outerCog.curve(to: NSPoint(x: 12.13, y: 39.81),
|
|
controlPoint1: NSPoint(x: 9.57, y: 36.26),
|
|
controlPoint2: NSPoint(x: 10.22, y: 38.71))
|
|
outerCog.line(to: NSPoint(x: 13.87, y: 40.81))
|
|
outerCog.curve(to: NSPoint(x: 15.86, y: 41.35),
|
|
controlPoint1: NSPoint(x: 14.47, y: 41.16),
|
|
controlPoint2: NSPoint(x: 15.16, y: 41.35))
|
|
outerCog.curve(to: NSPoint(x: 19.33, y: 39.35),
|
|
controlPoint1: NSPoint(x: 17.29, y: 41.35),
|
|
controlPoint2: NSPoint(x: 18.62, y: 40.58))
|
|
outerCog.line(to: NSPoint(x: 19.74, y: 38.64))
|
|
outerCog.curve(to: NSPoint(x: 26.26, y: 38.64),
|
|
controlPoint1: NSPoint(x: 21.94, y: 39.11),
|
|
controlPoint2: NSPoint(x: 24.06, y: 39.11))
|
|
outerCog.line(to: NSPoint(x: 26.67, y: 39.35))
|
|
outerCog.curve(to: NSPoint(x: 30.14, y: 41.35),
|
|
controlPoint1: NSPoint(x: 27.38, y: 40.58),
|
|
controlPoint2: NSPoint(x: 28.71, y: 41.35))
|
|
outerCog.curve(to: NSPoint(x: 32.13, y: 40.81),
|
|
controlPoint1: NSPoint(x: 30.84, y: 41.35),
|
|
controlPoint2: NSPoint(x: 31.53, y: 41.16))
|
|
outerCog.line(to: NSPoint(x: 33.87, y: 39.81))
|
|
outerCog.curve(to: NSPoint(x: 35.33, y: 34.35),
|
|
controlPoint1: NSPoint(x: 35.78, y: 38.71),
|
|
controlPoint2: NSPoint(x: 36.43, y: 36.26))
|
|
outerCog.line(to: NSPoint(x: 34.93, y: 33.65))
|
|
outerCog.curve(to: NSPoint(x: 38.19, y: 27.99),
|
|
controlPoint1: NSPoint(x: 36.39, y: 32.02),
|
|
controlPoint2: NSPoint(x: 37.5, y: 30.08))
|
|
outerCog.line(to: NSPoint(x: 39, y: 27.99))
|
|
outerCog.curve(to: NSPoint(x: 43, y: 23.99),
|
|
controlPoint1: NSPoint(x: 41.21, y: 27.99),
|
|
controlPoint2: NSPoint(x: 43, y: 26.2))
|
|
outerCog.line(to: NSPoint(x: 43, y: 21.99))
|
|
outerCog.curve(to: NSPoint(x: 39, y: 17.99),
|
|
controlPoint1: NSPoint(x: 43, y: 19.79),
|
|
controlPoint2: NSPoint(x: 41.21, y: 17.99))
|
|
outerCog.line(to: NSPoint(x: 38.19, y: 17.99))
|
|
outerCog.curve(to: NSPoint(x: 34.93, y: 12.34),
|
|
controlPoint1: NSPoint(x: 37.5, y: 15.9),
|
|
controlPoint2: NSPoint(x: 36.39, y: 13.97))
|
|
outerCog.line(to: NSPoint(x: 35.33, y: 11.64))
|
|
outerCog.curve(to: NSPoint(x: 33.87, y: 6.17),
|
|
controlPoint1: NSPoint(x: 36.43, y: 9.73),
|
|
controlPoint2: NSPoint(x: 35.78, y: 7.28))
|
|
outerCog.line(to: NSPoint(x: 32.13, y: 5.17))
|
|
outerCog.curve(to: NSPoint(x: 30.14, y: 4.64),
|
|
controlPoint1: NSPoint(x: 31.53, y: 4.82),
|
|
controlPoint2: NSPoint(x: 30.84, y: 4.64))
|
|
outerCog.close()
|
|
outerCog.fill()
|
|
|
|
let innerCircle = NSBezierPath()
|
|
innerCircle.move(to: NSPoint(x: 23, y: 29.99))
|
|
innerCircle.curve(to: NSPoint(x: 16, y: 22.99),
|
|
controlPoint1: NSPoint(x: 19.14, y: 29.99),
|
|
controlPoint2: NSPoint(x: 16, y: 26.85))
|
|
innerCircle.curve(to: NSPoint(x: 23, y: 15.99),
|
|
controlPoint1: NSPoint(x: 16, y: 19.13),
|
|
controlPoint2: NSPoint(x: 19.14, y: 15.99))
|
|
innerCircle.curve(to: NSPoint(x: 30, y: 22.99),
|
|
controlPoint1: NSPoint(x: 26.86, y: 15.99),
|
|
controlPoint2: NSPoint(x: 30, y: 19.13))
|
|
innerCircle.curve(to: NSPoint(x: 23, y: 29.99),
|
|
controlPoint1: NSPoint(x: 30, y: 26.85),
|
|
controlPoint2: NSPoint(x: 26.86, y: 29.99))
|
|
innerCircle.close()
|
|
innerCircle.move(to: NSPoint(x: 23, y: 13.99))
|
|
innerCircle.curve(to: NSPoint(x: 14, y: 22.99),
|
|
controlPoint1: NSPoint(x: 18.04, y: 13.99),
|
|
controlPoint2: NSPoint(x: 14, y: 18.03))
|
|
innerCircle.curve(to: NSPoint(x: 23, y: 31.99),
|
|
controlPoint1: NSPoint(x: 14, y: 27.96),
|
|
controlPoint2: NSPoint(x: 18.04, y: 31.99))
|
|
innerCircle.curve(to: NSPoint(x: 32, y: 22.99),
|
|
controlPoint1: NSPoint(x: 27.96, y: 31.99),
|
|
controlPoint2: NSPoint(x: 32, y: 27.96))
|
|
innerCircle.curve(to: NSPoint(x: 23, y: 13.99),
|
|
controlPoint1: NSPoint(x: 32, y: 18.03),
|
|
controlPoint2: NSPoint(x: 27.96, y: 13.99))
|
|
innerCircle.close()
|
|
innerCircle.fill()
|
|
}
|
|
}
|