Fix settings overlay layout

This commit is contained in:
Arkadiusz Fal 2022-08-14 19:58:46 +02:00
parent 62769016fc
commit 356f8c7af1
3 changed files with 31 additions and 19 deletions

View File

@ -51,7 +51,7 @@ struct FixtureEnvironmentObjectsModifier: ViewModifier {
} }
private var playerControls: PlayerControlsModel { private var playerControls: PlayerControlsModel {
PlayerControlsModel(presentingControls: true, presentingControlsOverlay: false, player: player) PlayerControlsModel(presentingControls: false, presentingControlsOverlay: true, player: player)
} }
private var subscriptions: SubscriptionsModel { private var subscriptions: SubscriptionsModel {

View File

@ -140,7 +140,7 @@ struct ControlsOverlay: View {
} }
#if os(macOS) #if os(macOS)
.buttonStyle(.bordered) .buttonStyle(.bordered)
#else #elseif os(tvOS)
.modifier(ControlBackgroundModifier()) .modifier(ControlBackgroundModifier())
.clipShape(RoundedRectangle(cornerRadius: 4)) .clipShape(RoundedRectangle(cornerRadius: 4))
#endif #endif

View File

@ -66,6 +66,10 @@ struct VideoPlayerView: View {
if playerControls.presentingControlsOverlay { if playerControls.presentingControlsOverlay {
HStack { HStack {
HStack {
#if !os(tvOS)
Spacer()
#endif
ControlsOverlay() ControlsOverlay()
#if os(tvOS) #if os(tvOS)
.onExitCommand { .onExitCommand {
@ -76,18 +80,26 @@ struct VideoPlayerView: View {
.onPlayPauseCommand { .onPlayPauseCommand {
player.togglePlay() player.togglePlay()
} }
#else
.frame(maxWidth: overlayWidth)
#endif #endif
.padding() .padding()
.modifier(ControlBackgroundModifier()) .modifier(ControlBackgroundModifier())
.clipShape(RoundedRectangle(cornerRadius: 4)) .clipShape(RoundedRectangle(cornerRadius: 4))
.transition(.opacity) .transition(.opacity)
#if !os(tvOS)
Spacer()
#endif
}
#if os(macOS)
.frame(width: player.playerSize.width)
#endif
#if !os(tvOS)
Spacer()
#endif
} }
#if os(tvOS) #if os(tvOS)
.clipShape(RoundedRectangle(cornerRadius: 10)) .clipShape(RoundedRectangle(cornerRadius: 10))
#else
.frame(maxWidth: player.playerSize.width)
#endif #endif
} }
} }
@ -105,11 +117,11 @@ struct VideoPlayerView: View {
return GeometryReader { geometry in return GeometryReader { geometry in
HSplitView { HSplitView {
content content
}
.onAppear { .onAppear {
playerSize = geometry.size playerSize = geometry.size
} }
} }
}
.alert(isPresented: $navigation.presentingAlertInVideoPlayer) { navigation.alert } .alert(isPresented: $navigation.presentingAlertInVideoPlayer) { navigation.alert }
.onOpenURL { .onOpenURL {
OpenURLHandler( OpenURLHandler(