| // Copyright 2020 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module chromecast.mojom; |
| |
| import "mojo/public/mojom/base/time.mojom"; |
| |
| // Interface for controlling device display settings. Each setting can be reset |
| // to its default value via Reset<setting>() methods. |
| // This interface is hosted in the browser process. |
| interface DisplaySettings { |
| // Sets display temperature value. |
| SetColorTemperature(float kelvin); |
| // Same as above, but temperature will be changed smoothly over a duration. |
| SetColorTemperatureSmooth(float kelvin, mojo_base.mojom.TimeDelta duration); |
| // Resets the display temperature value to the neutral value. |
| ResetColorTemperature(); |
| |
| // Sets display brightness from 0.0 to 1.0. The interpretation of this value |
| // is up to the platform implementation. |
| SetBrightness(float brightness); |
| // Same as above, but if the second argument is set, brightness will be |
| // changed smoothly over a duration. |
| SetBrightnessSmooth(float brightness, mojo_base.mojom.TimeDelta duration); |
| // Resets display brightness to the default value. |
| ResetBrightness(); |
| |
| // Sets whether screen should be on. If set to false, then screen will always |
| // be off and other settings will not be applied. |
| SetScreenOn(bool display_on); |
| |
| // Sets whether the screen should power off when SetScreenOn(false) is called. |
| SetAllowScreenPowerOff(bool allow_power_off); |
| |
| // Adds an observer to DisplaySettings. |
| AddDisplaySettingsObserver(pending_remote<DisplaySettingsObserver> observer); |
| }; |
| |
| // Observer for display settings changes. |
| interface DisplaySettingsObserver { |
| // Receive a new display brightness. |
| OnDisplayBrightnessChanged(float brightness); |
| }; |