Просмотр исходного кода

visionOS: dimming doesn't seem to be reliable, so disable it for now

Sam Lantinga 2 дней назад
Родитель
Сommit
b4ebf70e0c
2 измененных файлов с 23 добавлено и 16 удалено
  1. 22 15
      src/video/uikit/SDL_CurvedContentHosting.swift
  2. 1 1
      src/video/uikit/SDL_CurvedContentView.swift

+ 22 - 15
src/video/uikit/SDL_CurvedContentHosting.swift

@@ -263,6 +263,7 @@ internal class SDL_CurvedContentSettings {
 
 
     var inputType: InputType = .eyes
     var inputType: InputType = .eyes
     var showHover: Bool = true
     var showHover: Bool = true
+    var enableDimming: Bool = false // Doesn't seem to be reliable at the moment
     var isDimmed: Bool = false
     var isDimmed: Bool = false
     var curvatureRadius: Float = 0.0
     var curvatureRadius: Float = 0.0
     var sceneState: SceneState = .interactive
     var sceneState: SceneState = .interactive
@@ -319,8 +320,10 @@ struct SDL_SettingsPanelView: View {
                 HStack(spacing: 12) {
                 HStack(spacing: 12) {
                     Image(systemName: settings.showHover ? "eye" : "eye.slash")
                     Image(systemName: settings.showHover ? "eye" : "eye.slash")
 
 
-                    Image(systemName: settings.isDimmed ? "moon.fill" : "sun.max")
-                        .foregroundStyle(settings.isDimmed ? .primary : .secondary)
+                    if settings.enableDimming {
+                        Image(systemName: settings.isDimmed ? "moon.fill" : "sun.max")
+                            .foregroundStyle(settings.isDimmed ? .primary : .secondary)
+                    }
 
 
                     Divider().frame(height: 8)
                     Divider().frame(height: 8)
 
 
@@ -341,8 +344,10 @@ struct SDL_SettingsPanelView: View {
                 VStack(spacing: 12) {
                 VStack(spacing: 12) {
                     Image(systemName: settings.showHover ? "eye" : "eye.slash")
                     Image(systemName: settings.showHover ? "eye" : "eye.slash")
 
 
-                    Image(systemName: settings.isDimmed ? "moon.fill" : "sun.max")
-                        .foregroundStyle(settings.isDimmed ? .primary : .secondary)
+                    if settings.enableDimming {
+                        Image(systemName: settings.isDimmed ? "moon.fill" : "sun.max")
+                            .foregroundStyle(settings.isDimmed ? .primary : .secondary)
+                    }
 
 
                     Divider().frame(height: 8)
                     Divider().frame(height: 8)
 
 
@@ -389,19 +394,21 @@ struct SDL_SettingsPanelView: View {
                 Image(systemName: "eye")
                 Image(systemName: "eye")
                 Spacer()
                 Spacer()
 
 
-                Spacer()
-                Image(systemName: "sun.max")
+                if settings.enableDimming {
+                    Spacer()
+                    Image(systemName: "sun.max")
 
 
-                Toggle(isOn: $settings.isDimmed) {
-                }
-                .onChange(of: settings.isDimmed) {
-                    settings.save()
-                }
-                .labelsHidden()
-                .tint(.secondary)
+                    Toggle(isOn: $settings.isDimmed) {
+                    }
+                    .onChange(of: settings.isDimmed) {
+                        settings.save()
+                    }
+                    .labelsHidden()
+                    .tint(.secondary)
 
 
-                Image(systemName: "moon.fill")
-                Spacer()
+                    Image(systemName: "moon.fill")
+                    Spacer()
+                }
             }
             }
 
 
             // Curvature slider
             // Curvature slider

+ 1 - 1
src/video/uikit/SDL_CurvedContentView.swift

@@ -273,7 +273,7 @@ internal struct SDL_CurvedContentView: View {
             settings.isSnapped = snappedStatus.isSnapped
             settings.isSnapped = snappedStatus.isSnapped
             helper.updateSnappedStatus(snapped: snappedStatus.isSnapped)
             helper.updateSnappedStatus(snapped: snappedStatus.isSnapped)
         }
         }
-        .preferredSurroundingsEffect(settings.isDimmed ? .dark : nil)
+        .preferredSurroundingsEffect(settings.enableDimming && settings.isDimmed ? .dark : nil)
         .frame(depth: 0)
         .frame(depth: 0)
         .ignoresSafeArea()
         .ignoresSafeArea()
         .persistentSystemOverlays(settings.sceneState == .cinematic ? .hidden : .automatic)
         .persistentSystemOverlays(settings.sceneState == .cinematic ? .hidden : .automatic)