mirror of
https://github.com/exyte/Macaw.git
synced 2024-09-21 18:09:21 +03:00
35 lines
765 B
Swift
35 lines
765 B
Swift
import UIKit
|
|
|
|
class ShapeLayer: CAShapeLayer {
|
|
var node: Node?
|
|
var renderTransform: CGAffineTransform?
|
|
var animationCache: AnimationCache?
|
|
var shouldRenderContent = true
|
|
|
|
override func draw(in ctx: CGContext) {
|
|
if !shouldRenderContent {
|
|
super.draw(in: ctx)
|
|
return
|
|
}
|
|
|
|
guard let node = node else {
|
|
return
|
|
}
|
|
|
|
guard let animationCache = animationCache else {
|
|
return
|
|
}
|
|
|
|
let renderContext = RenderContext(view: .none)
|
|
renderContext.cgContext = ctx
|
|
|
|
if let renderTransform = renderTransform {
|
|
ctx.concatenate(renderTransform)
|
|
}
|
|
|
|
let renderer = RenderUtils.createNodeRenderer(node, context: renderContext, animationCache: animationCache)
|
|
renderer.directRender()
|
|
renderer.dispose()
|
|
}
|
|
}
|