mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Input node improvements
This commit is contained in:
@@ -60,7 +60,7 @@ public final class PeekController: ViewController, ContextControllerProtocol {
|
||||
|
||||
private let presentationData: PresentationData
|
||||
private let content: PeekControllerContent
|
||||
var sourceNode: () -> ASDisplayNode?
|
||||
var sourceView: () -> (UIView, CGRect)?
|
||||
|
||||
public var visibilityUpdated: ((Bool) -> Void)?
|
||||
|
||||
@@ -68,10 +68,10 @@ public final class PeekController: ViewController, ContextControllerProtocol {
|
||||
|
||||
private var animatedIn = false
|
||||
|
||||
public init(presentationData: PresentationData, content: PeekControllerContent, sourceNode: @escaping () -> ASDisplayNode?) {
|
||||
public init(presentationData: PresentationData, content: PeekControllerContent, sourceView: @escaping () -> (UIView, CGRect)?) {
|
||||
self.presentationData = presentationData
|
||||
self.content = content
|
||||
self.sourceNode = sourceNode
|
||||
self.sourceView = sourceView
|
||||
|
||||
super.init(navigationBarPresentationData: nil)
|
||||
|
||||
@@ -90,8 +90,8 @@ public final class PeekController: ViewController, ContextControllerProtocol {
|
||||
}
|
||||
|
||||
private func getSourceRect() -> CGRect {
|
||||
if let sourceNode = self.sourceNode() {
|
||||
return sourceNode.view.convert(sourceNode.bounds, to: self.view)
|
||||
if let (sourceView, sourceRect) = self.sourceView() {
|
||||
return sourceView.convert(sourceRect, to: self.view)
|
||||
} else {
|
||||
let size = self.displayNode.bounds.size
|
||||
return CGRect(origin: CGPoint(x: floor((size.width - 10.0) / 2.0), y: floor((size.height - 10.0) / 2.0)), size: CGSize(width: 10.0, height: 10.0))
|
||||
|
||||
Reference in New Issue
Block a user