blob: a4dc1823337f04acc08438d5592dc32d5b14ed7b [file] [log] [blame]
// Copyright 2018 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.hardware.backlight;
using zx;
struct State {
bool backlight_on;
/// |brightness| can either be:
/// 1. The unitless brightness value on a linear scale where 0.0 is the minimum
/// brightness and 1.0 is the maximum brightness - represents the current /
/// desired brightness as a percentage within the supported range. Used
/// by the |GetStateNormalized| / |SetStateNormalized| calls.
/// 2. Absolute brightness in nits. Used by the |GetStateAbsolute| /
/// |SetStateAbsolute| calls.
float64 brightness;
};
protocol Device {
/// Gets the current backlight brightness as a percentage value between 0.0
/// and 1.0
GetStateNormalized() -> (State state) error zx.status;
/// Sets the current backlight brightness as a percentage value between 0.0
/// and 1.0
SetStateNormalized(State state) -> () error zx.status;
/// Gets the current backlight brightness in nits
GetStateAbsolute() -> (State state) error zx.status;
/// Sets the current backlight brightness in nits
SetStateAbsolute(State state) -> () error zx.status;
/// Gets the maximum supported backlight brightness in nits, if known.
/// Otherwise returns error ZX_ERR_NOT_SUPPORTED.
GetMaxAbsoluteBrightness() -> (float64 max_brightness) error zx.status;
};