Merge branch 'evanhahn/renderasimage-always-returns'
This commit is contained in:
commit
cda73bbf92
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (c) 2021 Open Whisper Systems. All rights reserved.
|
||||
// Copyright (c) 2022 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
@ -122,9 +122,7 @@ class PreviewWallpaperViewController: UIViewController {
|
||||
guard let standalonePage = self.standalonePage else {
|
||||
return owsFailDebug("Missing standalone page for photo")
|
||||
}
|
||||
guard let croppedAndScaledPhoto = standalonePage.view.renderAsImage() else {
|
||||
return owsFailDebug("Failed to snapshot cropped and scaled photo")
|
||||
}
|
||||
let croppedAndScaledPhoto = standalonePage.view.renderAsImage()
|
||||
try Wallpaper.setPhoto(croppedAndScaledPhoto, for: self.thread, transaction: transaction)
|
||||
case .preset(let selectedWallpaper):
|
||||
try Wallpaper.setBuiltIn(selectedWallpaper, for: self.thread, transaction: transaction)
|
||||
|
||||
@ -65,11 +65,11 @@ public class SpacerView: UIView {
|
||||
|
||||
@objc
|
||||
public extension UIView {
|
||||
func renderAsImage() -> UIImage? {
|
||||
func renderAsImage() -> UIImage {
|
||||
renderAsImage(opaque: false, scale: UIScreen.main.scale)
|
||||
}
|
||||
|
||||
func renderAsImage(opaque: Bool, scale: CGFloat) -> UIImage? {
|
||||
func renderAsImage(opaque: Bool, scale: CGFloat) -> UIImage {
|
||||
let format = UIGraphicsImageRendererFormat()
|
||||
format.scale = scale
|
||||
format.opaque = opaque
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (c) 2021 Open Whisper Systems. All rights reserved.
|
||||
// Copyright (c) 2022 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
@ -214,15 +214,12 @@ public class ImageEditorPaletteView: UIView {
|
||||
shadowView.layer.shadowOffset = .zero
|
||||
addSubview(shadowView)
|
||||
|
||||
if let image = ImageEditorPaletteView.buildPaletteGradientImage() {
|
||||
imageView.image = image
|
||||
let imageRadius = image.size.width * 0.5
|
||||
imageView.layer.cornerRadius = imageRadius
|
||||
shadowView.layer.cornerRadius = imageRadius
|
||||
imageView.clipsToBounds = true
|
||||
} else {
|
||||
owsFailDebug("Missing image.")
|
||||
}
|
||||
let image = ImageEditorPaletteView.buildPaletteGradientImage()
|
||||
imageView.image = image
|
||||
let imageRadius = image.size.width * 0.5
|
||||
imageView.layer.cornerRadius = imageRadius
|
||||
shadowView.layer.cornerRadius = imageRadius
|
||||
imageView.clipsToBounds = true
|
||||
addSubview(imageView)
|
||||
// We use an invisible margin to expand the hot area of this control.
|
||||
let margin: CGFloat = 20
|
||||
@ -362,7 +359,7 @@ public class ImageEditorPaletteView: UIView {
|
||||
selectColor(atLocationY: location.y)
|
||||
}
|
||||
|
||||
private static func buildPaletteGradientImage() -> UIImage? {
|
||||
private static func buildPaletteGradientImage() -> UIImage {
|
||||
let gradientSize = CGSize(width: 8, height: 200)
|
||||
let gradientBounds = CGRect(origin: .zero, size: gradientSize)
|
||||
let gradientView = UIView()
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (c) 2021 Open Whisper Systems. All rights reserved.
|
||||
// Copyright (c) 2022 Open Whisper Systems. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
@ -527,10 +527,7 @@ public class WallpaperBlurProviderImpl: NSObject, WallpaperBlurProvider {
|
||||
guard bounds.width > 0, bounds.height > 0 else {
|
||||
return nil
|
||||
}
|
||||
guard let contentImage = contentView.renderAsImage() else {
|
||||
owsFailDebug("Could not render contentView.")
|
||||
return nil
|
||||
}
|
||||
let contentImage = contentView.renderAsImage()
|
||||
// We approximate the behavior of UIVisualEffectView(effect: UIBlurEffect(style: .regular)).
|
||||
let tintColor: UIColor = (isDarkThemeEnabled
|
||||
? UIColor.ows_black.withAlphaComponent(0.9)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user