Files
divkit/client/ios/DivKit/Extensions/DivImage/DivGifImageExtensions.swift
T
ventywing 9b151d2a54 Fallback match_parent child size on wrap_content constrained
Новый подход с фолбеком размеров с match_parent на wrap_content constrained
2022-10-07 12:44:02 +03:00

34 lines
1.1 KiB
Swift

import Foundation
import CommonCore
import LayoutKit
extension DivGifImage: DivBlockModeling, DivImageProtocol {
public func makeBlock(context: DivBlockModelingContext) throws -> Block {
try applyBaseProperties(
to: { try makeBaseBlock(context: context) },
context: context,
actions: makeActions(context: context.actionContext),
actionAnimation: actionAnimation.makeActionAnimation(with: context.expressionResolver),
doubleTapActions: makeDoubleTapActions(context: context.actionContext),
longTapActions: makeLongTapActions(context: context.actionContext)
)
}
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: makeContentWidthTrait(with: context),
height: resolveHeight(context),
contentMode: resolveContentMode(expressionResolver)
)
}
}