Commit 7562c098 by Daniel Dahan

trying Motion as a direct git clone

parent 1057232e
Motion @ 2fd5d3b0
Subproject commit 2fd5d3b0b0568f1ed0a14145cec9cd9d1eb5a020
...@@ -170,7 +170,8 @@ ...@@ -170,7 +170,8 @@
96E3C3991D3A1CC20086A024 /* StatusBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 96E3C3991D3A1CC20086A024 /* StatusBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C39A1D3A1CC20086A024 /* ErrorTextField.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961F18E71CD93E3E008927C5 /* ErrorTextField.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 96E3C39A1D3A1CC20086A024 /* ErrorTextField.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961F18E71CD93E3E008927C5 /* ErrorTextField.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C39C1D3A1CC20086A024 /* Offset.swift in Headers */ = {isa = PBXBuildFile; fileRef = 968C99461D377849000074FF /* Offset.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 96E3C39C1D3A1CC20086A024 /* Offset.swift in Headers */ = {isa = PBXBuildFile; fileRef = 968C99461D377849000074FF /* Offset.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C47D1F2511F90042FA07 /* Motion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96E3C47A1F2511E40042FA07 /* Motion.framework */; }; 96E3C4801F25147F0042FA07 /* Motion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96E3C47A1F2511E40042FA07 /* Motion.framework */; };
96E3C4F51F25150B0042FA07 /* Material+Obj-C.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E3C4F41F25150B0042FA07 /* Material+Obj-C.swift */; };
96F1A5531F24F17A001D8CAF /* TabsController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96E09DC71F2287E50000B121 /* TabsController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 96F1A5531F24F17A001D8CAF /* TabsController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96E09DC71F2287E50000B121 /* TabsController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96FE06C71F15348400E34953 /* PageTabBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 966995481F1433C30064E7E4 /* PageTabBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 96FE06C71F15348400E34953 /* PageTabBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 966995481F1433C30064E7E4 /* PageTabBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -183,7 +184,7 @@ ...@@ -183,7 +184,7 @@
remoteGlobalIDString = 96C98DD11E424AB000B22906; remoteGlobalIDString = 96C98DD11E424AB000B22906;
remoteInfo = "Motion iOS"; remoteInfo = "Motion iOS";
}; };
96E3C47B1F2511F40042FA07 /* PBXContainerItemProxy */ = { 96E3C47E1F25147B0042FA07 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 96E3C4751F2511E40042FA07 /* Motion.xcodeproj */; containerPortal = 96E3C4751F2511E40042FA07 /* Motion.xcodeproj */;
proxyType = 1; proxyType = 1;
...@@ -282,6 +283,7 @@ ...@@ -282,6 +283,7 @@
96E09DC71F2287E50000B121 /* TabsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabsController.swift; sourceTree = "<group>"; }; 96E09DC71F2287E50000B121 /* TabsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabsController.swift; sourceTree = "<group>"; };
96E3C3931D397AE90086A024 /* Material+UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIView.swift"; sourceTree = "<group>"; }; 96E3C3931D397AE90086A024 /* Material+UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIView.swift"; sourceTree = "<group>"; };
96E3C4751F2511E40042FA07 /* Motion.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Motion.xcodeproj; path = Frameworks/Motion/Motion.xcodeproj; sourceTree = "<group>"; }; 96E3C4751F2511E40042FA07 /* Motion.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Motion.xcodeproj; path = Frameworks/Motion/Motion.xcodeproj; sourceTree = "<group>"; };
96E3C4F41F25150B0042FA07 /* Material+Obj-C.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+Obj-C.swift"; sourceTree = "<group>"; };
96F1DC871D654FDF0025F925 /* Material+CALayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+CALayer.swift"; sourceTree = "<group>"; }; 96F1DC871D654FDF0025F925 /* Material+CALayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+CALayer.swift"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
...@@ -290,7 +292,7 @@ ...@@ -290,7 +292,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
96E3C47D1F2511F90042FA07 /* Motion.framework in Frameworks */, 96E3C4801F25147F0042FA07 /* Motion.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -670,6 +672,7 @@ ...@@ -670,6 +672,7 @@
96C1C8801D42C62800E6608F /* Material+Array.swift */, 96C1C8801D42C62800E6608F /* Material+Array.swift */,
962864591D53FE3E00690B69 /* Material+UIWindow.swift */, 962864591D53FE3E00690B69 /* Material+UIWindow.swift */,
966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */, 966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */,
96E3C4F41F25150B0042FA07 /* Material+Obj-C.swift */,
); );
name = Extension; name = Extension;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -842,7 +845,7 @@ ...@@ -842,7 +845,7 @@
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
96E3C47C1F2511F40042FA07 /* PBXTargetDependency */, 96E3C47F1F25147B0042FA07 /* PBXTargetDependency */,
); );
name = Material; name = Material;
productName = FocusKit; productName = FocusKit;
...@@ -991,6 +994,7 @@ ...@@ -991,6 +994,7 @@
965E80FC1DD4D59500D61E4B /* SearchBarController.swift in Sources */, 965E80FC1DD4D59500D61E4B /* SearchBarController.swift in Sources */,
965E80D81DD4C50600D61E4B /* Layer.swift in Sources */, 965E80D81DD4C50600D61E4B /* Layer.swift in Sources */,
965E80D91DD4C50600D61E4B /* Layout.swift in Sources */, 965E80D91DD4C50600D61E4B /* Layout.swift in Sources */,
96E3C4F51F25150B0042FA07 /* Material+Obj-C.swift in Sources */,
965E80DA1DD4C50600D61E4B /* Border.swift in Sources */, 965E80DA1DD4C50600D61E4B /* Border.swift in Sources */,
965E80DB1DD4C50600D61E4B /* InterimSpace.swift in Sources */, 965E80DB1DD4C50600D61E4B /* InterimSpace.swift in Sources */,
965E80DC1DD4C50600D61E4B /* Depth.swift in Sources */, 965E80DC1DD4C50600D61E4B /* Depth.swift in Sources */,
...@@ -1008,10 +1012,10 @@ ...@@ -1008,10 +1012,10 @@
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */ /* Begin PBXTargetDependency section */
96E3C47C1F2511F40042FA07 /* PBXTargetDependency */ = { 96E3C47F1F25147B0042FA07 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
name = "Motion iOS"; name = "Motion iOS";
targetProxy = 96E3C47B1F2511F40042FA07 /* PBXContainerItemProxy */; targetProxy = 96E3C47E1F25147B0042FA07 /* PBXContainerItemProxy */;
}; };
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
open class Button: UIButton, Pulseable, PulseableLayer { open class Button: UIButton, Pulseable, PulseableLayer {
/** /**
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
@objc(CollectionReusableView) @objc(CollectionReusableView)
open class CollectionReusableView: UICollectionReusableView, Pulseable, PulseableLayer { open class CollectionReusableView: UICollectionReusableView, Pulseable, PulseableLayer {
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
@objc(CollectionViewCell) @objc(CollectionViewCell)
open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer { open class CollectionViewCell: UICollectionViewCell, Pulseable, PulseableLayer {
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
fileprivate class MaterialLayer { fileprivate class MaterialLayer {
/// A reference to the CALayer. /// A reference to the CALayer.
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
public extension MotionAnimation { public extension MotionAnimation {
/** /**
......
/*
* The MIT License (MIT)
*
* Copyright (C) 2017, Daniel Dahan and CosmicMind, Inc. <http://cosmicmind.com>.
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
internal struct AssociatedObject {
/**
Gets the Obj-C reference for the instance object within the UIView extension.
- Parameter base: Base object.
- Parameter key: Memory key pointer.
- Parameter initializer: Object initializer.
- Returns: The associated reference for the initializer object.
*/
public static func get<T: Any>(base: Any, key: UnsafePointer<UInt8>, initializer: () -> T) -> T {
if let v = objc_getAssociatedObject(base, key) as? T {
return v
}
let v = initializer()
objc_setAssociatedObject(base, key, v, .OBJC_ASSOCIATION_RETAIN)
return v
}
/**
Sets the Obj-C reference for the instance object within the UIView extension.
- Parameter base: Base object.
- Parameter key: Memory key pointer.
- Parameter value: The object instance to set for the associated object.
- Returns: The associated reference for the initializer object.
*/
public static func set<T: Any>(base: Any, key: UnsafePointer<UInt8>, value: T) {
objc_setAssociatedObject(base, key, value, .OBJC_ASSOCIATION_RETAIN)
}
}
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
@objc(PulseAnimation) @objc(PulseAnimation)
public enum PulseAnimation: Int { public enum PulseAnimation: Int {
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
open class PulseView: View, Pulseable, PulseableLayer { open class PulseView: View, Pulseable, PulseableLayer {
/// A Pulse reference. /// A Pulse reference.
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
@objc(SnackbarControllerDelegate) @objc(SnackbarControllerDelegate)
public protocol SnackbarControllerDelegate { public protocol SnackbarControllerDelegate {
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
*/ */
import UIKit import UIKit
import Motion
open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer { open class TableViewCell: UITableViewCell, Pulseable, PulseableLayer {
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment