mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 21:45:19 +00:00
63 lines
1.5 KiB
Swift
63 lines
1.5 KiB
Swift
import Foundation
|
|
import UIKit
|
|
|
|
final class CapturedGeometryNode {
|
|
final class DisplayItem {
|
|
enum Display {
|
|
enum Style {
|
|
enum GradientType {
|
|
case linear
|
|
case radial
|
|
}
|
|
|
|
case color(color: UIColor, alpha: CGFloat)
|
|
case gradient(colors: [UIColor], positions: [CGFloat], start: CGPoint, end: CGPoint, type: GradientType)
|
|
}
|
|
|
|
struct Fill {
|
|
var style: Style
|
|
var fillRule: CGPathFillRule
|
|
}
|
|
|
|
struct Stroke {
|
|
var style: Style
|
|
var lineWidth: CGFloat
|
|
var lineCap: CGLineCap
|
|
var lineJoin: CGLineJoin
|
|
var miterLimit: CGFloat
|
|
}
|
|
|
|
case fill(Fill)
|
|
case stroke(Stroke)
|
|
}
|
|
|
|
let path: CGPath
|
|
let display: Display
|
|
|
|
init(path: CGPath, display: Display) {
|
|
self.path = path
|
|
self.display = display
|
|
}
|
|
}
|
|
|
|
var transform: CATransform3D
|
|
let alpha: CGFloat
|
|
let isHidden: Bool
|
|
let displayItem: DisplayItem?
|
|
let subnodes: [CapturedGeometryNode]
|
|
|
|
init(
|
|
transform: CATransform3D,
|
|
alpha: CGFloat,
|
|
isHidden: Bool,
|
|
displayItem: DisplayItem?,
|
|
subnodes: [CapturedGeometryNode]
|
|
) {
|
|
self.transform = transform
|
|
self.alpha = alpha
|
|
self.isHidden = isHidden
|
|
self.displayItem = displayItem
|
|
self.subnodes = subnodes
|
|
}
|
|
}
|