| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.ui.policy; |
| |
| /// Manipulates global policy for display backlight. Serves as the main "front |
| /// end" interface for usage by UX components; other protocols (such as |
| /// fuchsia.ui.scenic.Session and fuchsia.hardware.display.Controller) act as |
| /// implementation. |
| /// |
| /// Global Scope. All displays, in all display controllers, are affected uniformly. |
| /// |
| /// Effect Timing. This protocol does not guarantee a deadline by which the |
| /// minimum value is applied to a display; it is best effort. |
| /// |
| /// Multiple clients. This protocol does not guarantee unique access to |
| /// manipulate display backlight functionality. |
| /// |
| /// Reference. Related to fuchsia.hardware.display.Controller. |
| @discoverable |
| protocol DisplayBacklight { |
| /// Submits a new minimum color channel value for display backlight. |
| /// |
| /// The valid range for a minimum value is [0, 255] (inclusive). For a new |
| /// minimum value M, each color channel's range will be limited to [M, 255]. |
| /// |
| /// Flow control: The caller is allowed at most one in-flight |
| /// |SetMinimumRgb| at at time. Subsequent calls must wait until the |
| /// acknowledgment returns. Non-compliance results in channel closure. |
| SetMinimumRgb(struct { |
| minimum_rgb uint8; |
| }) -> (); |
| }; |