Skip to content

Commit

Permalink
fix: fix the crop masks become darker and darker when resetting multi…
Browse files Browse the repository at this point in the history
…ple times (#331)

set error parameter to _ in VNDetectHorizonRequest
did some renaming works for crop masks
  • Loading branch information
guoyingtao committed Aug 7, 2023
1 parent 143d7a7 commit 4f996c1
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 20 deletions.
2 changes: 1 addition & 1 deletion Sources/Mantis/Helpers/ImageAutoAdjustHelper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class ImageAutoAdjustHelper {
return false
}

let request = VNDetectHorizonRequest { [weak self] request, error in
let request = VNDetectHorizonRequest { [weak self] request, _ in
guard let observations = request.results as? [VNHorizonObservation] else {
return
}
Expand Down
12 changes: 5 additions & 7 deletions Sources/Mantis/MaskBackground/CropDimmingView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@
import UIKit

class CropDimmingView: UIView, CropMaskProtocol {
var overLayerFillColor: CGColor = UIColor.black.cgColor

var innerLayer: CALayer?

var overLayerFillColor = UIColor.black.cgColor
var maskLayer: CALayer?
var cropShapeType: CropShapeType = .rect
var imageRatio: CGFloat = 1.0

Expand All @@ -22,8 +20,8 @@ class CropDimmingView: UIView, CropMaskProtocol {
}

func setMask(cropRatio: CGFloat) {
let layer = createOverLayer(opacity: 0.5, cropRatio: cropRatio)
self.layer.addSublayer(layer)
innerLayer = layer
maskLayer?.removeFromSuperlayer()
maskLayer = createMaskLayer(opacity: 0.5, cropRatio: cropRatio)
layer.addSublayer(maskLayer!)
}
}
6 changes: 3 additions & 3 deletions Sources/Mantis/MaskBackground/CropMaskProtocal.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ private let initialFrameLength: CGFloat = 1000

protocol CropMaskProtocol: UIView {
var cropShapeType: CropShapeType { get set }
var innerLayer: CALayer? { get set }
var maskLayer: CALayer? { get set }
var overLayerFillColor: CGColor { get set }

func initialize(cropRatio: CGFloat)
Expand Down Expand Up @@ -44,7 +44,7 @@ extension CropMaskProtocol {

switch cropShapeType {
case .roundedRect:
innerLayer?.removeFromSuperlayer()
maskLayer?.removeFromSuperlayer()
setMask(cropRatio: cropRatio)
scaleX = cropRect.width / (minOverLayerUnit * cropRatio)
default:
Expand All @@ -62,7 +62,7 @@ extension CropMaskProtocol {
self.frame.origin.y = cropRect.midY - self.frame.height / 2
}

func createOverLayer(opacity: Float, cropRatio: CGFloat = 1.0) -> CAShapeLayer {
func createMaskLayer(opacity: Float, cropRatio: CGFloat = 1.0) -> CAShapeLayer {
let coff: CGFloat
switch cropShapeType {
case .roundedRect:
Expand Down
14 changes: 5 additions & 9 deletions Sources/Mantis/MaskBackground/CropVisualEffectView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@
import UIKit

class CropMaskVisualEffectView: UIVisualEffectView, CropMaskProtocol {
var overLayerFillColor: CGColor = UIColor.black.cgColor

var innerLayer: CALayer?

var overLayerFillColor = UIColor.black.cgColor
var maskLayer: CALayer?
var cropShapeType: CropShapeType = .rect
var imageRatio: CGFloat = 1.0

Expand All @@ -30,13 +28,12 @@ class CropMaskVisualEffectView: UIVisualEffectView, CropMaskProtocol {
}

func setMask(cropRatio: CGFloat) {
let layer = createOverLayer(opacity: 0.98, cropRatio: cropRatio)
maskLayer?.removeFromSuperlayer()
maskLayer = createMaskLayer(opacity: 0.98, cropRatio: cropRatio)

let maskView = UIView(frame: self.bounds)
maskView.clipsToBounds = true
maskView.layer.addSublayer(layer)

innerLayer = layer
maskView.layer.addSublayer(maskLayer!)

self.mask = maskView
}
Expand All @@ -55,5 +52,4 @@ class CropMaskVisualEffectView: UIVisualEffectView, CropMaskProtocol {
return (nil, .black)
}
}

}

0 comments on commit 4f996c1

Please sign in to comment.