Files
divkit/client/ios/DivKitExtensions/Animations/AnimationBlockView+UIViewRenderableBlock.swift
belegenium dc33c82cff Add os(iOS) directive for macos build
commit_hash:fd50a713c0d0051aa4c60f0e29d1f4ae1db1a922
2025-07-18 20:33:52 +03:00

44 lines
1.0 KiB
Swift

#if os(iOS)
import AVFoundation
import DivKit
import LayoutKit
import UIKit
import VGSL
extension LottieAnimationBlock {
static func makeBlockView() -> BlockView {
AnimationBlockView()
}
func canConfigureBlockView(_ view: BlockView) -> Bool {
view is AnimationBlockView
}
func configureBlockView(
_ view: BlockView,
observer _: ElementStateObserver?,
overscrollDelegate _: ScrollDelegate?,
renderingDelegate _: RenderingDelegate?
) {
let lottieView = view as! AnimationBlockView
if lottieView.animationHolder != animationHolder {
lottieView.animatableView = animatableView.value
lottieView.animationContentMode = scale.contentMode
lottieView.animationHolder = animationHolder
}
lottieView.isPlaying = isPlaying
}
}
extension DivImageScale {
fileprivate var contentMode: UIView.ContentMode {
switch self {
case .fit: .scaleAspectFit
case .fill: .scaleAspectFill
case .noScale: .center
case .stretch: .scaleToFill
}
}
}
#endif