LblControllerServer.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. namespace Ryujinx.HLE.HOS.Services.Lbl
  2. {
  3. [Service("lbl")]
  4. class LblControllerServer : ILblController
  5. {
  6. private bool _vrModeEnabled;
  7. private float _currentBrightnessSettingForVrMode;
  8. public LblControllerServer(ServiceCtx context) : base(context) { }
  9. protected override void SetCurrentBrightnessSettingForVrMode(float currentBrightnessSettingForVrMode)
  10. {
  11. if (float.IsNaN(currentBrightnessSettingForVrMode) || float.IsInfinity(currentBrightnessSettingForVrMode))
  12. {
  13. _currentBrightnessSettingForVrMode = 0.0f;
  14. return;
  15. }
  16. _currentBrightnessSettingForVrMode = currentBrightnessSettingForVrMode;
  17. }
  18. protected override float GetCurrentBrightnessSettingForVrMode()
  19. {
  20. if (float.IsNaN(_currentBrightnessSettingForVrMode) || float.IsInfinity(_currentBrightnessSettingForVrMode))
  21. {
  22. return 0.0f;
  23. }
  24. return _currentBrightnessSettingForVrMode;
  25. }
  26. internal override void EnableVrMode()
  27. {
  28. _vrModeEnabled = true;
  29. // NOTE: Service check _vrModeEnabled field value in a thread and then change the screen brightness.
  30. // Since we don't support that. It's fine to do nothing.
  31. }
  32. internal override void DisableVrMode()
  33. {
  34. _vrModeEnabled = false;
  35. // NOTE: Service check _vrModeEnabled field value in a thread and then change the screen brightness.
  36. // Since we don't support that. It's fine to do nothing.
  37. }
  38. protected override bool IsVrModeEnabled()
  39. {
  40. return _vrModeEnabled;
  41. }
  42. }
  43. }