Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 37b7e3a3b7 | |||
| d5ae9526be | |||
| 5ba59404e8 | |||
| 325b0d7602 | |||
| 1a574d7024 | |||
| b986faf947 | |||
| ac97b80638 |
@@ -1,3 +1,4 @@
|
||||
.DS_Store
|
||||
# Xcode
|
||||
#
|
||||
build/
|
||||
|
||||
@@ -12,9 +12,9 @@ import Cocoa
|
||||
@IBDesignable
|
||||
open class CircularProgressView: DeterminateAnimation {
|
||||
|
||||
var backgroundCircle = CAShapeLayer()
|
||||
var progressLayer = CAShapeLayer()
|
||||
var percentLabelLayer = CATextLayer()
|
||||
open var backgroundCircle = CAShapeLayer()
|
||||
open var progressLayer = CAShapeLayer()
|
||||
open var percentLabelLayer = CATextLayer()
|
||||
|
||||
@IBInspectable open var strokeWidth: CGFloat = -1 {
|
||||
didSet {
|
||||
|
||||
@@ -12,8 +12,8 @@ import Cocoa
|
||||
@IBDesignable
|
||||
open class ProgressBar: DeterminateAnimation {
|
||||
|
||||
var borderLayer = CAShapeLayer()
|
||||
var progressLayer = CAShapeLayer()
|
||||
open var borderLayer = CAShapeLayer()
|
||||
open var progressLayer = CAShapeLayer()
|
||||
|
||||
@IBInspectable open var borderColor: NSColor = NSColor.black {
|
||||
didSet {
|
||||
|
||||
@@ -98,7 +98,7 @@ open class MaterialProgress: IndeterminateAnimation {
|
||||
}
|
||||
|
||||
var currentRotation = 0.0
|
||||
let π2 = M_PI * 2
|
||||
let π2 = Double.pi * 2
|
||||
|
||||
override func startAnimation() {
|
||||
progressLayer.add(animationGroup, forKey: "strokeEnd")
|
||||
|
||||
@@ -77,7 +77,7 @@ open class Spinner: IndeterminateAnimation {
|
||||
animation.values = [Double]()
|
||||
var i = 0.0
|
||||
while i < 360 {
|
||||
var iRadian = CGFloat(i * M_PI / 180.0)
|
||||
var iRadian = CGFloat(i * Double.pi / 180.0)
|
||||
if clockwise { iRadian = -iRadian }
|
||||
|
||||
animation.values?.append(iRadian)
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
Pod::Spec.new do |spec|
|
||||
spec.name = 'ProgressKit'
|
||||
spec.version = '0.6.1'
|
||||
spec.version = '0.7'
|
||||
spec.license = 'MIT'
|
||||
spec.summary = 'Animated ProgressViews for macOS'
|
||||
spec.homepage = 'https://github.com/kaunteya/ProgressKit'
|
||||
|
||||
@@ -213,16 +213,16 @@
|
||||
attributes = {
|
||||
LastSwiftMigration = 0700;
|
||||
LastSwiftUpdateCheck = 0700;
|
||||
LastUpgradeCheck = 0800;
|
||||
LastUpgradeCheck = 0920;
|
||||
ORGANIZATIONNAME = "Kauntey Suryawanshi";
|
||||
TargetAttributes = {
|
||||
E3AD65D11B426758009541CD = {
|
||||
CreatedOnToolsVersion = 6.3.2;
|
||||
LastSwiftMigration = 0800;
|
||||
LastSwiftMigration = 0920;
|
||||
};
|
||||
E3AD65E31B426758009541CD = {
|
||||
CreatedOnToolsVersion = 6.3.2;
|
||||
LastSwiftMigration = 0800;
|
||||
LastSwiftMigration = 0920;
|
||||
TestTargetID = E3AD65D11B426758009541CD;
|
||||
};
|
||||
};
|
||||
@@ -325,14 +325,20 @@
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
@@ -372,14 +378,20 @@
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
@@ -412,7 +424,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.kaunteya.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = On;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -425,7 +438,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.kaunteya.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = On;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -446,7 +460,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.kaunteya.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = On;
|
||||
SWIFT_VERSION = 4.0;
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ProgressKit.app/Contents/MacOS/ProgressKit";
|
||||
};
|
||||
name = Debug;
|
||||
@@ -464,7 +479,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.kaunteya.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = On;
|
||||
SWIFT_VERSION = 4.0;
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ProgressKit.app/Contents/MacOS/ProgressKit";
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -10,8 +10,8 @@ import Cocoa
|
||||
|
||||
class DeterminateViewController: NSViewController {
|
||||
|
||||
dynamic var liveProgress: Bool = true
|
||||
dynamic var labelPercentage: String = "30%"
|
||||
@objc dynamic var liveProgress: Bool = true
|
||||
@objc dynamic var labelPercentage: String = "30%"
|
||||
|
||||
override func viewDidLoad() {
|
||||
preferredContentSize = NSMakeSize(500, 300)
|
||||
@@ -21,9 +21,9 @@ class DeterminateViewController: NSViewController {
|
||||
|
||||
@IBAction func sliderDragged(_ sender: NSSlider) {
|
||||
|
||||
let event = NSApplication.shared().currentEvent
|
||||
let event = NSApplication.shared.currentEvent
|
||||
// let dragStart = event!.type == NSEventType.LeftMouseDown
|
||||
let dragEnd = event!.type == NSEventType.leftMouseUp
|
||||
let dragEnd = event!.type == NSEvent.EventType.leftMouseUp
|
||||
// let dragging = event!.type == NSEventType.LeftMouseDragged
|
||||
|
||||
if liveProgress || dragEnd {
|
||||
|
||||
+2
-2
@@ -42,11 +42,11 @@ extension NSBezierPath {
|
||||
}
|
||||
|
||||
func degreeToRadian(_ degree: Int) -> Double {
|
||||
return Double(degree) * (M_PI / 180)
|
||||
return Double(degree) * (Double.pi / 180)
|
||||
}
|
||||
|
||||
func radianToDegree(_ radian: Double) -> Int {
|
||||
return Int(radian * (180 / M_PI))
|
||||
return Int(radian * (180 / Double.pi))
|
||||
}
|
||||
|
||||
func + (p1: CGPoint, p2: CGPoint) -> CGPoint {
|
||||
|
||||
@@ -21,7 +21,7 @@ You can now make spinners, progress bar, crawlers etc, which can be finely custo
|
||||
- [Shooting Stars](#shooting-stars)
|
||||
- [Rotating Arc](#rotating-arc)
|
||||
- [Determinate Progress](#determinate-progress)
|
||||
- [Circular Progress] (#circular-progress)
|
||||
- [Circular Progress](#circular-progress)
|
||||
- [Progress Bar](#progress-bar)
|
||||
- [License](#license)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user