Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ClassicImageEditNoPresetRootControl to hide filters panel #102

Merged
merged 1 commit into from
Apr 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,15 @@ extension ClassicImageEditOptions {
public struct Classes {

public struct Control {

public var colorCubeControl: ClassicImageEditColorCubeControlBase.Type = ColorCubeControl.self
public var editMenuControl: ClassicImageEditEditMenuControlBase.Type = ClassicImageEditEditMenu.EditMenuControl.self

/**
You might use `ClassicImageEditNoPresetRootControl` if you do not need using Filter(Preset) panel.
*/
public var rootControl: ClassicImageEditRootControlBase.Type = ClassicImageEditRootControl.self

public var colorCubeControl: ClassicImageEditPresetListControlBase.Type = PresetListControl.self
public var editMenuControl: ClassicImageEditEditMenuControlBase.Type = ClassicImageEditEditMenu.EditMenuControl.self

public var exposureControl: ClassicImageEditExposureControlBase.Type = ClassicImageEditExposureControl.self
public var gaussianBlurControl: ClassicImageEditGaussianBlurControlBase.Type = ClassicImageEditGaussianBlurControl.self
public var saturationControl: ClassicImageEditSaturationControlBase.Type = ClassicImageEditSaturationControl.self
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,21 @@ import UIKit
import Verge

#if !COCOAPODS
import BrightroomEngine
import BrightroomEngine
#endif

@available(*, deprecated, renamed: "ClassicImageEditViewController")
public typealias PixelEditViewController = ClassicImageEditViewController

public final class ClassicImageEditViewController: UIViewController {

/**
- TODO: property names are not comprehensibility.
*/
public struct LocalizedStrings {

// Deprecates

@available(*, deprecated, renamed: "control_colorcube_normal_name")
public var normal: String {
get {
Expand All @@ -50,9 +50,9 @@ public final class ClassicImageEditViewController: UIViewController {
}

public var done = "Done"

public var control_colorcube_normal_name = "Normal"

public var cancel = "Cancel"
public var filter = "Filter"
public var edit = "Edit"
Expand Down Expand Up @@ -174,9 +174,11 @@ public final class ClassicImageEditViewController: UIViewController {

super.viewDidLoad()

cropView.setCropOutsideOverlay(.init()&>.do {
$0.backgroundColor = .white
})
cropView.setCropOutsideOverlay(
.init()&>.do {
$0.backgroundColor = .white
}
)
cropView.setCropInsideOverlay(nil)
cropView.isGuideInteractionEnabled = false
cropView.isAutoApplyEditingStackEnabled = false
Expand Down Expand Up @@ -237,7 +239,9 @@ public final class ClassicImageEditViewController: UIViewController {
controlContainerView.leftAnchor.constraint(equalTo: view.leftAnchor),
{
if #available(iOS 11.0, *) {
return controlContainerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
return controlContainerView.bottomAnchor.constraint(
equalTo: view.safeAreaLayoutGuide.bottomAnchor
)
} else {
return controlContainerView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
}
Expand Down Expand Up @@ -277,6 +281,9 @@ public final class ClassicImageEditViewController: UIViewController {
stackView.push(
viewModel.options.classes.control.rootControl.init(
viewModel: viewModel,
editMenuControl: viewModel.options.classes.control.editMenuControl.init(
viewModel: viewModel
),
colorCubeControl: viewModel.options.classes.control.colorCubeControl.init(
viewModel: viewModel
)
Expand Down Expand Up @@ -344,10 +351,10 @@ public final class ClassicImageEditViewController: UIViewController {

cropView.isHidden = false
previewView.isHidden = true

maskingView.isHidden = true
maskingView.isblurryImageViewHidden = true

maskingView.isUserInteractionEnabled = false

case .masking:
Expand Down Expand Up @@ -411,8 +418,12 @@ public final class ClassicImageEditViewController: UIViewController {
loadingView.trailingAnchor.constraint(equalTo: previewView.trailingAnchor),
loadingView.topAnchor.constraint(equalTo: previewView.topAnchor),
loadingView.bottomAnchor.constraint(equalTo: previewView.bottomAnchor),
touchGuardOverlayView.leadingAnchor.constraint(equalTo: controlContainerView.leadingAnchor),
touchGuardOverlayView.trailingAnchor.constraint(equalTo: controlContainerView.trailingAnchor),
touchGuardOverlayView.leadingAnchor.constraint(
equalTo: controlContainerView.leadingAnchor
),
touchGuardOverlayView.trailingAnchor.constraint(
equalTo: controlContainerView.trailingAnchor
),
touchGuardOverlayView.topAnchor.constraint(equalTo: controlContainerView.topAnchor),
touchGuardOverlayView.bottomAnchor.constraint(equalTo: controlContainerView.bottomAnchor),
])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import BrightroomEngine

import Verge

open class ClassicImageEditColorCubeControlBase : ClassicImageEditControlBase {
open class ClassicImageEditPresetListControlBase : ClassicImageEditControlBase {

public required override init(
viewModel: ClassicImageEditViewModel
Expand All @@ -35,7 +35,7 @@ open class ClassicImageEditColorCubeControlBase : ClassicImageEditControlBase {
}
}

open class ColorCubeControl: ClassicImageEditColorCubeControlBase, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {
open class PresetListControl: ClassicImageEditPresetListControlBase, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {

private enum Section : Int, CaseIterable {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,18 @@
// THE SOFTWARE.
import UIKit

open class ClassicImageEditRootControlBase : ClassicImageEditControlBase {
open class ClassicImageEditRootControlBase: ClassicImageEditControlBase {

public required init(viewModel: ClassicImageEditViewModel, colorCubeControl: ClassicImageEditColorCubeControlBase) {
public required init(
viewModel: ClassicImageEditViewModel,
editMenuControl: ClassicImageEditEditMenuControlBase,
colorCubeControl: ClassicImageEditPresetListControlBase
) {
super.init(viewModel: viewModel)
}
}

final class ClassicImageEditRootControl : ClassicImageEditRootControlBase {
open class ClassicImageEditRootControl: ClassicImageEditRootControlBase {

public enum DisplayType {
case filter
Expand All @@ -47,17 +51,26 @@ final class ClassicImageEditRootControl : ClassicImageEditRootControlBase {

private let containerView = UIView()

public let colorCubeControl: ClassicImageEditColorCubeControlBase
public let colorCubeControl: ClassicImageEditPresetListControlBase

public lazy var editView = viewModel.options.classes.control.editMenuControl.init(viewModel: viewModel)
public let editMenuControl: ClassicImageEditEditMenuControlBase

// MARK: - Initializers

public required init(viewModel: ClassicImageEditViewModel, colorCubeControl: ClassicImageEditColorCubeControlBase) {
public required init(
viewModel: ClassicImageEditViewModel,
editMenuControl: ClassicImageEditEditMenuControlBase,
colorCubeControl: ClassicImageEditPresetListControlBase
) {

self.colorCubeControl = colorCubeControl
self.editMenuControl = editMenuControl

super.init(viewModel: viewModel, colorCubeControl: colorCubeControl)
super.init(
viewModel: viewModel,
editMenuControl: editMenuControl,
colorCubeControl: colorCubeControl
)

backgroundColor = ClassicImageEditStyle.default.control.backgroundColor

Expand All @@ -84,7 +97,7 @@ final class ClassicImageEditRootControl : ClassicImageEditRootControlBase {
stackView.rightAnchor.constraint(equalTo: stackView.superview!.rightAnchor),
stackView.bottomAnchor.constraint(equalTo: stackView.superview!.bottomAnchor),
stackView.heightAnchor.constraint(equalToConstant: 50),
])
])

}

Expand Down Expand Up @@ -113,7 +126,7 @@ final class ClassicImageEditRootControl : ClassicImageEditRootControlBase {

// MARK: - Functions

override func didMoveToSuperview() {
open override func didMoveToSuperview() {
super.didMoveToSuperview()

if superview != nil {
Expand Down Expand Up @@ -142,22 +155,68 @@ final class ClassicImageEditRootControl : ClassicImageEditRootControlBase {

switch displayType {
case .filter:

colorCubeControl.frame = containerView.bounds
colorCubeControl.autoresizingMask = [.flexibleWidth, .flexibleHeight]
containerView.addSubview(colorCubeControl)

filtersButton.isSelected = true

case .edit:
editView.frame = containerView.bounds
editView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
containerView.addSubview(editView)

editMenuControl.frame = containerView.bounds
editMenuControl.autoresizingMask = [.flexibleWidth, .flexibleHeight]

containerView.addSubview(editMenuControl)

editButton.isSelected = true
}
}

}

open class ClassicImageEditNoPresetRootControl: ClassicImageEditRootControlBase {

private let containerView = UIView()

public let editMenuControl: ClassicImageEditEditMenuControlBase

// MARK: - Initializers

public required init(
viewModel: ClassicImageEditViewModel,
editMenuControl: ClassicImageEditEditMenuControlBase,
colorCubeControl: ClassicImageEditPresetListControlBase
) {

self.editMenuControl = editMenuControl

super.init(
viewModel: viewModel,
editMenuControl: editMenuControl,
colorCubeControl: colorCubeControl
)

backgroundColor = ClassicImageEditStyle.default.control.backgroundColor

layout: do {

addSubview(containerView)

containerView.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
containerView.topAnchor.constraint(equalTo: containerView.superview!.topAnchor),
containerView.leftAnchor.constraint(equalTo: containerView.superview!.leftAnchor),
containerView.rightAnchor.constraint(equalTo: containerView.superview!.rightAnchor),
containerView.bottomAnchor.constraint(equalTo: containerView.superview!.bottomAnchor),
])

editMenuControl.frame = containerView.bounds
editMenuControl.autoresizingMask = [.flexibleWidth, .flexibleHeight]
containerView.addSubview(editMenuControl)
}

}

}