mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
119 lines
3.1 KiB
Swift
119 lines
3.1 KiB
Swift
import UIKit
|
|
|
|
public final class NullActionClass: NSObject, CAAction {
|
|
@objc public func run(forKey event: String, object anObject: Any, arguments dict: [AnyHashable : Any]?) {
|
|
}
|
|
}
|
|
|
|
public let nullAction = NullActionClass()
|
|
|
|
open class SimpleLayer: CALayer {
|
|
public var didEnterHierarchy: (() -> Void)?
|
|
public var didExitHierarchy: (() -> Void)?
|
|
public private(set) var isInHierarchy: Bool = false
|
|
|
|
override open func action(forKey event: String) -> CAAction? {
|
|
if event == kCAOnOrderIn {
|
|
self.isInHierarchy = true
|
|
self.didEnterHierarchy?()
|
|
} else if event == kCAOnOrderOut {
|
|
self.isInHierarchy = false
|
|
self.didExitHierarchy?()
|
|
}
|
|
return nullAction
|
|
}
|
|
|
|
override public init() {
|
|
super.init()
|
|
}
|
|
|
|
override public init(layer: Any) {
|
|
super.init(layer: layer)
|
|
}
|
|
|
|
required public init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
}
|
|
|
|
open class SimpleShapeLayer: CAShapeLayer {
|
|
public var didEnterHierarchy: (() -> Void)?
|
|
public var didExitHierarchy: (() -> Void)?
|
|
|
|
override open func action(forKey event: String) -> CAAction? {
|
|
if event == kCAOnOrderIn {
|
|
self.didEnterHierarchy?()
|
|
} else if event == kCAOnOrderOut {
|
|
self.didExitHierarchy?()
|
|
}
|
|
return nullAction
|
|
}
|
|
|
|
override public init() {
|
|
super.init()
|
|
}
|
|
|
|
override public init(layer: Any) {
|
|
super.init(layer: layer)
|
|
}
|
|
|
|
required public init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
}
|
|
|
|
open class SimpleGradientLayer: CAGradientLayer {
|
|
public var didEnterHierarchy: (() -> Void)?
|
|
public var didExitHierarchy: (() -> Void)?
|
|
|
|
override open func action(forKey event: String) -> CAAction? {
|
|
if event == kCAOnOrderIn {
|
|
self.didEnterHierarchy?()
|
|
} else if event == kCAOnOrderOut {
|
|
self.didExitHierarchy?()
|
|
}
|
|
return nullAction
|
|
}
|
|
|
|
override public init() {
|
|
super.init()
|
|
}
|
|
|
|
override public init(layer: Any) {
|
|
super.init(layer: layer)
|
|
}
|
|
|
|
required public init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
}
|
|
|
|
open class SimpleTransformLayer: CATransformLayer {
|
|
public var didEnterHierarchy: (() -> Void)?
|
|
public var didExitHierarchy: (() -> Void)?
|
|
public private(set) var isInHierarchy: Bool = false
|
|
|
|
override open func action(forKey event: String) -> CAAction? {
|
|
if event == kCAOnOrderIn {
|
|
self.isInHierarchy = true
|
|
self.didEnterHierarchy?()
|
|
} else if event == kCAOnOrderOut {
|
|
self.isInHierarchy = false
|
|
self.didExitHierarchy?()
|
|
}
|
|
return nullAction
|
|
}
|
|
|
|
override public init() {
|
|
super.init()
|
|
}
|
|
|
|
override public init(layer: Any) {
|
|
super.init(layer: layer)
|
|
}
|
|
|
|
required public init?(coder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
}
|