diff options
author | yuzubot <yuzu@yuzu-emu.org> | 2019-10-08 12:01:22 +0000 |
---|---|---|
committer | yuzubot <yuzu@yuzu-emu.org> | 2019-10-08 12:01:22 +0000 |
commit | 4837674bf4fb685d3a016abfb8dbba19a22d06c6 (patch) | |
tree | e51fbe9af752126d605a9cc8c1f2fb9d0bb680a7 /src/video_core/renderer_base.cpp | |
parent | f3dd2b733c29a71ec8546ec390f5fe733c4a978f (diff) |
"Merge Tagged PR 2542"
Diffstat (limited to 'src/video_core/renderer_base.cpp')
-rw-r--r-- | src/video_core/renderer_base.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp index 919d1f2d4d..24559cb3a2 100644 --- a/src/video_core/renderer_base.cpp +++ b/src/video_core/renderer_base.cpp @@ -40,4 +40,35 @@ void RendererBase::RequestScreenshot(void* data, std::function<void()> callback, renderer_settings.screenshot_requested = true; } +f32 RendererBase::GetCurrentResultantBrightness() const { + return renderer_settings.current_brightness / 2.0f; +} + +void RendererBase::SetBacklightStatus(bool enabled, u64 fade_transition_time) { + if (fade_transition_time == 0) { + // Needed to ensure the renderer recognizes that a change must occur. + fade_transition_time = 1; + } + + if (enabled && renderer_settings.current_brightness == 0) { + renderer_settings.current_brightness = current_brightness_backup; + renderer_settings.backlight_fade_time = fade_transition_time; + } else if (!enabled && renderer_settings.current_brightness != 0) { + current_brightness_backup = renderer_settings.current_brightness; + renderer_settings.current_brightness = 0; + renderer_settings.backlight_fade_time = fade_transition_time; + } +} + +bool RendererBase::GetBacklightStatus() const { + return renderer_settings.current_brightness != 0; +} + +void RendererBase::SetCurrentBrightness(f32 value) { + if (value != renderer_settings.current_brightness) { + renderer_settings.current_brightness = value * 2.0f; + renderer_settings.backlight_fade_time = 1; + } +} + } // namespace VideoCore |