aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs b/src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs
new file mode 100644
index 00000000..b68be1f2
--- /dev/null
+++ b/src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs
@@ -0,0 +1,54 @@
+namespace Ryujinx.HLE.HOS.Services.Lbl
+{
+ [Service("lbl")]
+ class LblControllerServer : ILblController
+ {
+ private bool _vrModeEnabled;
+ private float _currentBrightnessSettingForVrMode;
+
+ public LblControllerServer(ServiceCtx context) : base(context) { }
+
+ protected override void SetCurrentBrightnessSettingForVrMode(float currentBrightnessSettingForVrMode)
+ {
+ if (float.IsNaN(currentBrightnessSettingForVrMode) || float.IsInfinity(currentBrightnessSettingForVrMode))
+ {
+ _currentBrightnessSettingForVrMode = 0.0f;
+
+ return;
+ }
+
+ _currentBrightnessSettingForVrMode = currentBrightnessSettingForVrMode;
+ }
+
+ protected override float GetCurrentBrightnessSettingForVrMode()
+ {
+ if (float.IsNaN(_currentBrightnessSettingForVrMode) || float.IsInfinity(_currentBrightnessSettingForVrMode))
+ {
+ return 0.0f;
+ }
+
+ return _currentBrightnessSettingForVrMode;
+ }
+
+ internal override void EnableVrMode()
+ {
+ _vrModeEnabled = true;
+
+ // NOTE: Service check _vrModeEnabled field value in a thread and then change the screen brightness.
+ // Since we don't support that. It's fine to do nothing.
+ }
+
+ internal override void DisableVrMode()
+ {
+ _vrModeEnabled = false;
+
+ // NOTE: Service check _vrModeEnabled field value in a thread and then change the screen brightness.
+ // Since we don't support that. It's fine to do nothing.
+ }
+
+ protected override bool IsVrModeEnabled()
+ {
+ return _vrModeEnabled;
+ }
+ }
+}