Skip to content
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

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions Dev/Sources/SwiftUIDemo/DemoCropView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,26 @@ import BrightroomUI
import BrightroomUIPhotosCrop
import SwiftUI
import UIKit
import Verge

struct DemoCropView: View {

@StateObject var editingStack: EditingStack
@ReadingObject<EditingStack> var editingStackState: EditingStack.State
@State var resultImage: ResultImage?

init(
editingStack: @escaping () -> EditingStack
) {
self._editingStack = .init(wrappedValue: editingStack())
self._editingStackState = .init(editingStack)
}

var body: some View {
ZStack {

VStack {
PhotosCropRotating(editingStack: { editingStack })
PhotosCropRotating(editingStack: { $editingStackState.driver })
// Button("Done") {
// let image = try! editingStack.makeRenderer().render().cgImage
// let image = try! $editingStackState.driver.makeRenderer().render().cgImage
// self.resultImage = .init(cgImage: image)
// }
}
Expand All @@ -38,7 +39,7 @@ struct DemoCropView: View {
HStack {
Spacer()
Button("Done") {
let image = try! editingStack.makeRenderer().render().cgImage
let image = try! $editingStackState.driver.makeRenderer().render().cgImage
self.resultImage = .init(cgImage: image)
}
.buttonStyle(.borderedProminent)
Expand All @@ -55,13 +56,13 @@ struct DemoCropView: View {
}
// .safeAreaInset(edge: .top, content: {
// Button("Done") {
// let image = try! editingStack.makeRenderer().render().cgImage
// let image = try! $editingStackState.driver.makeRenderer().render().cgImage
// self.resultImage = .init(cgImage: image)
// }
// })

.onAppear {
editingStack.start()
$editingStackState.driver.start()
}
.sheet(item: $resultImage) {
RenderedResultView(result: $0)
Expand Down
15 changes: 8 additions & 7 deletions Dev/Sources/SwiftUIDemo/DemoCropView2.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ import BrightroomUIPhotosCrop
import SwiftUI
import UIKit
import SwiftUISupport
import Verge

struct DemoCropView2: View {

@StateObject var editingStack: EditingStack
@ReadingObject<EditingStack> var editingStackState: EditingStack.State
@State var resultImage: ResultImage?
@State var angle: EditingCrop.AdjustmentAngle = .zero
@State var baselineAngle: EditingCrop.AdjustmentAngle = .zero
Expand All @@ -24,7 +25,7 @@ struct DemoCropView2: View {
init(
editingStack: @escaping () -> EditingStack
) {
self._editingStack = .init(wrappedValue: editingStack())
self._editingStackState = .init(editingStack)
}

var body: some View {
Expand All @@ -35,7 +36,7 @@ struct DemoCropView2: View {
Spacer()

SwiftUICropView(
editingStack: editingStack,
editingStack: $editingStackState.driver,
isGuideInteractionEnabled: false,
areAnimationsEnabled: false,
contentInset: .init(top: 20, left: 20, bottom: 20, right: 20),
Expand Down Expand Up @@ -70,8 +71,8 @@ struct DemoCropView2: View {
.frame(height: 300)
.clipped()
.background(Color.gray)
ViewHost(instantiated: ImagePreviewView(editingStack: editingStack))

ViewHost(instantiated: ImagePreviewView(editingStack: $editingStackState.driver))
.background(Color.black)
.cornerRadius(24, style: .continuous)
.padding(.init(top: 20, leading: 20, bottom: 20, trailing: 20))
Expand All @@ -96,7 +97,7 @@ struct DemoCropView2: View {
HStack {
Spacer()
Button("Done") {
let image = try! editingStack.makeRenderer().render().cgImage
let image = try! $editingStackState.driver.makeRenderer().render().cgImage
self.resultImage = .init(cgImage: image)
}
.buttonStyle(.borderedProminent)
Expand All @@ -112,7 +113,7 @@ struct DemoCropView2: View {

}
.onAppear {
editingStack.start()
$editingStackState.driver.start()
}
.sheet(item: $resultImage) {
RenderedResultView(result: $0)
Expand Down
15 changes: 8 additions & 7 deletions Dev/Sources/SwiftUIDemo/DemoFilterView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import BrightroomUI
import SwiftUI
import SwiftUISupport
import UIKit
import Verge

struct DemoFilterView: View {

Expand Down Expand Up @@ -93,7 +94,7 @@ struct DemoFilterView: View {
let grayscaleFilter: GrayscaleFilter = .init()
let motionBlurFilter: MotionBlurFilter = .init()

@StateObject var editingStack: EditingStack
@ReadingObject<EditingStack> var editingStackState: EditingStack.State
@State var invertToggle: Bool = false
@State var grayscaleToggle: Bool = false
@State var motionBlurToggle: Bool = false
Expand All @@ -103,15 +104,15 @@ struct DemoFilterView: View {
init(
editingStack: @escaping () -> EditingStack
) {
self._editingStack = .init(wrappedValue: editingStack())
self._editingStackState = .init(editingStack)
}

var body: some View {
VStack {

ViewHost(instantiated: ImagePreviewView(editingStack: editingStack))
ViewHost(instantiated: ImagePreviewView(editingStack: $editingStackState.driver))

SwiftUICropView(editingStack: editingStack, contentInset: .zero)
SwiftUICropView(editingStack: $editingStackState.driver, contentInset: .zero)
.clipped()

VStack {
Expand All @@ -120,7 +121,7 @@ struct DemoFilterView: View {
Toggle("MotionBlur", isOn: $motionBlurToggle)
}
.onChange(of: [invertToggle, grayscaleToggle, motionBlurToggle], perform: { _ in
editingStack.set(filters: {
$editingStackState.driver.set(filters: {
$0.additionalFilters = [
grayscaleToggle ? grayscaleFilter.asAny() : nil,
invertToggle ? invertFilter.asAny() : nil,
Expand All @@ -131,7 +132,7 @@ struct DemoFilterView: View {
.padding()

Button("Done") {
try! editingStack.makeRenderer().render { result in
try! $editingStackState.driver.makeRenderer().render { result in
switch result {
case let .success(rendered):
self.resultImage = .init(cgImage: rendered.cgImage)
Expand All @@ -143,7 +144,7 @@ struct DemoFilterView: View {

}
.onAppear {
editingStack.start()
$editingStackState.driver.start()
}
.sheet(item: $resultImage) {
RenderedResultView(result: $0)
Expand Down
13 changes: 9 additions & 4 deletions Dev/Sources/SwiftUIDemo/IsolatedEditingView.swift
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
import BrightroomEngine
import BrightroomUI
import SwiftUI
import Verge

struct IsolatedEditinView: View {
@StateObject var editingStack = Mocks.makeEditingStack(image: Mocks.imageHorizontal())
@ReadingObject<EditingStack> var editingStackState: EditingStack.State
@State private var fullScreenView: FullscreenIdentifiableView?

init() {
self._editingStackState = .init { Mocks.makeEditingStack(image: Mocks.imageHorizontal()) }
}

var body: some View {
Form.init {
Button("Crop") {
fullScreenView = .init {
SwiftUIPhotosCropView(
editingStack: editingStack,
editingStack: $editingStackState.driver,
onDone: {},
onCancel: {}
)
Expand All @@ -20,11 +25,11 @@ struct IsolatedEditinView: View {
}

Button("Custom Crop") {
fullScreenView = .init { DemoCropView(editingStack: {editingStack}) }
fullScreenView = .init { DemoCropView(editingStack: { $editingStackState.driver }) }
}

Button("Blur Mask") {
fullScreenView = .init { MaskingViewWrapper(editingStack: editingStack) }
fullScreenView = .init { MaskingViewWrapper(editingStack: $editingStackState.driver) }
}
}
.navigationTitle("Isolated-Editing")
Expand Down
Loading
Loading