/
dexMargera
/
360Controller
Обзор
Документация
Войти
/
dexMargera
/
360Controller
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
1
Аналитика
Безопасность
master
Pref360Control/Pref360StyleKit.m
1 309 строк
84 KB
FranticRain
Add percentage for battery levels
15 авг 2016, 00:10
15 авг 2016, 00:10
5dcfa95
Код
Авторство
О чём код?
// // Pref360StyleKit.m // Pref360Control // // Created by Pierre TACCHI on 25/01/15. // Copyright (c) 2015 . All rights reserved. // // Generated by PaintCode (www.paintcodeapp.com) // #import "Pref360StyleKit.h" @implementation Pref360StyleKit #pragma mark Initialization + (void)initialize { } #pragma mark Drawing Methods + (void)drawX360ControllerWithControllerNumber: (CGFloat)controllerNumber aPressed: (BOOL)aPressed bPressed: (BOOL)bPressed xPressed: (BOOL)xPressed yPressed: (BOOL)yPressed leftPressed: (BOOL)leftPressed upPressed: (BOOL)upPressed rightPressed: (BOOL)rightPressed downPressed: (BOOL)downPressed backPressed: (BOOL)backPressed startPressed: (BOOL)startPressed lbPressed: (BOOL)lbPressed rbPressed: (BOOL)rbPressed homePressed: (BOOL)homePressed leftStickPressed: (BOOL)leftStickPressed rightStickPressed: (BOOL)rightStickPressed leftStick: (NSPoint)leftStick rightStick: (NSPoint)rightStick leftStickDeadzone: (CGFloat)leftDeadzone rightStickDeadzone: (CGFloat)rightDeadzone isLeftNormalized: (BOOL)leftNormalized isRightNormalized: (BOOL)rightNormalized { //// General Declarations CGContextRef context = (CGContextRef)NSGraphicsContext.currentContext.graphicsPort; //// Color Declarations NSColor* buttonX = [NSColor colorWithCalibratedRed: 0.124 green: 0.351 blue: 1 alpha: 1]; NSColor* strokeX = [buttonX shadowWithLevel: 0.5]; NSColor* buttonA = [NSColor colorWithCalibratedRed: 0.524 green: 0.883 blue: 0 alpha: 1]; NSColor* strokeA = [buttonA shadowWithLevel: 0.5]; NSColor* buttonB = [NSColor colorWithCalibratedRed: 1 green: 0.094 blue: 0.072 alpha: 1]; NSColor* strokeB = [buttonB shadowWithLevel: 0.5]; NSColor* buttonY = [NSColor colorWithCalibratedRed: 1 green: 0.814 blue: 0.047 alpha: 1]; NSColor* strokeY = [buttonY shadowWithLevel: 0.5]; NSColor* buttonHOME = [NSColor colorWithCalibratedRed: 0.895 green: 0.895 blue: 0.895 alpha: 1]; NSColor* strokeHOME = [buttonHOME shadowWithLevel: 0.5]; NSColor* controller = [NSColor colorWithCalibratedRed: 0.232 green: 0.232 blue: 0.232 alpha: 1]; NSColor* backController = [controller highlightWithLevel: 0.4]; NSColor* darkController = [controller shadowWithLevel: 0.3]; NSColor* highlightController = [controller highlightWithLevel: 0.1]; NSColor* stick = [NSColor colorWithCalibratedRed: 0.305 green: 0.335 blue: 0.28 alpha: 1]; NSColor* highlightStick = [stick highlightWithLevel: 0.3]; NSColor* shadowStick = [stick shadowWithLevel: 0.2]; NSColor* pressed = [NSColor colorWithCalibratedRed: 1 green: 0.432 blue: 0 alpha: 1]; NSColor* pressedStroke = [pressed shadowWithLevel: 0.5]; NSColor* cross = [NSColor colorWithCalibratedRed: 0.372 green: 0.372 blue: 0.372 alpha: 1]; NSColor* crossStroke = [cross shadowWithLevel: 0.5]; NSColor* gradientColor = [NSColor colorWithCalibratedRed: 0 green: 0 blue: 0 alpha: 0.355]; NSColor* gradientColor2 = [NSColor colorWithCalibratedRed: 0 green: 0 blue: 0 alpha: 0]; //// Gradient Declarations NSGradient* gradient = [NSGradient.alloc initWithStartingColor: gradientColor endingColor: gradientColor2]; //// Variable Declarations NSColor* led1Color = controllerNumber == 1 ? buttonA : strokeA; NSColor* led2Color = controllerNumber == 2 ? buttonA : strokeA; NSColor* led3Color = controllerNumber == 3 ? buttonA : strokeA; NSColor* led4Color = controllerNumber == 4 ? buttonA : strokeA; NSColor* aColor = aPressed ? pressed : buttonA; NSColor* aStroke = aPressed ? pressedStroke : strokeA; NSColor* bColor = bPressed ? pressed : buttonB; NSColor* bStroke = bPressed ? pressedStroke : strokeB; NSColor* xColor = xPressed ? pressed : buttonX; NSColor* xStroke = xPressed ? pressedStroke : strokeX; NSColor* yColor = yPressed ? pressed : buttonY; NSColor* yStroke = yPressed ? pressedStroke : strokeY; NSColor* backColor = backPressed ? pressed : controller; NSColor* backStroke = backPressed ? pressedStroke : darkController; NSColor* startColor = startPressed ? pressed : controller; NSColor* startStroke = startPressed ? pressedStroke : darkController; NSColor* lbColor = lbPressed ? pressed : darkController; CGFloat leftAngle = lbPressed ? 2.5 : 0; NSColor* rbColor = rbPressed ? pressed : darkController; CGFloat rightAngle = rbPressed ? -2.5 : 0; NSColor* homeColor = homePressed ? pressed : buttonHOME; NSColor* homeStroke = homePressed ? pressedStroke : strokeHOME; NSColor* leftStickColor = leftStickPressed ? pressed : stick; NSColor* leftStickStroke = leftStickPressed ? pressedStroke : shadowStick; NSColor* rightStickColor = rightStickPressed ? pressed : stick; NSColor* rightStickStroke = rightStickPressed ? pressedStroke : shadowStick; NSPoint leftStickPosition = NSMakePoint(leftStick.x * 15, -leftStick.y * 15); NSPoint rightStickPosition = NSMakePoint(rightStick.x * 15, -rightStick.y * 15); //// right shoulder Drawing [NSGraphicsContext saveGraphicsState]; CGContextTranslateCTM(context, 319, 284); CGContextRotateCTM(context, rightAngle * M_PI / 180); NSBezierPath* rightShoulderPath = NSBezierPath.bezierPath; [rightShoulderPath moveToPoint: NSMakePoint(75.66, 2.83)]; [rightShoulderPath curveToPoint: NSMakePoint(74.51, 15.43) controlPoint1: NSMakePoint(76.42, 14.82) controlPoint2: NSMakePoint(75.86, 12.28)]; [rightShoulderPath curveToPoint: NSMakePoint(39.25, 32.38) controlPoint1: NSMakePoint(73.16, 18.58) controlPoint2: NSMakePoint(52.17, 30.17)]; [rightShoulderPath curveToPoint: NSMakePoint(5.16, 34.04) controlPoint1: NSMakePoint(26.34, 34.59) controlPoint2: NSMakePoint(11.96, 36.06)]; [rightShoulderPath curveToPoint: NSMakePoint(2.29, 28.14) controlPoint1: NSMakePoint(5.72, 29.92) controlPoint2: NSMakePoint(2.29, 28.14)]; [rightShoulderPath lineToPoint: NSMakePoint(0, 26.48)]; [rightShoulderPath lineToPoint: NSMakePoint(3.45, 20.76)]; [rightShoulderPath curveToPoint: NSMakePoint(75.66, 2.83) controlPoint1: NSMakePoint(3.45, 20.76) controlPoint2: NSMakePoint(74.91, -9.15)]; [rightShoulderPath closePath]; [rbColor setFill]; [rightShoulderPath fill]; [NSGraphicsContext restoreGraphicsState]; //// leftShoulder Drawing [NSGraphicsContext saveGraphicsState]; CGContextTranslateCTM(context, 145, 284); CGContextRotateCTM(context, leftAngle * M_PI / 180); NSBezierPath* leftShoulderPath = NSBezierPath.bezierPath; [leftShoulderPath moveToPoint: NSMakePoint(-75.41, 2.83)]; [leftShoulderPath curveToPoint: NSMakePoint(-74.26, 15.43) controlPoint1: NSMakePoint(-76.16, 14.82) controlPoint2: NSMakePoint(-75.6, 12.28)]; [leftShoulderPath curveToPoint: NSMakePoint(-39, 32.38) controlPoint1: NSMakePoint(-72.91, 18.58) controlPoint2: NSMakePoint(-51.91, 30.17)]; [leftShoulderPath curveToPoint: NSMakePoint(-4.9, 34.04) controlPoint1: NSMakePoint(-26.09, 34.59) controlPoint2: NSMakePoint(-11.71, 36.06)]; [leftShoulderPath curveToPoint: NSMakePoint(-2.04, 28.14) controlPoint1: NSMakePoint(-5.47, 29.92) controlPoint2: NSMakePoint(-2.04, 28.14)]; [leftShoulderPath lineToPoint: NSMakePoint(0.25, 26.48)]; [leftShoulderPath lineToPoint: NSMakePoint(-3.19, 20.76)]; [leftShoulderPath curveToPoint: NSMakePoint(-75.41, 2.83) controlPoint1: NSMakePoint(-3.19, 20.76) controlPoint2: NSMakePoint(-74.66, -9.15)]; [leftShoulderPath closePath]; [lbColor setFill]; [leftShoulderPath fill]; [NSGraphicsContext restoreGraphicsState]; //// Body { //// underPiece Drawing NSBezierPath* underPiecePath = NSBezierPath.bezierPath; [underPiecePath moveToPoint: NSMakePoint(232.47, 90.1)]; [underPiecePath curveToPoint: NSMakePoint(257.11, 90.01) controlPoint1: NSMakePoint(232.47, 90.1) controlPoint2: NSMakePoint(241.06, 90.1)]; [underPiecePath curveToPoint: NSMakePoint(296.1, 85.05) controlPoint1: NSMakePoint(273.16, 89.92) controlPoint2: NSMakePoint(285.23, 88.69)]; [underPiecePath curveToPoint: NSMakePoint(336.04, 62.49) controlPoint1: NSMakePoint(306.97, 81.4) controlPoint2: NSMakePoint(322.76, 75.77)]; [underPiecePath curveToPoint: NSMakePoint(389.02, 18.76) controlPoint1: NSMakePoint(349.33, 49.2) controlPoint2: NSMakePoint(378.51, 23.74)]; [underPiecePath curveToPoint: NSMakePoint(419.68, 12.97) controlPoint1: NSMakePoint(399.54, 13.78) controlPoint2: NSMakePoint(410.82, 12.97)]; [underPiecePath curveToPoint: NSMakePoint(386.19, 35.56) controlPoint1: NSMakePoint(428.53, 12.97) controlPoint2: NSMakePoint(386.19, 35.56)]; [underPiecePath lineToPoint: NSMakePoint(337.38, 78.46)]; [underPiecePath lineToPoint: NSMakePoint(304.07, 97.28)]; [underPiecePath lineToPoint: NSMakePoint(232.47, 108.05)]; [underPiecePath lineToPoint: NSMakePoint(160.86, 97.28)]; [underPiecePath lineToPoint: NSMakePoint(127.55, 78.46)]; [underPiecePath lineToPoint: NSMakePoint(78.75, 35.56)]; [underPiecePath curveToPoint: NSMakePoint(45.26, 12.97) controlPoint1: NSMakePoint(78.75, 35.56) controlPoint2: NSMakePoint(36.4, 12.97)]; [underPiecePath curveToPoint: NSMakePoint(75.91, 18.76) controlPoint1: NSMakePoint(54.11, 12.97) controlPoint2: NSMakePoint(65.39, 13.78)]; [underPiecePath curveToPoint: NSMakePoint(128.89, 62.49) controlPoint1: NSMakePoint(86.43, 23.74) controlPoint2: NSMakePoint(115.6, 49.2)]; [underPiecePath curveToPoint: NSMakePoint(168.84, 85.05) controlPoint1: NSMakePoint(142.17, 75.77) controlPoint2: NSMakePoint(157.97, 81.4)]; [underPiecePath curveToPoint: NSMakePoint(207.83, 90.01) controlPoint1: NSMakePoint(179.7, 88.69) controlPoint2: NSMakePoint(191.77, 89.92)]; [underPiecePath curveToPoint: NSMakePoint(232.47, 90.1) controlPoint1: NSMakePoint(223.88, 90.1) controlPoint2: NSMakePoint(232.47, 90.1)]; [underPiecePath closePath]; [backController setFill]; [underPiecePath fill]; //// upperPiece Drawing NSBezierPath* upperPiecePath = NSBezierPath.bezierPath; [upperPiecePath moveToPoint: NSMakePoint(326.27, 297.74)]; [upperPiecePath lineToPoint: NSMakePoint(317.45, 309.05)]; [upperPiecePath curveToPoint: NSMakePoint(287.1, 295.84) controlPoint1: NSMakePoint(317.45, 309.05) controlPoint2: NSMakePoint(297.62, 299)]; [upperPiecePath curveToPoint: NSMakePoint(256.74, 291.86) controlPoint1: NSMakePoint(276.58, 292.68) controlPoint2: NSMakePoint(265.74, 291.86)]; [upperPiecePath curveToPoint: NSMakePoint(232.14, 291.86) controlPoint1: NSMakePoint(247.75, 291.86) controlPoint2: NSMakePoint(232.14, 291.86)]; [upperPiecePath curveToPoint: NSMakePoint(207.54, 291.86) controlPoint1: NSMakePoint(232.14, 291.86) controlPoint2: NSMakePoint(216.54, 291.86)]; [upperPiecePath curveToPoint: NSMakePoint(177.19, 295.84) controlPoint1: NSMakePoint(198.55, 291.86) controlPoint2: NSMakePoint(187.71, 292.68)]; [upperPiecePath curveToPoint: NSMakePoint(146.84, 309.05) controlPoint1: NSMakePoint(166.67, 299) controlPoint2: NSMakePoint(146.84, 309.05)]; [upperPiecePath lineToPoint: NSMakePoint(138.02, 297.74)]; [upperPiecePath lineToPoint: NSMakePoint(155.56, 278.49)]; [upperPiecePath lineToPoint: NSMakePoint(232.14, 262.55)]; [upperPiecePath lineToPoint: NSMakePoint(317.45, 278.49)]; [upperPiecePath lineToPoint: NSMakePoint(326.27, 297.74)]; [upperPiecePath closePath]; [darkController setFill]; [upperPiecePath fill]; //// mainPiece Drawing NSBezierPath* mainPiecePath = NSBezierPath.bezierPath; [mainPiecePath moveToPoint: NSMakePoint(232, 98.24)]; [mainPiecePath curveToPoint: NSMakePoint(199.49, 98.26) controlPoint1: NSMakePoint(232, 98.24) controlPoint2: NSMakePoint(218.98, 98.26)]; [mainPiecePath curveToPoint: NSMakePoint(138.69, 81.37) controlPoint1: NSMakePoint(180.01, 98.26) controlPoint2: NSMakePoint(156.34, 94.14)]; [mainPiecePath curveToPoint: NSMakePoint(95.6, 43.69) controlPoint1: NSMakePoint(121.04, 68.61) controlPoint2: NSMakePoint(108.77, 56.87)]; [mainPiecePath curveToPoint: NSMakePoint(57.75, 13.88) controlPoint1: NSMakePoint(82.43, 30.52) controlPoint2: NSMakePoint(64.46, 16.16)]; [mainPiecePath curveToPoint: NSMakePoint(32.63, 15.05) controlPoint1: NSMakePoint(51.04, 11.59) controlPoint2: NSMakePoint(38.05, 12.26)]; [mainPiecePath curveToPoint: NSMakePoint(19.8, 29.28) controlPoint1: NSMakePoint(27.21, 17.84) controlPoint2: NSMakePoint(24.05, 21.26)]; [mainPiecePath curveToPoint: NSMakePoint(12.25, 56.33) controlPoint1: NSMakePoint(15.55, 37.31) controlPoint2: NSMakePoint(13.81, 44.39)]; [mainPiecePath curveToPoint: NSMakePoint(12.42, 103.97) controlPoint1: NSMakePoint(10.69, 68.26) controlPoint2: NSMakePoint(10.42, 83.87)]; [mainPiecePath curveToPoint: NSMakePoint(19.13, 150.74) controlPoint1: NSMakePoint(14.42, 124.07) controlPoint2: NSMakePoint(15.78, 132)]; [mainPiecePath curveToPoint: NSMakePoint(33.86, 208.39) controlPoint1: NSMakePoint(22.49, 169.47) controlPoint2: NSMakePoint(28.2, 189.55)]; [mainPiecePath curveToPoint: NSMakePoint(52.42, 261.72) controlPoint1: NSMakePoint(39.51, 227.24) controlPoint2: NSMakePoint(48.55, 251.39)]; [mainPiecePath curveToPoint: NSMakePoint(67.84, 292.19) controlPoint1: NSMakePoint(56.3, 272.06) controlPoint2: NSMakePoint(61.45, 286.91)]; [mainPiecePath curveToPoint: NSMakePoint(99.81, 307.81) controlPoint1: NSMakePoint(74.22, 297.48) controlPoint2: NSMakePoint(85.43, 303.66)]; [mainPiecePath curveToPoint: NSMakePoint(136.77, 310.82) controlPoint1: NSMakePoint(114.19, 311.96) controlPoint2: NSMakePoint(130.32, 312.02)]; [mainPiecePath curveToPoint: NSMakePoint(153.53, 302.45) controlPoint1: NSMakePoint(143.23, 309.63) controlPoint2: NSMakePoint(145.42, 307.99)]; [mainPiecePath curveToPoint: NSMakePoint(172.67, 290.01) controlPoint1: NSMakePoint(161.65, 296.92) controlPoint2: NSMakePoint(166.26, 293.18)]; [mainPiecePath curveToPoint: NSMakePoint(198.91, 282.53) controlPoint1: NSMakePoint(179.08, 286.83) controlPoint2: NSMakePoint(187.74, 283.91)]; [mainPiecePath curveToPoint: NSMakePoint(232, 280.48) controlPoint1: NSMakePoint(210.07, 281.15) controlPoint2: NSMakePoint(225.73, 280.57)]; [mainPiecePath curveToPoint: NSMakePoint(265.09, 282.53) controlPoint1: NSMakePoint(238.27, 280.57) controlPoint2: NSMakePoint(253.93, 281.15)]; [mainPiecePath curveToPoint: NSMakePoint(291.33, 290.01) controlPoint1: NSMakePoint(276.26, 283.91) controlPoint2: NSMakePoint(284.92, 286.83)]; [mainPiecePath curveToPoint: NSMakePoint(310.47, 302.45) controlPoint1: NSMakePoint(297.74, 293.18) controlPoint2: NSMakePoint(302.35, 296.92)]; [mainPiecePath curveToPoint: NSMakePoint(327.23, 310.82) controlPoint1: NSMakePoint(318.58, 307.99) controlPoint2: NSMakePoint(320.77, 309.63)]; [mainPiecePath curveToPoint: NSMakePoint(364.19, 307.81) controlPoint1: NSMakePoint(333.68, 312.02) controlPoint2: NSMakePoint(349.81, 311.96)]; [mainPiecePath curveToPoint: NSMakePoint(396.16, 292.19) controlPoint1: NSMakePoint(378.57, 303.66) controlPoint2: NSMakePoint(389.78, 297.48)]; [mainPiecePath curveToPoint: NSMakePoint(411.58, 261.72) controlPoint1: NSMakePoint(402.55, 286.91) controlPoint2: NSMakePoint(407.7, 272.06)]; [mainPiecePath curveToPoint: NSMakePoint(430.14, 208.39) controlPoint1: NSMakePoint(415.45, 251.39) controlPoint2: NSMakePoint(424.49, 227.24)]; [mainPiecePath curveToPoint: NSMakePoint(444.87, 150.74) controlPoint1: NSMakePoint(435.8, 189.55) controlPoint2: NSMakePoint(441.51, 169.47)]; [mainPiecePath curveToPoint: NSMakePoint(451.58, 103.97) controlPoint1: NSMakePoint(448.22, 132) controlPoint2: NSMakePoint(449.58, 124.07)]; [mainPiecePath curveToPoint: NSMakePoint(451.75, 56.33) controlPoint1: NSMakePoint(453.58, 83.87) controlPoint2: NSMakePoint(453.31, 68.26)]; [mainPiecePath curveToPoint: NSMakePoint(444.2, 29.28) controlPoint1: NSMakePoint(450.19, 44.39) controlPoint2: NSMakePoint(448.45, 37.31)]; [mainPiecePath curveToPoint: NSMakePoint(431.37, 15.05) controlPoint1: NSMakePoint(439.95, 21.26) controlPoint2: NSMakePoint(436.79, 17.84)]; [mainPiecePath curveToPoint: NSMakePoint(406.25, 13.88) controlPoint1: NSMakePoint(425.95, 12.26) controlPoint2: NSMakePoint(412.96, 11.59)]; [mainPiecePath curveToPoint: NSMakePoint(368.4, 43.69) controlPoint1: NSMakePoint(399.54, 16.16) controlPoint2: NSMakePoint(382.98, 29.55)]; [mainPiecePath curveToPoint: NSMakePoint(325.31, 81.37) controlPoint1: NSMakePoint(353.82, 57.83) controlPoint2: NSMakePoint(342.96, 68.61)]; [mainPiecePath curveToPoint: NSMakePoint(264.51, 98.26) controlPoint1: NSMakePoint(307.66, 94.14) controlPoint2: NSMakePoint(283.99, 98.26)]; [mainPiecePath curveToPoint: NSMakePoint(232, 98.24) controlPoint1: NSMakePoint(245.02, 98.26) controlPoint2: NSMakePoint(232, 98.24)]; [mainPiecePath closePath]; [controller setFill]; [mainPiecePath fill]; //// Bezier 6 Drawing NSBezierPath* bezier6Path = NSBezierPath.bezierPath; [bezier6Path moveToPoint: NSMakePoint(137.17, 310.95)]; [bezier6Path curveToPoint: NSMakePoint(153.95, 302.58) controlPoint1: NSMakePoint(143.63, 309.75) controlPoint2: NSMakePoint(145.82, 308.12)]; [bezier6Path curveToPoint: NSMakePoint(173.1, 290.14) controlPoint1: NSMakePoint(162.07, 297.05) controlPoint2: NSMakePoint(166.68, 293.31)]; [bezier6Path curveToPoint: NSMakePoint(199.35, 282.66) controlPoint1: NSMakePoint(179.51, 286.96) controlPoint2: NSMakePoint(188.18, 284.04)]; [bezier6Path curveToPoint: NSMakePoint(232.47, 280.6) controlPoint1: NSMakePoint(210.52, 281.27) controlPoint2: NSMakePoint(226.19, 280.69)]; [bezier6Path curveToPoint: NSMakePoint(265.58, 282.66) controlPoint1: NSMakePoint(238.74, 280.69) controlPoint2: NSMakePoint(254.41, 281.27)]; [bezier6Path curveToPoint: NSMakePoint(291.84, 290.14) controlPoint1: NSMakePoint(276.75, 284.04) controlPoint2: NSMakePoint(285.42, 286.96)]; [bezier6Path curveToPoint: NSMakePoint(310.99, 302.58) controlPoint1: NSMakePoint(298.25, 293.31) controlPoint2: NSMakePoint(302.86, 297.05)]; [bezier6Path curveToPoint: NSMakePoint(327.76, 310.95) controlPoint1: NSMakePoint(319.11, 308.12) controlPoint2: NSMakePoint(321.3, 309.75)]; [bezier6Path curveToPoint: NSMakePoint(364.75, 307.94) controlPoint1: NSMakePoint(334.22, 312.15) controlPoint2: NSMakePoint(350.36, 312.09)]; [bezier6Path curveToPoint: NSMakePoint(396.75, 292.32) controlPoint1: NSMakePoint(379.14, 303.79) controlPoint2: NSMakePoint(390.36, 297.61)]; [bezier6Path curveToPoint: NSMakePoint(400.42, 288.13) controlPoint1: NSMakePoint(398.02, 291.27) controlPoint2: NSMakePoint(399.24, 289.83)]; [bezier6Path curveToPoint: NSMakePoint(344.12, 305.03) controlPoint1: NSMakePoint(382.74, 295.64) controlPoint2: NSMakePoint(359.83, 304.98)]; [bezier6Path curveToPoint: NSMakePoint(304.61, 289.92) controlPoint1: NSMakePoint(324.85, 305.1) controlPoint2: NSMakePoint(319.18, 300.27)]; [bezier6Path curveToPoint: NSMakePoint(261.8, 273.12) controlPoint1: NSMakePoint(290.05, 279.57) controlPoint2: NSMakePoint(275.66, 274.04)]; [bezier6Path curveToPoint: NSMakePoint(243.28, 272.63) controlPoint1: NSMakePoint(255.52, 272.7) controlPoint2: NSMakePoint(248.78, 272.61)]; [bezier6Path curveToPoint: NSMakePoint(232.14, 272.63) controlPoint1: NSMakePoint(236.64, 272.65) controlPoint2: NSMakePoint(232.14, 272.63)]; [bezier6Path curveToPoint: NSMakePoint(221.01, 272.63) controlPoint1: NSMakePoint(232.14, 272.63) controlPoint2: NSMakePoint(227.65, 272.65)]; [bezier6Path curveToPoint: NSMakePoint(202.49, 273.12) controlPoint1: NSMakePoint(215.51, 272.61) controlPoint2: NSMakePoint(208.77, 272.7)]; [bezier6Path curveToPoint: NSMakePoint(159.67, 289.92) controlPoint1: NSMakePoint(188.63, 274.04) controlPoint2: NSMakePoint(174.24, 279.57)]; [bezier6Path curveToPoint: NSMakePoint(120.17, 305.03) controlPoint1: NSMakePoint(145.11, 300.27) controlPoint2: NSMakePoint(139.44, 305.1)]; [bezier6Path curveToPoint: NSMakePoint(64.79, 288.52) controlPoint1: NSMakePoint(104.73, 304.98) controlPoint2: NSMakePoint(82.34, 295.96)]; [bezier6Path curveToPoint: NSMakePoint(68.19, 292.32) controlPoint1: NSMakePoint(65.88, 290.05) controlPoint2: NSMakePoint(67.01, 291.35)]; [bezier6Path curveToPoint: NSMakePoint(100.18, 307.94) controlPoint1: NSMakePoint(74.57, 297.61) controlPoint2: NSMakePoint(85.79, 303.79)]; [bezier6Path curveToPoint: NSMakePoint(137.17, 310.95) controlPoint1: NSMakePoint(114.57, 312.09) controlPoint2: NSMakePoint(130.72, 312.15)]; [bezier6Path closePath]; [highlightController setFill]; [bezier6Path fill]; //// Oval Drawing NSBezierPath* ovalPath = NSBezierPath.bezierPath; [ovalPath moveToPoint: NSMakePoint(327.06, 123.32)]; [ovalPath curveToPoint: NSMakePoint(327.06, 194.38) controlPoint1: NSMakePoint(346.1, 142.94) controlPoint2: NSMakePoint(346.1, 174.76)]; [ovalPath curveToPoint: NSMakePoint(258.12, 194.38) controlPoint1: NSMakePoint(308.02, 214.01) controlPoint2: NSMakePoint(277.16, 214.01)]; [ovalPath curveToPoint: NSMakePoint(258.12, 123.32) controlPoint1: NSMakePoint(239.08, 174.76) controlPoint2: NSMakePoint(239.08, 142.94)]; [ovalPath curveToPoint: NSMakePoint(327.06, 123.32) controlPoint1: NSMakePoint(277.16, 103.69) controlPoint2: NSMakePoint(308.02, 103.69)]; [ovalPath closePath]; [darkController setStroke]; [ovalPath setLineWidth: 1]; [ovalPath stroke]; //// Oval 4 Drawing NSBezierPath* oval4Path = NSBezierPath.bezierPath; [oval4Path moveToPoint: NSMakePoint(136.58, 207.39)]; [oval4Path curveToPoint: NSMakePoint(136.58, 271.56) controlPoint1: NSMakePoint(154.59, 225.11) controlPoint2: NSMakePoint(154.59, 253.84)]; [oval4Path curveToPoint: NSMakePoint(71.35, 271.56) controlPoint1: NSMakePoint(118.57, 289.28) controlPoint2: NSMakePoint(89.36, 289.28)]; [oval4Path curveToPoint: NSMakePoint(71.35, 207.39) controlPoint1: NSMakePoint(53.34, 253.84) controlPoint2: NSMakePoint(53.34, 225.11)]; [oval4Path curveToPoint: NSMakePoint(136.58, 207.39) controlPoint1: NSMakePoint(89.36, 189.67) controlPoint2: NSMakePoint(118.57, 189.67)]; [oval4Path closePath]; [darkController setStroke]; [oval4Path setLineWidth: 1]; [oval4Path stroke]; //// Oval 2 Drawing NSBezierPath* oval2Path = NSBezierPath.bezierPath; [oval2Path moveToPoint: NSMakePoint(200.35, 125.54)]; [oval2Path curveToPoint: NSMakePoint(200.35, 196.4) controlPoint1: NSMakePoint(219.76, 145.11) controlPoint2: NSMakePoint(219.76, 176.83)]; [oval2Path curveToPoint: NSMakePoint(130.07, 196.4) controlPoint1: NSMakePoint(180.94, 215.97) controlPoint2: NSMakePoint(149.48, 215.97)]; [oval2Path curveToPoint: NSMakePoint(130.07, 125.54) controlPoint1: NSMakePoint(110.67, 176.83) controlPoint2: NSMakePoint(110.67, 145.11)]; [oval2Path curveToPoint: NSMakePoint(200.35, 125.54) controlPoint1: NSMakePoint(149.48, 105.97) controlPoint2: NSMakePoint(180.94, 105.97)]; [oval2Path closePath]; [darkController setStroke]; [oval2Path setLineWidth: 1]; [oval2Path stroke]; //// Oval 8 Drawing NSBezierPath* oval8Path = NSBezierPath.bezierPath; [oval8Path moveToPoint: NSMakePoint(325, 163.5)]; [oval8Path curveToPoint: NSMakePoint(293.5, 195) controlPoint1: NSMakePoint(325, 180.9) controlPoint2: NSMakePoint(310.9, 195)]; [oval8Path curveToPoint: NSMakePoint(262, 163.5) controlPoint1: NSMakePoint(276.1, 195) controlPoint2: NSMakePoint(262, 180.9)]; [oval8Path curveToPoint: NSMakePoint(293.5, 132) controlPoint1: NSMakePoint(262, 146.1) controlPoint2: NSMakePoint(276.1, 132)]; [oval8Path curveToPoint: NSMakePoint(325, 163.5) controlPoint1: NSMakePoint(310.9, 132) controlPoint2: NSMakePoint(325, 146.1)]; [oval8Path closePath]; [highlightStick setFill]; [oval8Path fill]; [darkController setStroke]; [oval8Path setLineWidth: 2]; [oval8Path stroke]; //// Oval 6 Drawing NSBezierPath* oval6Path = NSBezierPath.bezierPath; [oval6Path moveToPoint: NSMakePoint(135, 240.5)]; [oval6Path curveToPoint: NSMakePoint(103.5, 272) controlPoint1: NSMakePoint(135, 257.9) controlPoint2: NSMakePoint(120.9, 272)]; [oval6Path curveToPoint: NSMakePoint(72, 240.5) controlPoint1: NSMakePoint(86.1, 272) controlPoint2: NSMakePoint(72, 257.9)]; [oval6Path curveToPoint: NSMakePoint(103.5, 209) controlPoint1: NSMakePoint(72, 223.1) controlPoint2: NSMakePoint(86.1, 209)]; [oval6Path curveToPoint: NSMakePoint(135, 240.5) controlPoint1: NSMakePoint(120.9, 209) controlPoint2: NSMakePoint(135, 223.1)]; [oval6Path closePath]; [highlightStick setFill]; [oval6Path fill]; [darkController setStroke]; [oval6Path setLineWidth: 2]; [oval6Path stroke]; } //// But home Drawing NSBezierPath* butHomePath = NSBezierPath.bezierPath; [butHomePath moveToPoint: NSMakePoint(251.22, 234.1)]; [butHomePath curveToPoint: NSMakePoint(232.47, 252.85) controlPoint1: NSMakePoint(251.22, 244.46) controlPoint2: NSMakePoint(242.82, 252.85)]; [butHomePath curveToPoint: NSMakePoint(213.72, 234.1) controlPoint1: NSMakePoint(222.11, 252.85) controlPoint2: NSMakePoint(213.72, 244.46)]; [butHomePath curveToPoint: NSMakePoint(232.47, 215.35) controlPoint1: NSMakePoint(213.72, 223.75) controlPoint2: NSMakePoint(222.11, 215.35)]; [butHomePath curveToPoint: NSMakePoint(251.22, 234.1) controlPoint1: NSMakePoint(242.82, 215.35) controlPoint2: NSMakePoint(251.22, 223.75)]; [butHomePath closePath]; [homeColor setFill]; [butHomePath fill]; [homeStroke setStroke]; [butHomePath setLineWidth: 2]; [butHomePath stroke]; //// But select { //// back Drawing NSBezierPath* backPath = NSBezierPath.bezierPath; [backPath moveToPoint: NSMakePoint(197.97, 234.85)]; [backPath curveToPoint: NSMakePoint(188.93, 224.48) controlPoint1: NSMakePoint(197.97, 229.61) controlPoint2: NSMakePoint(194.05, 225.26)]; [backPath curveToPoint: NSMakePoint(187.26, 224.35) controlPoint1: NSMakePoint(188.38, 224.4) controlPoint2: NSMakePoint(187.83, 224.35)]; [backPath curveToPoint: NSMakePoint(183.93, 224.35) controlPoint1: NSMakePoint(187.26, 224.35) controlPoint2: NSMakePoint(184.49, 224.35)]; [backPath curveToPoint: NSMakePoint(173.22, 234.85) controlPoint1: NSMakePoint(178.01, 224.35) controlPoint2: NSMakePoint(173.22, 229.05)]; [backPath curveToPoint: NSMakePoint(183.93, 245.35) controlPoint1: NSMakePoint(173.22, 240.65) controlPoint2: NSMakePoint(178.01, 245.35)]; [backPath curveToPoint: NSMakePoint(187.26, 245.35) controlPoint1: NSMakePoint(184.49, 245.35) controlPoint2: NSMakePoint(186.69, 245.35)]; [backPath curveToPoint: NSMakePoint(197.97, 234.85) controlPoint1: NSMakePoint(193.17, 245.35) controlPoint2: NSMakePoint(197.97, 240.65)]; [backPath closePath]; [backColor setFill]; [backPath fill]; [backStroke setStroke]; [backPath setLineWidth: 2]; [backPath stroke]; //// Rectangle Drawing NSBezierPath* rectanglePath = NSBezierPath.bezierPath; [rectanglePath moveToPoint: NSMakePoint(188.29, 239.65)]; [rectanglePath lineToPoint: NSMakePoint(180.49, 234.85)]; [rectanglePath lineToPoint: NSMakePoint(188.29, 230.05)]; [rectanglePath lineToPoint: NSMakePoint(188.29, 239.65)]; [rectanglePath closePath]; [backStroke setFill]; [rectanglePath fill]; } //// But start { //// start Drawing NSBezierPath* startPath = NSBezierPath.bezierPath; [startPath moveToPoint: NSMakePoint(290.15, 234.85)]; [startPath curveToPoint: NSMakePoint(281.11, 224.48) controlPoint1: NSMakePoint(290.15, 229.61) controlPoint2: NSMakePoint(286.23, 225.26)]; [startPath curveToPoint: NSMakePoint(279.44, 224.35) controlPoint1: NSMakePoint(280.57, 224.4) controlPoint2: NSMakePoint(280.01, 224.35)]; [startPath curveToPoint: NSMakePoint(276.11, 224.35) controlPoint1: NSMakePoint(279.44, 224.35) controlPoint2: NSMakePoint(276.68, 224.35)]; [startPath curveToPoint: NSMakePoint(265.4, 234.85) controlPoint1: NSMakePoint(270.2, 224.35) controlPoint2: NSMakePoint(265.4, 229.05)]; [startPath curveToPoint: NSMakePoint(276.11, 245.35) controlPoint1: NSMakePoint(265.4, 240.65) controlPoint2: NSMakePoint(270.2, 245.35)]; [startPath curveToPoint: NSMakePoint(279.44, 245.35) controlPoint1: NSMakePoint(276.68, 245.35) controlPoint2: NSMakePoint(278.88, 245.35)]; [startPath curveToPoint: NSMakePoint(290.15, 234.85) controlPoint1: NSMakePoint(285.36, 245.35) controlPoint2: NSMakePoint(290.15, 240.65)]; [startPath closePath]; [startColor setFill]; [startPath fill]; [startStroke setStroke]; [startPath setLineWidth: 2]; [startPath stroke]; //// Rectangle 2 Drawing NSBezierPath* rectangle2Path = NSBezierPath.bezierPath; [rectangle2Path moveToPoint: NSMakePoint(275.08, 230.05)]; [rectangle2Path lineToPoint: NSMakePoint(282.88, 234.85)]; [rectangle2Path lineToPoint: NSMakePoint(275.08, 239.65)]; [rectangle2Path lineToPoint: NSMakePoint(275.08, 230.05)]; [rectangle2Path closePath]; [startStroke setFill]; [rectangle2Path fill]; } //// But X { //// X Drawing NSBezierPath* xPath = NSBezierPath.bezierPath; [xPath moveToPoint: NSMakePoint(340.5, 236.75)]; [xPath curveToPoint: NSMakePoint(324.75, 252.5) controlPoint1: NSMakePoint(340.5, 245.45) controlPoint2: NSMakePoint(333.45, 252.5)]; [xPath curveToPoint: NSMakePoint(309, 236.75) controlPoint1: NSMakePoint(316.05, 252.5) controlPoint2: NSMakePoint(309, 245.45)]; [xPath curveToPoint: NSMakePoint(324.75, 221) controlPoint1: NSMakePoint(309, 228.05) controlPoint2: NSMakePoint(316.05, 221)]; [xPath curveToPoint: NSMakePoint(340.5, 236.75) controlPoint1: NSMakePoint(333.45, 221) controlPoint2: NSMakePoint(340.5, 228.05)]; [xPath closePath]; [xColor setFill]; [xPath fill]; [xStroke setStroke]; [xPath setLineWidth: 3]; [xPath stroke]; //// Text Drawing NSBezierPath* textPath = NSBezierPath.bezierPath; [textPath moveToPoint: NSMakePoint(316.5, 244.8)]; [textPath lineToPoint: NSMakePoint(321.98, 244.8)]; [textPath lineToPoint: NSMakePoint(324.84, 239.85)]; [textPath lineToPoint: NSMakePoint(327.61, 244.8)]; [textPath lineToPoint: NSMakePoint(333.03, 244.8)]; [textPath lineToPoint: NSMakePoint(328.02, 237)]; [textPath lineToPoint: NSMakePoint(333.51, 228.7)]; [textPath lineToPoint: NSMakePoint(327.91, 228.7)]; [textPath lineToPoint: NSMakePoint(324.74, 233.87)]; [textPath lineToPoint: NSMakePoint(321.55, 228.7)]; [textPath lineToPoint: NSMakePoint(315.99, 228.7)]; [textPath lineToPoint: NSMakePoint(321.55, 237.09)]; [textPath lineToPoint: NSMakePoint(316.5, 244.8)]; [textPath closePath]; [xStroke setFill]; [textPath fill]; } //// But B { //// B Drawing NSBezierPath* bPath = NSBezierPath.bezierPath; [bPath moveToPoint: NSMakePoint(407.5, 236.75)]; [bPath curveToPoint: NSMakePoint(391.75, 252.5) controlPoint1: NSMakePoint(407.5, 245.45) controlPoint2: NSMakePoint(400.45, 252.5)]; [bPath curveToPoint: NSMakePoint(376, 236.75) controlPoint1: NSMakePoint(383.05, 252.5) controlPoint2: NSMakePoint(376, 245.45)]; [bPath curveToPoint: NSMakePoint(391.75, 221) controlPoint1: NSMakePoint(376, 228.05) controlPoint2: NSMakePoint(383.05, 221)]; [bPath curveToPoint: NSMakePoint(407.5, 236.75) controlPoint1: NSMakePoint(400.45, 221) controlPoint2: NSMakePoint(407.5, 228.05)]; [bPath closePath]; [bColor setFill]; [bPath fill]; [bStroke setStroke]; [bPath setLineWidth: 3]; [bPath stroke]; //// Text 3 Drawing NSBezierPath* text3Path = NSBezierPath.bezierPath; [text3Path moveToPoint: NSMakePoint(386.3, 243.73)]; [text3Path lineToPoint: NSMakePoint(394.37, 243.73)]; [text3Path curveToPoint: NSMakePoint(397.47, 242.73) controlPoint1: NSMakePoint(395.72, 243.73) controlPoint2: NSMakePoint(396.75, 243.4)]; [text3Path curveToPoint: NSMakePoint(398.55, 240.25) controlPoint1: NSMakePoint(398.19, 242.06) controlPoint2: NSMakePoint(398.55, 241.24)]; [text3Path curveToPoint: NSMakePoint(397.78, 238.13) controlPoint1: NSMakePoint(398.55, 239.43) controlPoint2: NSMakePoint(398.3, 238.72)]; [text3Path curveToPoint: NSMakePoint(396.28, 237.2) controlPoint1: NSMakePoint(397.44, 237.74) controlPoint2: NSMakePoint(396.94, 237.43)]; [text3Path curveToPoint: NSMakePoint(398.49, 235.95) controlPoint1: NSMakePoint(397.28, 236.96) controlPoint2: NSMakePoint(398.02, 236.54)]; [text3Path curveToPoint: NSMakePoint(399.2, 233.74) controlPoint1: NSMakePoint(398.96, 235.37) controlPoint2: NSMakePoint(399.2, 234.63)]; [text3Path curveToPoint: NSMakePoint(398.7, 231.79) controlPoint1: NSMakePoint(399.2, 233.02) controlPoint2: NSMakePoint(399.03, 232.37)]; [text3Path curveToPoint: NSMakePoint(397.32, 230.42) controlPoint1: NSMakePoint(398.36, 231.21) controlPoint2: NSMakePoint(397.9, 230.75)]; [text3Path curveToPoint: NSMakePoint(395.68, 229.96) controlPoint1: NSMakePoint(396.95, 230.21) controlPoint2: NSMakePoint(396.41, 230.06)]; [text3Path curveToPoint: NSMakePoint(393.74, 229.77) controlPoint1: NSMakePoint(394.71, 229.83) controlPoint2: NSMakePoint(394.06, 229.77)]; [text3Path lineToPoint: NSMakePoint(386.3, 229.77)]; [text3Path lineToPoint: NSMakePoint(386.3, 243.73)]; [text3Path closePath]; [text3Path moveToPoint: NSMakePoint(390.65, 238.25)]; [text3Path lineToPoint: NSMakePoint(392.53, 238.25)]; [text3Path curveToPoint: NSMakePoint(393.93, 238.6) controlPoint1: NSMakePoint(393.2, 238.25) controlPoint2: NSMakePoint(393.67, 238.37)]; [text3Path curveToPoint: NSMakePoint(394.33, 239.61) controlPoint1: NSMakePoint(394.19, 238.83) controlPoint2: NSMakePoint(394.33, 239.17)]; [text3Path curveToPoint: NSMakePoint(393.93, 240.56) controlPoint1: NSMakePoint(394.33, 240.01) controlPoint2: NSMakePoint(394.19, 240.33)]; [text3Path curveToPoint: NSMakePoint(392.55, 240.9) controlPoint1: NSMakePoint(393.67, 240.79) controlPoint2: NSMakePoint(393.21, 240.9)]; [text3Path lineToPoint: NSMakePoint(390.65, 240.9)]; [text3Path lineToPoint: NSMakePoint(390.65, 238.25)]; [text3Path closePath]; [text3Path moveToPoint: NSMakePoint(390.65, 232.77)]; [text3Path lineToPoint: NSMakePoint(392.85, 232.77)]; [text3Path curveToPoint: NSMakePoint(394.42, 233.17) controlPoint1: NSMakePoint(393.59, 232.77) controlPoint2: NSMakePoint(394.12, 232.9)]; [text3Path curveToPoint: NSMakePoint(394.88, 234.23) controlPoint1: NSMakePoint(394.73, 233.43) controlPoint2: NSMakePoint(394.88, 233.78)]; [text3Path curveToPoint: NSMakePoint(394.43, 235.22) controlPoint1: NSMakePoint(394.88, 234.64) controlPoint2: NSMakePoint(394.73, 234.97)]; [text3Path curveToPoint: NSMakePoint(392.84, 235.6) controlPoint1: NSMakePoint(394.12, 235.47) controlPoint2: NSMakePoint(393.6, 235.6)]; [text3Path lineToPoint: NSMakePoint(390.65, 235.6)]; [text3Path lineToPoint: NSMakePoint(390.65, 232.77)]; [text3Path closePath]; [bStroke setFill]; [text3Path fill]; } //// But Y { //// Y Drawing NSBezierPath* yPath = NSBezierPath.bezierPath; [yPath moveToPoint: NSMakePoint(375, 272)]; [yPath curveToPoint: NSMakePoint(359, 288) controlPoint1: NSMakePoint(375, 280.84) controlPoint2: NSMakePoint(367.84, 288)]; [yPath curveToPoint: NSMakePoint(343, 272) controlPoint1: NSMakePoint(350.16, 288) controlPoint2: NSMakePoint(343, 280.84)]; [yPath curveToPoint: NSMakePoint(359, 256) controlPoint1: NSMakePoint(343, 263.16) controlPoint2: NSMakePoint(350.16, 256)]; [yPath curveToPoint: NSMakePoint(375, 272) controlPoint1: NSMakePoint(367.84, 256) controlPoint2: NSMakePoint(375, 263.16)]; [yPath closePath]; [yColor setFill]; [yPath fill]; [yStroke setStroke]; [yPath setLineWidth: 3]; [yPath stroke]; //// Text 4 Drawing NSBezierPath* text4Path = NSBezierPath.bezierPath; [text4Path moveToPoint: NSMakePoint(351.4, 277.98)]; [text4Path lineToPoint: NSMakePoint(356.19, 277.98)]; [text4Path lineToPoint: NSMakePoint(359.01, 273.27)]; [text4Path lineToPoint: NSMakePoint(361.83, 277.98)]; [text4Path lineToPoint: NSMakePoint(366.59, 277.98)]; [text4Path lineToPoint: NSMakePoint(361.16, 269.87)]; [text4Path lineToPoint: NSMakePoint(361.16, 264.02)]; [text4Path lineToPoint: NSMakePoint(356.84, 264.02)]; [text4Path lineToPoint: NSMakePoint(356.84, 269.87)]; [text4Path lineToPoint: NSMakePoint(351.4, 277.98)]; [text4Path closePath]; [yStroke setFill]; [text4Path fill]; } //// But A { //// A Drawing NSBezierPath* aPath = NSBezierPath.bezierPath; [aPath moveToPoint: NSMakePoint(375, 203)]; [aPath curveToPoint: NSMakePoint(359, 219) controlPoint1: NSMakePoint(375, 211.84) controlPoint2: NSMakePoint(367.84, 219)]; [aPath curveToPoint: NSMakePoint(343, 203) controlPoint1: NSMakePoint(350.16, 219) controlPoint2: NSMakePoint(343, 211.84)]; [aPath curveToPoint: NSMakePoint(359, 187) controlPoint1: NSMakePoint(343, 194.16) controlPoint2: NSMakePoint(350.16, 187)]; [aPath curveToPoint: NSMakePoint(375, 203) controlPoint1: NSMakePoint(367.84, 187) controlPoint2: NSMakePoint(375, 194.16)]; [aPath closePath]; [aColor setFill]; [aPath fill]; [aStroke setStroke]; [aPath setLineWidth: 3]; [aPath stroke]; //// Text 2 Drawing NSBezierPath* text2Path = NSBezierPath.bezierPath; [text2Path moveToPoint: NSMakePoint(361.4, 199.32)]; [text2Path lineToPoint: NSMakePoint(356.49, 199.32)]; [text2Path lineToPoint: NSMakePoint(355.81, 197.02)]; [text2Path lineToPoint: NSMakePoint(351.4, 197.02)]; [text2Path lineToPoint: NSMakePoint(356.65, 210.98)]; [text2Path lineToPoint: NSMakePoint(361.35, 210.98)]; [text2Path lineToPoint: NSMakePoint(366.6, 197.02)]; [text2Path lineToPoint: NSMakePoint(362.08, 197.02)]; [text2Path lineToPoint: NSMakePoint(361.4, 199.32)]; [text2Path closePath]; [text2Path moveToPoint: NSMakePoint(360.49, 202.34)]; [text2Path lineToPoint: NSMakePoint(358.95, 207.36)]; [text2Path lineToPoint: NSMakePoint(357.42, 202.34)]; [text2Path lineToPoint: NSMakePoint(360.49, 202.34)]; [text2Path closePath]; [aStroke setFill]; [text2Path fill]; } //// DigiCross { //// Oval 3 Drawing NSBezierPath* oval3Path = NSBezierPath.bezierPath; [oval3Path moveToPoint: NSMakePoint(204, 162.5)]; [oval3Path curveToPoint: NSMakePoint(165.5, 201) controlPoint1: NSMakePoint(204, 183.76) controlPoint2: NSMakePoint(186.76, 201)]; [oval3Path curveToPoint: NSMakePoint(127, 162.5) controlPoint1: NSMakePoint(144.24, 201) controlPoint2: NSMakePoint(127, 183.76)]; [oval3Path curveToPoint: NSMakePoint(165.5, 124) controlPoint1: NSMakePoint(127, 141.24) controlPoint2: NSMakePoint(144.24, 124)]; [oval3Path curveToPoint: NSMakePoint(204, 162.5) controlPoint1: NSMakePoint(186.76, 124) controlPoint2: NSMakePoint(204, 141.24)]; [oval3Path closePath]; [darkController setFill]; [oval3Path fill]; //// Oval 5 Drawing NSBezierPath* oval5Path = NSBezierPath.bezierPath; [oval5Path moveToPoint: NSMakePoint(201, 162.5)]; [oval5Path curveToPoint: NSMakePoint(165.5, 198) controlPoint1: NSMakePoint(201, 182.11) controlPoint2: NSMakePoint(185.11, 198)]; [oval5Path curveToPoint: NSMakePoint(130, 162.5) controlPoint1: NSMakePoint(145.89, 198) controlPoint2: NSMakePoint(130, 182.11)]; [oval5Path curveToPoint: NSMakePoint(165.5, 127) controlPoint1: NSMakePoint(130, 142.89) controlPoint2: NSMakePoint(145.89, 127)]; [oval5Path curveToPoint: NSMakePoint(201, 162.5) controlPoint1: NSMakePoint(185.11, 127) controlPoint2: NSMakePoint(201, 142.89)]; [oval5Path closePath]; [cross setFill]; [oval5Path fill]; [crossStroke setStroke]; [oval5Path setLineWidth: 1]; [oval5Path stroke]; //// Bezier 5 Drawing NSBezierPath* bezier5Path = NSBezierPath.bezierPath; [bezier5Path moveToPoint: NSMakePoint(176.59, 196.23)]; [bezier5Path curveToPoint: NSMakePoint(177.55, 184.69) controlPoint1: NSMakePoint(176.63, 194.6) controlPoint2: NSMakePoint(176.83, 189.18)]; [bezier5Path curveToPoint: NSMakePoint(186.12, 174.48) controlPoint1: NSMakePoint(178.4, 179.35) controlPoint2: NSMakePoint(182.37, 175.72)]; [bezier5Path curveToPoint: NSMakePoint(199.27, 173.48) controlPoint1: NSMakePoint(189.42, 173.38) controlPoint2: NSMakePoint(197.38, 173.45)]; [bezier5Path curveToPoint: NSMakePoint(201, 162.5) controlPoint1: NSMakePoint(200.39, 170.02) controlPoint2: NSMakePoint(201, 166.33)]; [bezier5Path curveToPoint: NSMakePoint(199.18, 151.26) controlPoint1: NSMakePoint(201, 158.57) controlPoint2: NSMakePoint(200.36, 154.79)]; [bezier5Path curveToPoint: NSMakePoint(187.54, 150.3) controlPoint1: NSMakePoint(197.69, 151.22) controlPoint2: NSMakePoint(192.12, 151.03)]; [bezier5Path curveToPoint: NSMakePoint(177.32, 141.72) controlPoint1: NSMakePoint(182.19, 149.44) controlPoint2: NSMakePoint(178.56, 145.47)]; [bezier5Path curveToPoint: NSMakePoint(176.32, 128.68) controlPoint1: NSMakePoint(176.25, 138.48) controlPoint2: NSMakePoint(176.29, 130.75)]; [bezier5Path curveToPoint: NSMakePoint(165.5, 127) controlPoint1: NSMakePoint(172.91, 127.59) controlPoint2: NSMakePoint(169.27, 127)]; [bezier5Path curveToPoint: NSMakePoint(157.66, 127.87) controlPoint1: NSMakePoint(162.81, 127) controlPoint2: NSMakePoint(160.18, 127.3)]; [bezier5Path curveToPoint: NSMakePoint(154.1, 128.87) controlPoint1: NSMakePoint(156.45, 128.14) controlPoint2: NSMakePoint(155.26, 128.48)]; [bezier5Path curveToPoint: NSMakePoint(153.14, 140.31) controlPoint1: NSMakePoint(154.05, 130.62) controlPoint2: NSMakePoint(153.84, 135.92)]; [bezier5Path curveToPoint: NSMakePoint(144.56, 150.52) controlPoint1: NSMakePoint(152.28, 145.65) controlPoint2: NSMakePoint(148.32, 149.28)]; [bezier5Path curveToPoint: NSMakePoint(135.99, 151.49) controlPoint1: NSMakePoint(142.6, 151.17) controlPoint2: NSMakePoint(138.99, 151.41)]; [bezier5Path curveToPoint: NSMakePoint(131.73, 151.52) controlPoint1: NSMakePoint(134.19, 151.54) controlPoint2: NSMakePoint(132.6, 151.54)]; [bezier5Path curveToPoint: NSMakePoint(130, 162.5) controlPoint1: NSMakePoint(130.61, 154.98) controlPoint2: NSMakePoint(130, 158.67)]; [bezier5Path curveToPoint: NSMakePoint(131.82, 173.75) controlPoint1: NSMakePoint(130, 166.43) controlPoint2: NSMakePoint(130.64, 170.21)]; [bezier5Path curveToPoint: NSMakePoint(136.02, 173.95) controlPoint1: NSMakePoint(132.66, 173.77) controlPoint2: NSMakePoint(134.19, 173.83)]; [bezier5Path curveToPoint: NSMakePoint(143.15, 174.7) controlPoint1: NSMakePoint(138.2, 174.09) controlPoint2: NSMakePoint(140.8, 174.33)]; [bezier5Path curveToPoint: NSMakePoint(153.37, 183.28) controlPoint1: NSMakePoint(148.5, 175.56) controlPoint2: NSMakePoint(152.12, 179.53)]; [bezier5Path curveToPoint: NSMakePoint(154.37, 196.22) controlPoint1: NSMakePoint(154.42, 186.47) controlPoint2: NSMakePoint(154.4, 194.01)]; [bezier5Path curveToPoint: NSMakePoint(165.5, 198) controlPoint1: NSMakePoint(157.87, 197.37) controlPoint2: NSMakePoint(161.61, 198)]; [bezier5Path curveToPoint: NSMakePoint(176.59, 196.23) controlPoint1: NSMakePoint(169.37, 198) controlPoint2: NSMakePoint(173.1, 197.38)]; [bezier5Path closePath]; [cross setFill]; [bezier5Path fill]; [crossStroke setStroke]; [bezier5Path setLineWidth: 1]; [bezier5Path stroke]; if (downPressed) { //// D { //// down Drawing NSBezierPath* downPath = NSBezierPath.bezierPath; [downPath moveToPoint: NSMakePoint(181.16, 147.34)]; [downPath curveToPoint: NSMakePoint(177.32, 141.72) controlPoint1: NSMakePoint(179.29, 145.73) controlPoint2: NSMakePoint(177.97, 143.69)]; [downPath curveToPoint: NSMakePoint(176.32, 128.68) controlPoint1: NSMakePoint(176.25, 138.48) controlPoint2: NSMakePoint(176.29, 130.75)]; [downPath curveToPoint: NSMakePoint(165.5, 127) controlPoint1: NSMakePoint(172.91, 127.59) controlPoint2: NSMakePoint(169.27, 127)]; [downPath curveToPoint: NSMakePoint(157.66, 127.87) controlPoint1: NSMakePoint(162.81, 127) controlPoint2: NSMakePoint(160.18, 127.3)]; [downPath curveToPoint: NSMakePoint(154.1, 128.87) controlPoint1: NSMakePoint(156.45, 128.14) controlPoint2: NSMakePoint(155.26, 128.48)]; [downPath curveToPoint: NSMakePoint(153.14, 140.31) controlPoint1: NSMakePoint(154.05, 130.62) controlPoint2: NSMakePoint(153.84, 135.92)]; [downPath curveToPoint: NSMakePoint(149.7, 147.2) controlPoint1: NSMakePoint(152.69, 143.11) controlPoint2: NSMakePoint(151.39, 145.44)]; [downPath curveToPoint: NSMakePoint(165.5, 163) controlPoint1: NSMakePoint(158.26, 155.76) controlPoint2: NSMakePoint(165.5, 163)]; [downPath curveToPoint: NSMakePoint(181.16, 147.34) controlPoint1: NSMakePoint(165.5, 163) controlPoint2: NSMakePoint(172.67, 155.83)]; [downPath closePath]; [pressed setFill]; [downPath fill]; //// down 2 Drawing NSBezierPath* down2Path = NSBezierPath.bezierPath; [down2Path moveToPoint: NSMakePoint(181.16, 147.34)]; [down2Path curveToPoint: NSMakePoint(177.32, 141.72) controlPoint1: NSMakePoint(179.29, 145.73) controlPoint2: NSMakePoint(177.97, 143.69)]; [down2Path curveToPoint: NSMakePoint(176.32, 128.68) controlPoint1: NSMakePoint(176.25, 138.48) controlPoint2: NSMakePoint(176.29, 130.75)]; [down2Path curveToPoint: NSMakePoint(165.5, 127) controlPoint1: NSMakePoint(172.91, 127.59) controlPoint2: NSMakePoint(169.27, 127)]; [down2Path curveToPoint: NSMakePoint(157.66, 127.87) controlPoint1: NSMakePoint(162.81, 127) controlPoint2: NSMakePoint(160.18, 127.3)]; [down2Path curveToPoint: NSMakePoint(154.1, 128.87) controlPoint1: NSMakePoint(156.45, 128.14) controlPoint2: NSMakePoint(155.26, 128.48)]; [down2Path curveToPoint: NSMakePoint(153.14, 140.31) controlPoint1: NSMakePoint(154.05, 130.62) controlPoint2: NSMakePoint(153.84, 135.92)]; [down2Path curveToPoint: NSMakePoint(149.7, 147.2) controlPoint1: NSMakePoint(152.69, 143.11) controlPoint2: NSMakePoint(151.39, 145.44)]; [pressedStroke setStroke]; [down2Path setLineWidth: 1]; [down2Path stroke]; } } if (rightPressed) { //// R { //// right Drawing NSBezierPath* rightPath = NSBezierPath.bezierPath; [rightPath moveToPoint: NSMakePoint(186.12, 174.48)]; [rightPath curveToPoint: NSMakePoint(199.27, 173.48) controlPoint1: NSMakePoint(189.42, 173.38) controlPoint2: NSMakePoint(197.38, 173.45)]; [rightPath curveToPoint: NSMakePoint(201, 162.5) controlPoint1: NSMakePoint(200.39, 170.02) controlPoint2: NSMakePoint(201, 166.33)]; [rightPath curveToPoint: NSMakePoint(199.18, 151.26) controlPoint1: NSMakePoint(201, 158.57) controlPoint2: NSMakePoint(200.36, 154.79)]; [rightPath curveToPoint: NSMakePoint(187.54, 150.3) controlPoint1: NSMakePoint(197.69, 151.22) controlPoint2: NSMakePoint(192.12, 151.03)]; [rightPath curveToPoint: NSMakePoint(180.64, 146.86) controlPoint1: NSMakePoint(184.73, 149.85) controlPoint2: NSMakePoint(182.4, 148.54)]; [rightPath curveToPoint: NSMakePoint(165, 162.5) controlPoint1: NSMakePoint(172.16, 155.34) controlPoint2: NSMakePoint(165, 162.5)]; [rightPath curveToPoint: NSMakePoint(180.65, 178.15) controlPoint1: NSMakePoint(165, 162.5) controlPoint2: NSMakePoint(172.16, 169.66)]; [rightPath curveToPoint: NSMakePoint(186.12, 174.48) controlPoint1: NSMakePoint(182.24, 176.37) controlPoint2: NSMakePoint(184.21, 175.11)]; [rightPath closePath]; [pressed setFill]; [rightPath fill]; //// right 2 Drawing NSBezierPath* right2Path = NSBezierPath.bezierPath; [right2Path moveToPoint: NSMakePoint(180.65, 178.15)]; [right2Path curveToPoint: NSMakePoint(186.12, 174.48) controlPoint1: NSMakePoint(182.24, 176.37) controlPoint2: NSMakePoint(184.21, 175.11)]; [right2Path curveToPoint: NSMakePoint(199.27, 173.48) controlPoint1: NSMakePoint(189.42, 173.38) controlPoint2: NSMakePoint(197.38, 173.45)]; [right2Path curveToPoint: NSMakePoint(201, 162.5) controlPoint1: NSMakePoint(200.39, 170.02) controlPoint2: NSMakePoint(201, 166.33)]; [right2Path curveToPoint: NSMakePoint(199.18, 151.26) controlPoint1: NSMakePoint(201, 158.57) controlPoint2: NSMakePoint(200.36, 154.79)]; [right2Path curveToPoint: NSMakePoint(187.54, 150.3) controlPoint1: NSMakePoint(197.69, 151.22) controlPoint2: NSMakePoint(192.12, 151.03)]; [right2Path curveToPoint: NSMakePoint(180.64, 146.86) controlPoint1: NSMakePoint(184.73, 149.85) controlPoint2: NSMakePoint(182.4, 148.54)]; [pressedStroke setStroke]; [right2Path setLineWidth: 1]; [right2Path stroke]; } } if (upPressed) { //// U { //// up Drawing NSBezierPath* upPath = NSBezierPath.bezierPath; [upPath moveToPoint: NSMakePoint(176.59, 196.23)]; [upPath curveToPoint: NSMakePoint(177.55, 184.69) controlPoint1: NSMakePoint(176.63, 194.6) controlPoint2: NSMakePoint(176.83, 189.18)]; [upPath curveToPoint: NSMakePoint(181.14, 177.64) controlPoint1: NSMakePoint(178.01, 181.8) controlPoint2: NSMakePoint(179.38, 179.42)]; [upPath curveToPoint: NSMakePoint(165.5, 162) controlPoint1: NSMakePoint(172.65, 169.15) controlPoint2: NSMakePoint(165.5, 162)]; [upPath curveToPoint: NSMakePoint(149.69, 177.81) controlPoint1: NSMakePoint(165.5, 162) controlPoint2: NSMakePoint(158.25, 169.25)]; [upPath curveToPoint: NSMakePoint(153.37, 183.28) controlPoint1: NSMakePoint(151.48, 179.39) controlPoint2: NSMakePoint(152.73, 181.37)]; [upPath curveToPoint: NSMakePoint(154.37, 196.22) controlPoint1: NSMakePoint(154.42, 186.47) controlPoint2: NSMakePoint(154.4, 194.01)]; [upPath curveToPoint: NSMakePoint(165.5, 198) controlPoint1: NSMakePoint(157.87, 197.37) controlPoint2: NSMakePoint(161.61, 198)]; [upPath curveToPoint: NSMakePoint(176.59, 196.23) controlPoint1: NSMakePoint(169.37, 198) controlPoint2: NSMakePoint(173.1, 197.38)]; [upPath closePath]; [pressed setFill]; [upPath fill]; //// up 2 Drawing NSBezierPath* up2Path = NSBezierPath.bezierPath; [up2Path moveToPoint: NSMakePoint(149.69, 177.81)]; [up2Path curveToPoint: NSMakePoint(153.37, 183.28) controlPoint1: NSMakePoint(151.48, 179.39) controlPoint2: NSMakePoint(152.73, 181.37)]; [up2Path curveToPoint: NSMakePoint(154.37, 196.22) controlPoint1: NSMakePoint(154.42, 186.47) controlPoint2: NSMakePoint(154.4, 194.01)]; [up2Path curveToPoint: NSMakePoint(165.5, 198) controlPoint1: NSMakePoint(157.87, 197.37) controlPoint2: NSMakePoint(161.61, 198)]; [up2Path curveToPoint: NSMakePoint(176.59, 196.23) controlPoint1: NSMakePoint(169.37, 198) controlPoint2: NSMakePoint(173.1, 197.38)]; [up2Path curveToPoint: NSMakePoint(177.55, 184.69) controlPoint1: NSMakePoint(176.63, 194.6) controlPoint2: NSMakePoint(176.83, 189.18)]; [up2Path curveToPoint: NSMakePoint(181.14, 177.64) controlPoint1: NSMakePoint(178.01, 181.8) controlPoint2: NSMakePoint(179.38, 179.42)]; [pressedStroke setStroke]; [up2Path setLineWidth: 1]; [up2Path stroke]; } } if (leftPressed) { //// L { //// left Drawing NSBezierPath* leftPath = NSBezierPath.bezierPath; [leftPath moveToPoint: NSMakePoint(150.18, 146.68)]; [leftPath curveToPoint: NSMakePoint(144.56, 150.52) controlPoint1: NSMakePoint(148.57, 148.56) controlPoint2: NSMakePoint(146.54, 149.87)]; [leftPath lineToPoint: NSMakePoint(144.42, 150.57)]; [leftPath curveToPoint: NSMakePoint(135.99, 151.49) controlPoint1: NSMakePoint(142.43, 151.18) controlPoint2: NSMakePoint(138.92, 151.42)]; [leftPath curveToPoint: NSMakePoint(131.73, 151.52) controlPoint1: NSMakePoint(134.19, 151.54) controlPoint2: NSMakePoint(132.6, 151.54)]; [leftPath curveToPoint: NSMakePoint(130, 162.5) controlPoint1: NSMakePoint(130.61, 154.98) controlPoint2: NSMakePoint(130, 158.67)]; [leftPath curveToPoint: NSMakePoint(131.82, 173.75) controlPoint1: NSMakePoint(130, 166.43) controlPoint2: NSMakePoint(130.64, 170.21)]; [leftPath curveToPoint: NSMakePoint(136.02, 173.95) controlPoint1: NSMakePoint(132.66, 173.77) controlPoint2: NSMakePoint(134.19, 173.83)]; [leftPath curveToPoint: NSMakePoint(143.15, 174.7) controlPoint1: NSMakePoint(138.2, 174.09) controlPoint2: NSMakePoint(140.8, 174.33)]; [leftPath curveToPoint: NSMakePoint(150.21, 178.29) controlPoint1: NSMakePoint(146.04, 175.17) controlPoint2: NSMakePoint(148.43, 176.54)]; [leftPath curveToPoint: NSMakePoint(166, 162.5) controlPoint1: NSMakePoint(158.76, 169.74) controlPoint2: NSMakePoint(166, 162.5)]; [leftPath curveToPoint: NSMakePoint(150.18, 146.68) controlPoint1: NSMakePoint(166, 162.5) controlPoint2: NSMakePoint(158.74, 155.24)]; [leftPath closePath]; [pressed setFill]; [leftPath fill]; //// left 2 Drawing NSBezierPath* left2Path = NSBezierPath.bezierPath; [left2Path moveToPoint: NSMakePoint(150.18, 146.68)]; [left2Path curveToPoint: NSMakePoint(144.56, 150.52) controlPoint1: NSMakePoint(148.57, 148.56) controlPoint2: NSMakePoint(146.54, 149.87)]; [left2Path lineToPoint: NSMakePoint(144.42, 150.57)]; [left2Path curveToPoint: NSMakePoint(135.99, 151.49) controlPoint1: NSMakePoint(142.43, 151.18) controlPoint2: NSMakePoint(138.92, 151.42)]; [left2Path curveToPoint: NSMakePoint(131.73, 151.52) controlPoint1: NSMakePoint(134.19, 151.54) controlPoint2: NSMakePoint(132.6, 151.54)]; [left2Path curveToPoint: NSMakePoint(130, 162.5) controlPoint1: NSMakePoint(130.61, 154.98) controlPoint2: NSMakePoint(130, 158.67)]; [left2Path curveToPoint: NSMakePoint(131.82, 173.75) controlPoint1: NSMakePoint(130, 166.43) controlPoint2: NSMakePoint(130.64, 170.21)]; [left2Path curveToPoint: NSMakePoint(136.02, 173.95) controlPoint1: NSMakePoint(132.66, 173.77) controlPoint2: NSMakePoint(134.19, 173.83)]; [left2Path curveToPoint: NSMakePoint(143.15, 174.7) controlPoint1: NSMakePoint(138.2, 174.09) controlPoint2: NSMakePoint(140.8, 174.33)]; [left2Path curveToPoint: NSMakePoint(150.21, 178.29) controlPoint1: NSMakePoint(146.04, 175.17) controlPoint2: NSMakePoint(148.43, 176.54)]; [pressedStroke setStroke]; [left2Path setLineWidth: 1]; [left2Path stroke]; } } } //// stickRight { if (rightNormalized) { CGFloat rightDead = rightDeadzone * 15; const CGFloat max16 = 15; CGFloat maxVal = max16 - rightDead; if (rightStickPosition.x > 0) rightStickPosition.x = (fabs(rightStickPosition.x) * maxVal / max16) + rightDead; else if (rightStickPosition.x < 0) rightStickPosition.x = -((fabs(rightStickPosition.x) * maxVal / max16) + rightDead); else rightStickPosition.x = 0; if (rightStickPosition.y > 0) rightStickPosition.y = (fabs(rightStickPosition.y) * maxVal / max16) + rightDead; else if (rightStickPosition.y < 0) rightStickPosition.y = -((fabs(rightStickPosition.y) * maxVal / max16) + rightDead); else rightStickPosition.y = 0; } [NSGraphicsContext saveGraphicsState]; CGContextTranslateCTM(context, (rightStickPosition.x + 263), (rightStickPosition.y + 133)); //// knobRight { //// Oval 9 Drawing NSBezierPath* oval9Path = NSBezierPath.bezierPath; [oval9Path moveToPoint: NSMakePoint(61, 30.5)]; [oval9Path curveToPoint: NSMakePoint(30.5, 61) controlPoint1: NSMakePoint(61, 47.34) controlPoint2: NSMakePoint(47.34, 61)]; [oval9Path curveToPoint: NSMakePoint(0, 30.5) controlPoint1: NSMakePoint(13.66, 61) controlPoint2: NSMakePoint(0, 47.34)]; [oval9Path curveToPoint: NSMakePoint(30.5, 0) controlPoint1: NSMakePoint(0, 13.66) controlPoint2: NSMakePoint(13.66, 0)]; [oval9Path curveToPoint: NSMakePoint(61, 30.5) controlPoint1: NSMakePoint(47.34, 0) controlPoint2: NSMakePoint(61, 13.66)]; [oval9Path closePath]; [rightStickColor setFill]; [oval9Path fill]; [rightStickStroke setStroke]; [oval9Path setLineWidth: 2]; [oval9Path stroke]; //// Oval 14 Drawing NSBezierPath* oval14Path = NSBezierPath.bezierPath; [oval14Path moveToPoint: NSMakePoint(32.03, 48.8)]; [oval14Path curveToPoint: NSMakePoint(30.5, 50.33) controlPoint1: NSMakePoint(32.03, 49.64) controlPoint2: NSMakePoint(31.34, 50.33)]; [oval14Path curveToPoint: NSMakePoint(28.98, 48.8) controlPoint1: NSMakePoint(29.66, 50.33) controlPoint2: NSMakePoint(28.98, 49.64)]; [oval14Path curveToPoint: NSMakePoint(30.5, 47.27) controlPoint1: NSMakePoint(28.98, 47.96) controlPoint2: NSMakePoint(29.66, 47.27)]; [oval14Path curveToPoint: NSMakePoint(32.03, 48.8) controlPoint1: NSMakePoint(31.34, 47.27) controlPoint2: NSMakePoint(32.03, 47.96)]; [oval14Path closePath]; [NSColor.grayColor setFill]; [oval14Path fill]; //// Oval 15 Drawing NSBezierPath* oval15Path = NSBezierPath.bezierPath; [oval15Path moveToPoint: NSMakePoint(13.73, 30.5)]; [oval15Path curveToPoint: NSMakePoint(12.2, 32.02) controlPoint1: NSMakePoint(13.73, 31.34) controlPoint2: NSMakePoint(13.04, 32.02)]; [oval15Path curveToPoint: NSMakePoint(10.68, 30.5) controlPoint1: NSMakePoint(11.36, 32.02) controlPoint2: NSMakePoint(10.68, 31.34)]; [oval15Path curveToPoint: NSMakePoint(12.2, 28.98) controlPoint1: NSMakePoint(10.68, 29.66) controlPoint2: NSMakePoint(11.36, 28.98)]; [oval15Path curveToPoint: NSMakePoint(13.73, 30.5) controlPoint1: NSMakePoint(13.04, 28.98) controlPoint2: NSMakePoint(13.73, 29.66)]; [oval15Path closePath]; [NSColor.grayColor setFill]; [oval15Path fill]; //// Oval 16 Drawing NSBezierPath* oval16Path = NSBezierPath.bezierPath; [oval16Path moveToPoint: NSMakePoint(50.32, 30.5)]; [oval16Path curveToPoint: NSMakePoint(48.8, 32.02) controlPoint1: NSMakePoint(50.32, 31.34) controlPoint2: NSMakePoint(49.64, 32.02)]; [oval16Path curveToPoint: NSMakePoint(47.27, 30.5) controlPoint1: NSMakePoint(47.96, 32.02) controlPoint2: NSMakePoint(47.27, 31.34)]; [oval16Path curveToPoint: NSMakePoint(48.8, 28.98) controlPoint1: NSMakePoint(47.27, 29.66) controlPoint2: NSMakePoint(47.96, 28.98)]; [oval16Path curveToPoint: NSMakePoint(50.32, 30.5) controlPoint1: NSMakePoint(49.64, 28.98) controlPoint2: NSMakePoint(50.32, 29.66)]; [oval16Path closePath]; [NSColor.grayColor setFill]; [oval16Path fill]; //// Oval 17 Drawing NSBezierPath* oval17Path = NSBezierPath.bezierPath; [oval17Path moveToPoint: NSMakePoint(32.03, 12.2)]; [oval17Path curveToPoint: NSMakePoint(30.5, 13.72) controlPoint1: NSMakePoint(32.03, 13.04) controlPoint2: NSMakePoint(31.34, 13.72)]; [oval17Path curveToPoint: NSMakePoint(28.98, 12.2) controlPoint1: NSMakePoint(29.66, 13.72) controlPoint2: NSMakePoint(28.98, 13.04)]; [oval17Path curveToPoint: NSMakePoint(30.5, 10.68) controlPoint1: NSMakePoint(28.98, 11.36) controlPoint2: NSMakePoint(29.66, 10.68)]; [oval17Path curveToPoint: NSMakePoint(32.03, 12.2) controlPoint1: NSMakePoint(31.34, 10.68) controlPoint2: NSMakePoint(32.03, 11.36)]; [oval17Path closePath]; [NSColor.grayColor setFill]; [oval17Path fill]; //// Oval 19 Drawing NSBezierPath* oval19Path = [NSBezierPath bezierPathWithOvalInRect: NSMakeRect(2, 2, 57, 57)]; [NSGraphicsContext saveGraphicsState]; [oval19Path addClip]; [gradient drawFromCenter: NSMakePoint(30.5, 30.5) radius: 4.02 toCenter: NSMakePoint(30.5, 30.5) radius: 26.54 options: NSGradientDrawsBeforeStartingLocation | NSGradientDrawsAfterEndingLocation]; [NSGraphicsContext restoreGraphicsState]; } [NSGraphicsContext restoreGraphicsState]; } //// stickLeft { if (leftNormalized) { CGFloat leftDead = leftDeadzone * 15; const CGFloat max16 = 15; CGFloat maxVal = max16 - leftDead; if (leftStickPosition.x > 0) leftStickPosition.x = (fabs(leftStickPosition.x) * maxVal / max16) + leftDead; else if (leftStickPosition.x < 0) leftStickPosition.x = -((fabs(leftStickPosition.x) * maxVal / max16) + leftDead); else leftStickPosition.x = 0; if (leftStickPosition.y > 0) leftStickPosition.y = (fabs(leftStickPosition.y) * maxVal / max16) + leftDead; else if (leftStickPosition.y < 0) leftStickPosition.y = -((fabs(leftStickPosition.y) * maxVal / max16) + leftDead); else leftStickPosition.y = 0; } [NSGraphicsContext saveGraphicsState]; CGContextTranslateCTM(context, (leftStickPosition.x + 104), (leftStickPosition.y + 240)); //// knobLeft { //// Oval 7 Drawing NSBezierPath* oval7Path = NSBezierPath.bezierPath; [oval7Path moveToPoint: NSMakePoint(30, 0.5)]; [oval7Path curveToPoint: NSMakePoint(-0.5, 31) controlPoint1: NSMakePoint(30, 17.34) controlPoint2: NSMakePoint(16.34, 31)]; [oval7Path curveToPoint: NSMakePoint(-31, 0.5) controlPoint1: NSMakePoint(-17.34, 31) controlPoint2: NSMakePoint(-31, 17.34)]; [oval7Path curveToPoint: NSMakePoint(-0.5, -30) controlPoint1: NSMakePoint(-31, -16.34) controlPoint2: NSMakePoint(-17.34, -30)]; [oval7Path curveToPoint: NSMakePoint(30, 0.5) controlPoint1: NSMakePoint(16.34, -30) controlPoint2: NSMakePoint(30, -16.34)]; [oval7Path closePath]; [leftStickColor setFill]; [oval7Path fill]; [leftStickStroke setStroke]; [oval7Path setLineWidth: 2]; [oval7Path stroke]; //// Oval 10 Drawing NSBezierPath* oval10Path = NSBezierPath.bezierPath; [oval10Path moveToPoint: NSMakePoint(1.02, 18.8)]; [oval10Path curveToPoint: NSMakePoint(-0.5, 20.33) controlPoint1: NSMakePoint(1.02, 19.64) controlPoint2: NSMakePoint(0.34, 20.33)]; [oval10Path curveToPoint: NSMakePoint(-2.03, 18.8) controlPoint1: NSMakePoint(-1.34, 20.33) controlPoint2: NSMakePoint(-2.03, 19.64)]; [oval10Path curveToPoint: NSMakePoint(-0.5, 17.27) controlPoint1: NSMakePoint(-2.03, 17.96) controlPoint2: NSMakePoint(-1.34, 17.27)]; [oval10Path curveToPoint: NSMakePoint(1.02, 18.8) controlPoint1: NSMakePoint(0.34, 17.27) controlPoint2: NSMakePoint(1.02, 17.96)]; [oval10Path closePath]; [NSColor.grayColor setFill]; [oval10Path fill]; //// Oval 11 Drawing NSBezierPath* oval11Path = NSBezierPath.bezierPath; [oval11Path moveToPoint: NSMakePoint(-17.28, 0.5)]; [oval11Path curveToPoint: NSMakePoint(-18.8, 2.02) controlPoint1: NSMakePoint(-17.28, 1.34) controlPoint2: NSMakePoint(-17.96, 2.02)]; [oval11Path curveToPoint: NSMakePoint(-20.33, 0.5) controlPoint1: NSMakePoint(-19.64, 2.02) controlPoint2: NSMakePoint(-20.33, 1.34)]; [oval11Path curveToPoint: NSMakePoint(-18.8, -1.02) controlPoint1: NSMakePoint(-20.33, -0.34) controlPoint2: NSMakePoint(-19.64, -1.02)]; [oval11Path curveToPoint: NSMakePoint(-17.28, 0.5) controlPoint1: NSMakePoint(-17.96, -1.02) controlPoint2: NSMakePoint(-17.28, -0.34)]; [oval11Path closePath]; [NSColor.grayColor setFill]; [oval11Path fill]; //// Oval 12 Drawing NSBezierPath* oval12Path = NSBezierPath.bezierPath; [oval12Path moveToPoint: NSMakePoint(19.33, 0.5)]; [oval12Path curveToPoint: NSMakePoint(17.8, 2.02) controlPoint1: NSMakePoint(19.33, 1.34) controlPoint2: NSMakePoint(18.64, 2.02)]; [oval12Path curveToPoint: NSMakePoint(16.28, 0.5) controlPoint1: NSMakePoint(16.96, 2.02) controlPoint2: NSMakePoint(16.28, 1.34)]; [oval12Path curveToPoint: NSMakePoint(17.8, -1.02) controlPoint1: NSMakePoint(16.28, -0.34) controlPoint2: NSMakePoint(16.96, -1.02)]; [oval12Path curveToPoint: NSMakePoint(19.33, 0.5) controlPoint1: NSMakePoint(18.64, -1.02) controlPoint2: NSMakePoint(19.33, -0.34)]; [oval12Path closePath]; [NSColor.grayColor setFill]; [oval12Path fill]; //// Oval 13 Drawing NSBezierPath* oval13Path = NSBezierPath.bezierPath; [oval13Path moveToPoint: NSMakePoint(1.02, -17.8)]; [oval13Path curveToPoint: NSMakePoint(-0.5, -16.27) controlPoint1: NSMakePoint(1.02, -16.96) controlPoint2: NSMakePoint(0.34, -16.27)]; [oval13Path curveToPoint: NSMakePoint(-2.03, -17.8) controlPoint1: NSMakePoint(-1.34, -16.27) controlPoint2: NSMakePoint(-2.03, -16.96)]; [oval13Path curveToPoint: NSMakePoint(-0.5, -19.32) controlPoint1: NSMakePoint(-2.03, -18.64) controlPoint2: NSMakePoint(-1.34, -19.32)]; [oval13Path curveToPoint: NSMakePoint(1.02, -17.8) controlPoint1: NSMakePoint(0.34, -19.32) controlPoint2: NSMakePoint(1.02, -18.64)]; [oval13Path closePath]; [NSColor.grayColor setFill]; [oval13Path fill]; //// Oval 18 Drawing NSBezierPath* oval18Path = [NSBezierPath bezierPathWithOvalInRect: NSMakeRect(-29, -28, 57, 57)]; [NSGraphicsContext saveGraphicsState]; [oval18Path addClip]; [gradient drawFromCenter: NSMakePoint(-0.5, 0.5) radius: 4.02 toCenter: NSMakePoint(-0.5, 0.5) radius: 26.54 options: NSGradientDrawsBeforeStartingLocation | NSGradientDrawsAfterEndingLocation]; [NSGraphicsContext restoreGraphicsState]; } [NSGraphicsContext restoreGraphicsState]; } //// LEDs { //// Bezier Drawing NSBezierPath* bezierPath = NSBezierPath.bezierPath; [bezierPath moveToPoint: NSMakePoint(229.47, 261.06)]; [bezierPath curveToPoint: NSMakePoint(229.47, 259.31) controlPoint1: NSMakePoint(229.47, 260.58) controlPoint2: NSMakePoint(229.47, 259.99)]; [bezierPath curveToPoint: NSMakePoint(229.47, 256.11) controlPoint1: NSMakePoint(229.47, 258.4) controlPoint2: NSMakePoint(229.47, 257.32)]; [bezierPath curveToPoint: NSMakePoint(210.46, 237.1) controlPoint1: NSMakePoint(219.29, 255.42) controlPoint2: NSMakePoint(211.15, 247.28)]; [bezierPath lineToPoint: NSMakePoint(205.51, 237.1)]; [bezierPath curveToPoint: NSMakePoint(229.47, 261.06) controlPoint1: NSMakePoint(206.21, 250.01) controlPoint2: NSMakePoint(216.56, 260.35)]; [bezierPath closePath]; [led1Color setFill]; [bezierPath fill]; //// Bezier 3 Drawing NSBezierPath* bezier3Path = NSBezierPath.bezierPath; [bezier3Path moveToPoint: NSMakePoint(235.47, 261.06)]; [bezier3Path curveToPoint: NSMakePoint(259.43, 237.1) controlPoint1: NSMakePoint(248.38, 260.35) controlPoint2: NSMakePoint(258.72, 250.01)]; [bezier3Path curveToPoint: NSMakePoint(254.48, 237.1) controlPoint1: NSMakePoint(258.27, 237.1) controlPoint2: NSMakePoint(256.52, 237.1)]; [bezier3Path curveToPoint: NSMakePoint(235.47, 256.11) controlPoint1: NSMakePoint(253.78, 247.28) controlPoint2: NSMakePoint(245.65, 255.42)]; [bezier3Path curveToPoint: NSMakePoint(235.47, 261.06) controlPoint1: NSMakePoint(235.47, 258.24) controlPoint2: NSMakePoint(235.47, 259.95)]; [bezier3Path closePath]; [led2Color setFill]; [bezier3Path fill]; //// Bezier 2 Drawing NSBezierPath* bezier2Path = NSBezierPath.bezierPath; [bezier2Path moveToPoint: NSMakePoint(259.43, 231.1)]; [bezier2Path curveToPoint: NSMakePoint(235.47, 207.14) controlPoint1: NSMakePoint(258.72, 218.19) controlPoint2: NSMakePoint(248.38, 207.85)]; [bezier2Path curveToPoint: NSMakePoint(235.47, 212.09) controlPoint1: NSMakePoint(235.47, 208.26) controlPoint2: NSMakePoint(235.47, 209.97)]; [bezier2Path curveToPoint: NSMakePoint(254.48, 231.1) controlPoint1: NSMakePoint(245.65, 212.79) controlPoint2: NSMakePoint(253.78, 220.92)]; [bezier2Path lineToPoint: NSMakePoint(259.43, 231.1)]; [bezier2Path closePath]; [led4Color setFill]; [bezier2Path fill]; //// Bezier 4 Drawing NSBezierPath* bezier4Path = NSBezierPath.bezierPath; [bezier4Path moveToPoint: NSMakePoint(205.51, 231.1)]; [bezier4Path curveToPoint: NSMakePoint(207.41, 231.1) controlPoint1: NSMakePoint(206.03, 231.1) controlPoint2: NSMakePoint(206.67, 231.1)]; [bezier4Path curveToPoint: NSMakePoint(210.46, 231.1) controlPoint1: NSMakePoint(208.31, 231.1) controlPoint2: NSMakePoint(209.34, 231.1)]; [bezier4Path lineToPoint: NSMakePoint(210.48, 230.79)]; [bezier4Path curveToPoint: NSMakePoint(229.15, 212.12) controlPoint1: NSMakePoint(211.31, 220.87) controlPoint2: NSMakePoint(219.22, 212.95)]; [bezier4Path lineToPoint: NSMakePoint(229.47, 212.09)]; [bezier4Path curveToPoint: NSMakePoint(229.47, 207.14) controlPoint1: NSMakePoint(229.47, 209.97) controlPoint2: NSMakePoint(229.47, 208.26)]; [bezier4Path curveToPoint: NSMakePoint(228.25, 207.24) controlPoint1: NSMakePoint(229.06, 207.17) controlPoint2: NSMakePoint(228.65, 207.2)]; [bezier4Path curveToPoint: NSMakePoint(206.28, 226.11) controlPoint1: NSMakePoint(217.6, 208.33) controlPoint2: NSMakePoint(208.91, 216)]; [bezier4Path curveToPoint: NSMakePoint(205.51, 231.1) controlPoint1: NSMakePoint(205.87, 227.72) controlPoint2: NSMakePoint(205.6, 229.39)]; [bezier4Path closePath]; [led3Color setFill]; [bezier4Path fill]; } //// LEDs { //// Bezier Drawing NSBezierPath* bezierPath = NSBezierPath.bezierPath; [bezierPath moveToPoint: NSMakePoint(229.47, 261.06)]; [bezierPath curveToPoint: NSMakePoint(229.47, 259.31) controlPoint1: NSMakePoint(229.47, 260.58) controlPoint2: NSMakePoint(229.47, 259.99)]; [bezierPath curveToPoint: NSMakePoint(229.47, 256.11) controlPoint1: NSMakePoint(229.47, 258.4) controlPoint2: NSMakePoint(229.47, 257.32)]; [bezierPath curveToPoint: NSMakePoint(210.46, 237.1) controlPoint1: NSMakePoint(219.29, 255.42) controlPoint2: NSMakePoint(211.15, 247.28)]; [bezierPath lineToPoint: NSMakePoint(205.51, 237.1)]; [bezierPath curveToPoint: NSMakePoint(229.47, 261.06) controlPoint1: NSMakePoint(206.21, 250.01) controlPoint2: NSMakePoint(216.56, 260.35)]; [bezierPath closePath]; [led1Color setFill]; [bezierPath fill]; //// Bezier 3 Drawing NSBezierPath* bezier3Path = NSBezierPath.bezierPath; [bezier3Path moveToPoint: NSMakePoint(235.47, 261.06)]; [bezier3Path curveToPoint: NSMakePoint(259.43, 237.1) controlPoint1: NSMakePoint(248.38, 260.35) controlPoint2: NSMakePoint(258.72, 250.01)]; [bezier3Path curveToPoint: NSMakePoint(254.48, 237.1) controlPoint1: NSMakePoint(258.27, 237.1) controlPoint2: NSMakePoint(256.52, 237.1)]; [bezier3Path curveToPoint: NSMakePoint(235.47, 256.11) controlPoint1: NSMakePoint(253.78, 247.28) controlPoint2: NSMakePoint(245.65, 255.42)]; [bezier3Path curveToPoint: NSMakePoint(235.47, 261.06) controlPoint1: NSMakePoint(235.47, 258.24) controlPoint2: NSMakePoint(235.47, 259.95)]; [bezier3Path closePath]; [led2Color setFill]; [bezier3Path fill]; //// Bezier 2 Drawing NSBezierPath* bezier2Path = NSBezierPath.bezierPath; [bezier2Path moveToPoint: NSMakePoint(259.43, 231.1)]; [bezier2Path curveToPoint: NSMakePoint(235.47, 207.14) controlPoint1: NSMakePoint(258.72, 218.19) controlPoint2: NSMakePoint(248.38, 207.85)]; [bezier2Path curveToPoint: NSMakePoint(235.47, 212.09) controlPoint1: NSMakePoint(235.47, 208.26) controlPoint2: NSMakePoint(235.47, 209.97)]; [bezier2Path curveToPoint: NSMakePoint(254.48, 231.1) controlPoint1: NSMakePoint(245.65, 212.79) controlPoint2: NSMakePoint(253.78, 220.92)]; [bezier2Path lineToPoint: NSMakePoint(259.43, 231.1)]; [bezier2Path closePath]; [led4Color setFill]; [bezier2Path fill]; //// Bezier 4 Drawing NSBezierPath* bezier4Path = NSBezierPath.bezierPath; [bezier4Path moveToPoint: NSMakePoint(205.51, 231.1)]; [bezier4Path curveToPoint: NSMakePoint(207.41, 231.1) controlPoint1: NSMakePoint(206.03, 231.1) controlPoint2: NSMakePoint(206.67, 231.1)]; [bezier4Path curveToPoint: NSMakePoint(210.46, 231.1) controlPoint1: NSMakePoint(208.31, 231.1) controlPoint2: NSMakePoint(209.34, 231.1)]; [bezier4Path lineToPoint: NSMakePoint(210.48, 230.79)]; [bezier4Path curveToPoint: NSMakePoint(229.15, 212.12) controlPoint1: NSMakePoint(211.31, 220.87) controlPoint2: NSMakePoint(219.22, 212.95)]; [bezier4Path lineToPoint: NSMakePoint(229.47, 212.09)]; [bezier4Path curveToPoint: NSMakePoint(229.47, 207.14) controlPoint1: NSMakePoint(229.47, 209.97) controlPoint2: NSMakePoint(229.47, 208.26)]; [bezier4Path curveToPoint: NSMakePoint(228.25, 207.24) controlPoint1: NSMakePoint(229.06, 207.17) controlPoint2: NSMakePoint(228.65, 207.2)]; [bezier4Path curveToPoint: NSMakePoint(206.28, 226.11) controlPoint1: NSMakePoint(217.6, 208.33) controlPoint2: NSMakePoint(208.91, 216)]; [bezier4Path curveToPoint: NSMakePoint(205.51, 231.1) controlPoint1: NSMakePoint(205.87, 227.72) controlPoint2: NSMakePoint(205.6, 229.39)]; [bezier4Path closePath]; [led3Color setFill]; [bezier4Path fill]; } } + (void)drawTriggerMetterWithIntensity: (CGFloat)intensity triggerTitle: (NSString*)triggerTitle { //// General Declarations CGContextRef context = (CGContextRef)NSGraphicsContext.currentContext.graphicsPort; //// Color Declarations NSColor* controller = [NSColor colorWithCalibratedRed: 0.232 green: 0.232 blue: 0.232 alpha: 1]; NSColor* darkController = [controller shadowWithLevel: 0.3]; NSColor* pressed = [NSColor colorWithCalibratedRed: 1 green: 0.432 blue: 0 alpha: 1]; //// Variable Declarations CGFloat expression = 360 - 270 * intensity - 135; //// Oval 18 Drawing NSRect oval18Rect = NSMakeRect(-0, -0, 45, 45); NSBezierPath* oval18Path = [NSBezierPath bezierPathWithOvalInRect: oval18Rect]; [controller setFill]; [oval18Path fill]; NSMutableParagraphStyle* oval18Style = NSMutableParagraphStyle.defaultParagraphStyle.mutableCopy; oval18Style.alignment = NSCenterTextAlignment; NSDictionary* oval18FontAttributes = @{NSFontAttributeName: [NSFont boldSystemFontOfSize: NSFont.systemFontSize], NSForegroundColorAttributeName: NSColor.whiteColor, NSParagraphStyleAttributeName: oval18Style}; CGFloat oval18TextHeight = NSHeight([triggerTitle boundingRectWithSize: oval18Rect.size options: NSStringDrawingUsesLineFragmentOrigin attributes: oval18FontAttributes]); NSRect oval18TextRect = NSMakeRect(NSMinX(oval18Rect), NSMinY(oval18Rect) + (NSHeight(oval18Rect) - oval18TextHeight) / 2, NSWidth(oval18Rect), oval18TextHeight); [NSGraphicsContext saveGraphicsState]; NSRectClip(oval18Rect); [triggerTitle drawInRect: NSOffsetRect(oval18TextRect, 0, 1) withAttributes: oval18FontAttributes]; [NSGraphicsContext restoreGraphicsState]; //// Oval 19 Drawing NSBezierPath* oval19Path = NSBezierPath.bezierPath; [oval19Path moveToPoint: NSMakePoint(39, 22.5)]; [oval19Path curveToPoint: NSMakePoint(22.5, 39) controlPoint1: NSMakePoint(39, 31.61) controlPoint2: NSMakePoint(31.61, 39)]; [oval19Path curveToPoint: NSMakePoint(6, 22.5) controlPoint1: NSMakePoint(13.39, 39) controlPoint2: NSMakePoint(6, 31.61)]; [oval19Path curveToPoint: NSMakePoint(22.5, 6) controlPoint1: NSMakePoint(6, 13.39) controlPoint2: NSMakePoint(13.39, 6)]; [oval19Path curveToPoint: NSMakePoint(39, 22.5) controlPoint1: NSMakePoint(31.61, 6) controlPoint2: NSMakePoint(39, 13.39)]; [oval19Path closePath]; [darkController setStroke]; [oval19Path setLineWidth: 1]; [oval19Path stroke]; //// Oval 20 Drawing [NSGraphicsContext saveGraphicsState]; CGContextTranslateCTM(context, 22.5, 22.5); NSRect oval20Rect = NSMakeRect(-19.5, -19.5, 39, 39); NSBezierPath* oval20Path = NSBezierPath.bezierPath; [oval20Path appendBezierPathWithArcWithCenter: NSMakePoint(NSMidX(oval20Rect), NSMidY(oval20Rect)) radius: NSWidth(oval20Rect) / 2 startAngle: -135 endAngle: expression clockwise: YES]; [pressed setStroke]; [oval20Path setLineWidth: 3]; [oval20Path stroke]; [NSGraphicsContext restoreGraphicsState]; //// Oval Drawing NSBezierPath* ovalPath = NSBezierPath.bezierPath; [ovalPath moveToPoint: NSMakePoint(36.29, 8.71)]; [ovalPath curveToPoint: NSMakePoint(8.71, 8.71) controlPoint1: NSMakePoint(28.67, 1.1) controlPoint2: NSMakePoint(16.33, 1.1)]; [darkController setStroke]; [ovalPath setLineWidth: 5.5]; [ovalPath stroke]; } + (void)drawBatteryMonitorWithBars: (CGFloat)bars andPercentage: (int)percentage { //// Color Declarations NSColor* buttonB = [NSColor colorWithCalibratedRed: 1 green: 0.094 blue: 0.072 alpha: 1]; NSColor* controller = [NSColor colorWithCalibratedRed: 0.232 green: 0.232 blue: 0.232 alpha: 1]; NSColor* darkController = [controller shadowWithLevel: 0.3]; //// Variable Declarations NSColor* batteryColor = bars > 0 ? darkController : buttonB; BOOL bar1 = bars > 0; BOOL bar2 = bars > 1; BOOL bar3 = bars > 2; //// Rectangle 3 Drawing NSBezierPath* rectangle3Path = NSBezierPath.bezierPath; [rectangle3Path moveToPoint: NSMakePoint(1, 2.46)]; [rectangle3Path curveToPoint: NSMakePoint(2.36, 1) controlPoint1: NSMakePoint(1, 1.65) controlPoint2: NSMakePoint(1.61, 1)]; [rectangle3Path lineToPoint: NSMakePoint(35.64, 1)]; [rectangle3Path curveToPoint: NSMakePoint(37, 2.46) controlPoint1: NSMakePoint(36.39, 1) controlPoint2: NSMakePoint(37, 1.65)]; [rectangle3Path lineToPoint: NSMakePoint(37, 18.54)]; [rectangle3Path curveToPoint: NSMakePoint(35.64, 20) controlPoint1: NSMakePoint(37, 19.35) controlPoint2: NSMakePoint(36.39, 20)]; [rectangle3Path lineToPoint: NSMakePoint(2.36, 20)]; [rectangle3Path curveToPoint: NSMakePoint(1, 18.54) controlPoint1: NSMakePoint(1.61, 20) controlPoint2: NSMakePoint(1, 19.35)]; [rectangle3Path lineToPoint: NSMakePoint(1, 2.46)]; [rectangle3Path closePath]; [batteryColor setStroke]; [rectangle3Path setLineWidth: 2]; [rectangle3Path stroke]; if (bar1) { //// Rectangle Drawing NSBezierPath* rectanglePath = [NSBezierPath bezierPathWithRect: NSMakeRect(3, 3, 10, 15)]; [darkController setFill]; [rectanglePath fill]; } if (bar2) { //// Rectangle 2 Drawing NSBezierPath* rectangle2Path = [NSBezierPath bezierPathWithRect: NSMakeRect(14, 3, 10, 15)]; [darkController setFill]; [rectangle2Path fill]; } if (bar3) { //// Rectangle 4 Drawing NSBezierPath* rectangle4Path = [NSBezierPath bezierPathWithRect: NSMakeRect(25, 3, 10, 15)]; [darkController setFill]; [rectangle4Path fill]; } //// Rectangle 5 Drawing NSBezierPath* rectangle5Path = [NSBezierPath bezierPathWithRoundedRect: NSMakeRect(36, 6, 5, 9) xRadius: 1 yRadius: 1]; [batteryColor setFill]; [rectangle5Path fill]; //// Battery Text NSRect batteryTextBoundingRect = NSMakeRect(1, 1, 36, 19); NSMutableParagraphStyle* batteryTextStyle = NSMutableParagraphStyle.defaultParagraphStyle.mutableCopy; batteryTextStyle.alignment = NSCenterTextAlignment; NSDictionary* batteryTextFontAttributes = @{NSFontAttributeName: [NSFont boldSystemFontOfSize: NSFont.systemFontSize], NSForegroundColorAttributeName: NSColor.whiteColor, NSParagraphStyleAttributeName: batteryTextStyle, NSStrokeColorAttributeName: NSColor.blackColor, NSStrokeWidthAttributeName: @-6.0 }; NSString* percentageString = [NSString stringWithFormat:@"%d%%", percentage]; CGFloat batteryTextHeight = NSHeight([percentageString boundingRectWithSize: batteryTextBoundingRect.size options: NSStringDrawingUsesLineFragmentOrigin attributes: batteryTextFontAttributes]); NSRect batteryTextRect = NSMakeRect(NSMinX(batteryTextBoundingRect), NSMinY(batteryTextBoundingRect) + (NSHeight(batteryTextBoundingRect) - batteryTextHeight) / 2, NSWidth(batteryTextBoundingRect), batteryTextHeight); [NSGraphicsContext saveGraphicsState]; NSRectClip(batteryTextRect); [percentageString drawInRect: NSOffsetRect(batteryTextRect, 0, 1) withAttributes: batteryTextFontAttributes]; [NSGraphicsContext restoreGraphicsState]; } + (void)drawDeadZoneViewerWithValue: (CGFloat)value linked: (BOOL)linked { //// Color Declarations NSColor* deadzone = [NSColor colorWithCalibratedRed: 0.922 green: 0 blue: 1 alpha: 1]; //// Variable Declarations CGFloat width = 62 * value; CGFloat center = 32.5 - width / 2.0; BOOL circle = linked && value != 0; BOOL biSquare = !(value == 0 || linked); if (biSquare) { //// Rectangle Drawing NSBezierPath* rectanglePath = [NSBezierPath bezierPathWithRect: NSMakeRect(center, 1.5, width, 62)]; [deadzone setStroke]; [rectanglePath setLineWidth: 2]; CGFloat rectanglePattern[] = {2, 2}; [rectanglePath setLineDash: rectanglePattern count: 2 phase: 0]; [rectanglePath stroke]; //// Rectangle 2 Drawing NSBezierPath* rectangle2Path = [NSBezierPath bezierPathWithRect: NSMakeRect(1.5, center, 62, width)]; [deadzone setStroke]; [rectangle2Path setLineWidth: 2]; CGFloat rectangle2Pattern[] = {2, 2}; [rectangle2Path setLineDash: rectangle2Pattern count: 2 phase: 0]; [rectangle2Path stroke]; } if (circle) { //// Oval Drawing NSBezierPath* ovalPath = [NSBezierPath bezierPathWithOvalInRect: NSMakeRect(center, center, width, width)]; [deadzone setStroke]; [ovalPath setLineWidth: 2]; CGFloat ovalPattern[] = {2, 2}; [ovalPath setLineDash: ovalPattern count: 2 phase: 0]; [ovalPath stroke]; } } @end