mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
5afa9250aa
commit
47fbbbc026
@ -215,13 +215,17 @@ public final class DrawingStickerEntityView: DrawingEntityView {
|
||||
context.draw(image.cgImage!, in: imageRect)
|
||||
}
|
||||
|
||||
var synchronous = false
|
||||
if case let .image(_, type) = self.stickerEntity.content {
|
||||
synchronous = type == .dualPhoto
|
||||
}
|
||||
self.imageNode.setSignal(.single({ arguments -> DrawingContext? in
|
||||
let context = DrawingContext(size: arguments.drawingSize, opaque: false, clear: true)
|
||||
context?.withFlippedContext({ ctx in
|
||||
drawImageWithOrientation(image, size: arguments.drawingSize, in: ctx)
|
||||
})
|
||||
return context
|
||||
}))
|
||||
}), attemptSynchronously: synchronous)
|
||||
self.setNeedsLayout()
|
||||
} else if case let .video(videoPath, image, _) = self.stickerEntity.content {
|
||||
let url = URL(fileURLWithPath: videoPath)
|
||||
|
@ -663,13 +663,9 @@ final class VideoInputScalePass: RenderPass {
|
||||
}
|
||||
|
||||
func process(input: MTLTexture, secondInput: MTLTexture?, timestamp: CMTime, device: MTLDevice, commandBuffer: MTLCommandBuffer) -> MTLTexture? {
|
||||
#if targetEnvironment(simulator)
|
||||
|
||||
#else
|
||||
guard max(input.width, input.height) > 1920 || secondInput != nil else {
|
||||
return input
|
||||
}
|
||||
#endif
|
||||
|
||||
let scaledSize = CGSize(width: input.width, height: input.height).fitted(CGSize(width: 1920.0, height: 1920.0))
|
||||
let width: Int
|
||||
@ -718,10 +714,6 @@ final class VideoInputScalePass: RenderPass {
|
||||
|
||||
renderCommandEncoder.setRenderPipelineState(self.mainPipelineState!)
|
||||
|
||||
#if targetEnvironment(simulator)
|
||||
let secondInput = input
|
||||
#endif
|
||||
|
||||
let (mainVideoState, additionalVideoState, transitionVideoState) = self.transitionState(for: timestamp, mainInput: input, additionalInput: secondInput)
|
||||
|
||||
if let transitionVideoState {
|
||||
|
@ -1974,25 +1974,6 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
}
|
||||
}
|
||||
}
|
||||
#if targetEnvironment(simulator)
|
||||
if case let .asset(asset) = subject, asset.mediaType == .video {
|
||||
let videoEntity = DrawingStickerEntity(content: .dualVideoReference)
|
||||
videoEntity.referenceDrawingSize = storyDimensions
|
||||
videoEntity.scale = 1.625
|
||||
videoEntity.position = PIPPosition.topRight.getPosition(storyDimensions)
|
||||
self.entitiesView.add(videoEntity, announce: false)
|
||||
|
||||
mediaEditor.setAdditionalVideo("", positionChanges: [VideoPositionChange(additional: false, timestamp: 0.0), VideoPositionChange(additional: true, timestamp: 3.0)])
|
||||
mediaEditor.setAdditionalVideoPosition(videoEntity.position, scale: videoEntity.scale, rotation: videoEntity.rotation)
|
||||
if let entityView = self.entitiesView.getView(for: videoEntity.uuid) as? DrawingStickerEntityView {
|
||||
entityView.updated = { [weak videoEntity, weak self] in
|
||||
if let self, let videoEntity {
|
||||
self.mediaEditor?.setAdditionalVideoPosition(videoEntity.position, scale: videoEntity.scale, rotation: videoEntity.rotation)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
self.gradientColorsDisposable = mediaEditor.gradientColors.start(next: { [weak self] colors in
|
||||
if let self, let colors {
|
||||
|
@ -3481,22 +3481,18 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
let entities = generateChatInputTextEntities(caption)
|
||||
var updatedText: String?
|
||||
var updatedEntities: [MessageTextEntity]?
|
||||
var updatedPrivacy: EngineStoryPrivacy?
|
||||
if caption.string != item.text || entities != item.entities {
|
||||
updatedText = caption.string
|
||||
updatedEntities = entities
|
||||
}
|
||||
if privacy.privacy != item.privacy {
|
||||
updatedPrivacy = privacy.privacy
|
||||
}
|
||||
|
||||
|
||||
if let mediaResult {
|
||||
switch mediaResult {
|
||||
case let .image(image, dimensions):
|
||||
updateProgressImpl?(0.0)
|
||||
|
||||
if let imageData = compressImageToJPEG(image, quality: 0.7) {
|
||||
updateDisposable.set((context.engine.messages.editStory(id: id, media: .image(dimensions: dimensions, data: imageData, stickers: stickers), text: updatedText, entities: updatedEntities, privacy: updatedPrivacy)
|
||||
updateDisposable.set((context.engine.messages.editStory(id: id, media: .image(dimensions: dimensions, data: imageData, stickers: stickers), text: updatedText, entities: updatedEntities, privacy: nil)
|
||||
|> deliverOnMainQueue).start(next: { [weak self] result in
|
||||
guard let self else {
|
||||
return
|
||||
@ -3544,7 +3540,7 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
}
|
||||
}
|
||||
|
||||
updateDisposable.set((context.engine.messages.editStory(id: id, media: .video(dimensions: dimensions, duration: duration, resource: resource, firstFrameFile: firstFrameFile, stickers: stickers), text: updatedText, entities: updatedEntities, privacy: updatedPrivacy)
|
||||
updateDisposable.set((context.engine.messages.editStory(id: id, media: .video(dimensions: dimensions, duration: duration, resource: resource, firstFrameFile: firstFrameFile, stickers: stickers), text: updatedText, entities: updatedEntities, privacy: nil)
|
||||
|> deliverOnMainQueue).start(next: { [weak self] result in
|
||||
guard let self else {
|
||||
return
|
||||
@ -3565,7 +3561,7 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
}))
|
||||
}
|
||||
}
|
||||
} else if updatedText != nil || updatedPrivacy != nil {
|
||||
} else if updatedText != nil {
|
||||
let _ = (context.engine.messages.editStory(id: id, media: nil, text: updatedText, entities: updatedEntities, privacy: updatedPrivacy)
|
||||
|> deliverOnMainQueue).start(next: { [weak self] result in
|
||||
switch result {
|
||||
|
Loading…
x
Reference in New Issue
Block a user