Files
divkit/client/ios/DivKit/Extensions/DivImage/DivGifImageExtensions.swift
babaevmm 6797545374 update paths
commit_hash:8ab26a6d1a605474126fdbc3cc4314923edbc77f
2025-03-19 17:28:58 +03:00

32 lines
1012 B
Swift

import Foundation
import LayoutKit
import VGSL
extension DivGifImage: DivBlockModeling, DivImageProtocol {
public func makeBlock(context: DivBlockModelingContext) throws -> Block {
let context = modifiedContextParentPath(context)
return try applyBaseProperties(
to: { try makeBaseBlock(context: context) },
context: context,
actionsHolder: self,
customAccessibilityParams: CustomAccessibilityParams(defaultTraits: .image)
)
}
private func makeBaseBlock(context: DivBlockModelingContext) throws -> Block {
try checkLayoutTraits(context: context)
let expressionResolver = context.expressionResolver
let imageHolder = context.imageHolderFactory.make(
resolveGifUrl(expressionResolver),
resolvePlaceholder(expressionResolver)
)
return AnimatableImageBlock(
imageHolder: imageHolder,
widthTrait: resolveContentWidthTrait(context),
height: resolveHeight(context),
contentMode: resolveContentMode(context)
)
}
}