Media editor improvements

This commit is contained in:
Ilya Laktyushin
2023-12-11 14:27:53 +04:00
parent 624f2d8e84
commit 43d5a22830
9 changed files with 375 additions and 11 deletions

View File

@@ -34,6 +34,7 @@ public final class DrawingTextEntityView: DrawingEntityView, UITextViewDelegate
var textChanged: () -> Void = {}
var replaceWithImage: (UIImage, Bool) -> Void = { _, _ in }
var replaceWithAnimatedImage: (Data, UIImage) -> Void = { _, _ in }
init(context: AccountContext, entity: DrawingTextEntity) {
self.blurredBackgroundView = BlurredBackgroundView(color: UIColor(white: 0.0, alpha: 0.25), enableBlur: true)
@@ -103,8 +104,13 @@ public final class DrawingTextEntityView: DrawingEntityView, UITextViewDelegate
var images: [UIImage] = []
var isPNG = false
var isMemoji = false
var animatedImageData: Data?
for item in pasteboard.items {
if let image = item["com.apple.png-sticker"] as? UIImage {
print(item.keys)
if let data = item["public.heics"] as? Data, let image = item[kUTTypePNG as String] as? UIImage {
animatedImageData = data
images.append(image)
} else if let imageData = item["com.apple.png-sticker"] as? Data, let image = UIImage(data: imageData) {
images.append(image)
isPNG = true
isMemoji = true
@@ -121,6 +127,12 @@ public final class DrawingTextEntityView: DrawingEntityView, UITextViewDelegate
}
}
if let animatedImageData, let image = images.first {
self.endEditing(reset: true)
self.replaceWithAnimatedImage(animatedImageData, image)
return false
}
if isPNG && images.count == 1, let image = images.first, let cgImage = image.cgImage {
let maxSide = max(image.size.width, image.size.height)
if maxSide.isZero {