Skip to content

Commit

Permalink
Merge pull request #2 from noppefoxwolf/feature/SlideDirectionNone
Browse files Browse the repository at this point in the history
Disabled slide animation options.
  • Loading branch information
joshdholtz committed Sep 8, 2022
2 parents e020005 + 587b2c9 commit 25c7f35
Showing 1 changed file with 30 additions and 24 deletions.
54 changes: 30 additions & 24 deletions Sources/DeckUI/Views/Presenter.swift
Expand Up @@ -11,32 +11,10 @@ public struct Presenter: View {

@ObservedObject var viewModel = ContentViewModel()

public enum SlideDirection {
case horizontal, vertical

var next: AnyTransition {
switch self {
case .horizontal:
return .slideFromTrailing
case .vertical:
return .slideFromBottom
}
}

var previous: AnyTransition {
switch self {
case .horizontal:
return .slideFromLeading
case .vertical:
return .slideFromTop
}
}
}

public typealias DefaultResolution = (width: Double, height: Double)

let deck: Deck
let slideDirection: SlideDirection
let slideDirection: SlideDirection?
let loop: Bool
let defaultResolution: DefaultResolution
let showCamera: Bool
Expand All @@ -46,7 +24,7 @@ public struct Presenter: View {
@State var isFullScreen = false
@State var activeTransition: AnyTransition = .slideFromTrailing

public init(deck: Deck, slideDirection: SlideDirection = .horizontal, loop: Bool = false, defaultResolution: DefaultResolution = (width: 1920, height: 1080), showCamera: Bool = false, cameraConfig: CameraConfig = CameraConfig()) {
public init(deck: Deck, slideDirection: SlideDirection? = .horizontal, loop: Bool = false, defaultResolution: DefaultResolution = (width: 1920, height: 1080), showCamera: Bool = false, cameraConfig: CameraConfig = CameraConfig()) {
self.deck = deck
self.slideDirection = slideDirection
self.loop = loop
Expand Down Expand Up @@ -198,6 +176,34 @@ public struct Presenter: View {
}
}

public enum SlideDirection {
case horizontal, vertical
}

extension Optional where Wrapped == SlideDirection {
var next: AnyTransition {
switch self {
case .horizontal:
return .slideFromTrailing
case .vertical:
return .slideFromBottom
case .none:
return .identity
}
}

var previous: AnyTransition {
switch self {
case .horizontal:
return .slideFromLeading
case .vertical:
return .slideFromTop
case .none:
return .identity
}
}
}

public struct CameraConfig {
let size: CGFloat
let padding: CGFloat
Expand Down

0 comments on commit 25c7f35

Please sign in to comment.