diff options
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs')
| -rw-r--r-- | src/Ryujinx.HLE/HOS/Services/Lbl/LblControllerServer.cs | 54 |
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; + } + } +} |
