Files
divkit/client/ios/DivKitExtensions/ExtensionHandlers/ImageExtensionHandler.swift
T
morevsavva 62ead6a8ee Add blur and tint mode implementation.
Add blur and tint mode implementation
2022-11-14 22:16:48 +03:00

40 lines
784 B
Swift

import CommonCore
import DivKit
import LayoutKit
public final class ImageExtensionHandler: DivExtensionHandler {
public let id: String
private let image: ImageHolder?
public init(
id: String,
image: ImageHolder?
) {
self.id = id
self.image = image
}
public func applyBeforeBaseProperties(
to block: Block,
div _: DivBase,
context _: DivBlockModelingContext
) -> Block {
guard
let block = block as? ImageBlock,
let image = image
else {
return block
}
return ImageBlock(
imageHolder: image,
widthTrait: block.widthTrait,
height: block.height,
contentMode: block.contentMode,
tintColor: block.tintColor,
tintMode: block.tintMode,
effects: block.effects
)
}
}