Support Dynamic Type

This commit is contained in:
Ali
2019-11-19 23:28:36 +04:00
parent 0f081f9ac3
commit eaa8bcb08e
183 changed files with 7045 additions and 5847 deletions

View File

@@ -4,6 +4,7 @@ import SwiftSignalKit
private final class PresentationsResourceCacheHolder {
var images: [Int32: UIImage] = [:]
var parameterImages: [PresentationResourceParameterKey: UIImage] = [:]
}
private final class PresentationsResourceAnyCacheHolder {
@@ -32,6 +33,24 @@ public final class PresentationsResourceCache {
}
}
public func parameterImage(_ key: PresentationResourceParameterKey, _ theme: PresentationTheme, _ generate: (PresentationTheme) -> UIImage?) -> UIImage? {
let result = self.imageCache.with { holder -> UIImage? in
return holder.parameterImages[key]
}
if let result = result {
return result
} else {
if let image = generate(theme) {
self.imageCache.with { holder -> Void in
holder.parameterImages[key] = image
}
return image
} else {
return nil
}
}
}
public func object(_ key: Int32, _ theme: PresentationTheme, _ generate: (PresentationTheme) -> AnyObject?) -> AnyObject? {
let result = self.objectCache.with { holder -> AnyObject? in
return holder.objects[key]