mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
[WIP] Monoforums
This commit is contained in:
parent
3db26de77b
commit
22ea05b3aa
27 changed files with 384 additions and 101 deletions
|
|
@ -13,8 +13,16 @@ import Cocoa
|
|||
import UIKit
|
||||
#endif
|
||||
|
||||
public final class ContainerViewReference {
|
||||
public weak var value: GView?
|
||||
|
||||
public init(value: GView) {
|
||||
self.value = value
|
||||
}
|
||||
}
|
||||
|
||||
public protocol ChartViewRenderer: AnyObject {
|
||||
var containerViews: [GView] { get set }
|
||||
var containerViews: [ContainerViewReference] { get set }
|
||||
func render(context: CGContext, bounds: CGRect, chartFrame: CGRect)
|
||||
}
|
||||
|
||||
|
|
@ -22,7 +30,7 @@ public protocol ChartViewRenderer: AnyObject {
|
|||
private let exponentialAnimationTrashold: CGFloat = 100
|
||||
|
||||
class BaseChartRenderer: ChartViewRenderer {
|
||||
var containerViews: [GView] = []
|
||||
var containerViews: [ContainerViewReference] = []
|
||||
|
||||
var optimizationLevel: CGFloat = 1 {
|
||||
didSet {
|
||||
|
|
@ -116,7 +124,12 @@ class BaseChartRenderer: ChartViewRenderer {
|
|||
}
|
||||
|
||||
func setNeedsDisplay() {
|
||||
containerViews.forEach { $0.setNeedsDisplay($0.bounds) }
|
||||
containerViews.forEach { containerView in
|
||||
guard let value = containerView.value else {
|
||||
return
|
||||
}
|
||||
value.setNeedsDisplay(value.bounds)
|
||||
}
|
||||
}
|
||||
|
||||
var refreshClosure: () -> Void {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import UIKit
|
|||
#endif
|
||||
|
||||
class PerformanceRenderer: ChartViewRenderer {
|
||||
var containerViews: [GView] = []
|
||||
var containerViews: [ContainerViewReference] = []
|
||||
|
||||
private var previousTickTime: TimeInterval = CACurrentMediaTime()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue