Swiftgram/TelegramUI/ItemListEditableReorderControlNode.swift
2018-12-18 08:33:43 +03:00

42 lines
1.5 KiB
Swift

import Foundation
import AsyncDisplayKit
import Display
final class ItemListEditableReorderControlNode: ASDisplayNode {
var tapped: (() -> Void)?
private let iconNode: ASImageNode
override init() {
self.iconNode = ASImageNode()
self.iconNode.displayWithoutProcessing = true
self.iconNode.displaysAsynchronously = false
self.iconNode.isUserInteractionEnabled = false
super.init()
self.addSubnode(self.iconNode)
}
static func asyncLayout(_ node: ItemListEditableReorderControlNode?) -> (_ height: CGFloat, _ theme: PresentationTheme) -> (CGSize, (Bool) -> ItemListEditableReorderControlNode) {
return { height, theme in
let image = PresentationResourcesItemList.itemListReorderIndicatorIcon(theme)
let resultNode: ItemListEditableReorderControlNode
if let node = node {
resultNode = node
} else {
resultNode = ItemListEditableReorderControlNode()
}
resultNode.iconNode.image = image
return (CGSize(width: 40.0, height: height), { offsetForLabel in
if let image = image {
resultNode.iconNode.frame = CGRect(origin: CGPoint(x: 7.0, y: floor((height - image.size.height) / 2.0) - (offsetForLabel ? 6.0 : 0.0)), size: image.size)
}
return resultNode
})
}
}
}