|  | // 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(uint8 minimum_rgb) -> (); | 
|  | }; |