Image editor fixes.

pull/1/head
Matthew Chen 7 years ago
parent 17c3ba0580
commit 5dcde44486

@ -10,7 +10,7 @@ class ImageEditorGestureRecognizer: UIGestureRecognizer {
public var shouldAllowOutsideView = true public var shouldAllowOutsideView = true
@objc @objc
public weak var referenceView: UIView? public weak var canvasView: UIView?
@objc @objc
override func canPrevent(_ preventedGestureRecognizer: UIGestureRecognizer) -> Bool { override func canPrevent(_ preventedGestureRecognizer: UIGestureRecognizer) -> Bool {
@ -105,8 +105,8 @@ class ImageEditorGestureRecognizer: UIGestureRecognizer {
owsFailDebug("Missing gestureView") owsFailDebug("Missing gestureView")
return .invalid return .invalid
} }
guard let referenceView = referenceView else { guard let canvasView = canvasView else {
owsFailDebug("Missing referenceView") owsFailDebug("Missing canvasView")
return .invalid return .invalid
} }
guard let allTouches = event.allTouches else { guard let allTouches = event.allTouches else {
@ -132,8 +132,8 @@ class ImageEditorGestureRecognizer: UIGestureRecognizer {
} }
// Reject new touches outside this GR's view's bounds. // Reject new touches outside this GR's view's bounds.
let location = firstTouch.location(in: referenceView) let location = firstTouch.location(in: canvasView)
if !referenceView.bounds.contains(location) { if !canvasView.bounds.contains(location) {
if shouldAllowOutsideView { if shouldAllowOutsideView {
// Do nothing // Do nothing
} else if isNewTouch { } else if isNewTouch {

@ -500,6 +500,8 @@ public class ImageEditorModel: NSObject {
public func crop(unitCropRect: CGRect) { public func crop(unitCropRect: CGRect) {
guard let croppedImage = ImageEditorModel.crop(imagePath: contents.imagePath, guard let croppedImage = ImageEditorModel.crop(imagePath: contents.imagePath,
unitCropRect: unitCropRect) else { unitCropRect: unitCropRect) else {
// Not an error; user might have tapped or
// otherwise drawn an invalid crop region.
Logger.warn("Could not crop image.") Logger.warn("Could not crop image.")
return return
} }

@ -69,7 +69,7 @@ public class ImageEditorView: UIView, ImageEditorModelDelegate {
self.isUserInteractionEnabled = true self.isUserInteractionEnabled = true
layersView.isUserInteractionEnabled = true layersView.isUserInteractionEnabled = true
let editorGestureRecognizer = ImageEditorGestureRecognizer(target: self, action: #selector(handleTouchGesture(_:))) let editorGestureRecognizer = ImageEditorGestureRecognizer(target: self, action: #selector(handleTouchGesture(_:)))
editorGestureRecognizer.referenceView = layersView editorGestureRecognizer.canvasView = layersView
self.addGestureRecognizer(editorGestureRecognizer) self.addGestureRecognizer(editorGestureRecognizer)
self.editorGestureRecognizer = editorGestureRecognizer self.editorGestureRecognizer = editorGestureRecognizer

Loading…
Cancel
Save