blob: a1ad8e92af641a476b9e440c1168dd62929ece7f [file] [log] [blame]
// 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.
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;
}) -> ();