blob: dfdab0ce7f5e3e7e284d1a0018d880bf283089d1 [file] [log] [blame] [view]
<link rel="stylesheet" href="../style.css" />
[TOC]
# fuchsia.ui.brightness
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div>
## **PROTOCOLS**
## ColorAdjustmentHandler {#ColorAdjustmentHandler}
*Defined in [fuchsia.ui.brightness/color_adjustment.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/color_adjustment.fidl;l=10)*
<p>Handler implemented by the owner of the presentation.
The UI component that controls brightness and screen tint uses this protocol to request changes
to the screen's color adjustment matrix.</p>
### SetColorAdjustment {#ColorAdjustmentHandler.SetColorAdjustment}
<p>Called when the color adjustment has changed.</p>
#### Request {#ColorAdjustmentHandler.SetColorAdjustment_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>color_adjustment</code></td>
<td>
<code><a class='link' href='#ColorAdjustmentTable'>ColorAdjustmentTable</a></code>
</td>
</tr>
</table>
## Control {#Control}
*Defined in [fuchsia.ui.brightness/brightness.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=14)*
<p>Control provides an interface to manage the brightness component.</p>
### GetMaxAbsoluteBrightness {#Control.GetMaxAbsoluteBrightness}
<p>Gets the maximum supported backlight brightness in nits, if known.</p>
#### Request {#Control.GetMaxAbsoluteBrightness_Request}
&lt;EMPTY&gt;
#### Response {#Control.GetMaxAbsoluteBrightness_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Control_GetMaxAbsoluteBrightness_Result'>Control_GetMaxAbsoluteBrightness_Result</a></code>
</td>
</tr>
</table>
### SetAutoBrightness {#Control.SetAutoBrightness}
<p>Turns the auto-brightness mode on.
SetManualBrightness will turn it off.</p>
#### Request {#Control.SetAutoBrightness_Request}
&lt;EMPTY&gt;
### SetAutoBrightnessAdjustment {#Control.SetAutoBrightnessAdjustment}
<p>Sets the brightness adjustment.
This will change the brightness curve by the factor of the adjustment.
The adjustment is in the range of -1.0 to 1.0.</p>
#### Request {#Control.SetAutoBrightnessAdjustment_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>adjustment</code></td>
<td>
<code>float32</code>
</td>
</tr>
</table>
### SetBrightnessTable {#Control.SetBrightnessTable}
<p>Sets the brightness curve as a set of points.
This will override the built-in brightness curve.
The default brightness curve will be used if the table is empty.
The connection will be closed if table errors are detected.</p>
#### Request {#Control.SetBrightnessTable_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>table</code></td>
<td>
<code><a class='link' href='#BrightnessTable'>BrightnessTable</a></code>
</td>
</tr>
</table>
### SetManualBrightness {#Control.SetManualBrightness}
<p>Turns auto-brightness mode off.
Used by e.g. Settings to set manual brightness using a slider
Value is in the range 0.0 to 1.0 representing min to max and
will be clamped if out of range.</p>
#### Request {#Control.SetManualBrightness_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#brightness'>brightness</a></code>
</td>
</tr>
</table>
### SetManualBrightnessSmooth {#Control.SetManualBrightnessSmooth}
<p>Set manual brightness specifying the duration over which the
target brightness will be set.</p>
#### Request {#Control.SetManualBrightnessSmooth_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#brightness'>brightness</a></code>
</td>
</tr>
<tr>
<td><code>duration</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
</td>
</tr>
</table>
### WatchAutoBrightness {#Control.WatchAutoBrightness}
<p>Requests the current auto-brightness mode.
This call implements the Hanging Get protocol.</p>
#### Request {#Control.WatchAutoBrightness_Request}
&lt;EMPTY&gt;
#### Response {#Control.WatchAutoBrightness_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>enabled</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
### WatchAutoBrightnessAdjustment {#Control.WatchAutoBrightnessAdjustment}
<p>Gets the current auto brightness adjustment.
This call implements the Hanging Get protocol.</p>
#### Request {#Control.WatchAutoBrightnessAdjustment_Request}
&lt;EMPTY&gt;
#### Response {#Control.WatchAutoBrightnessAdjustment_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>adjustment</code></td>
<td>
<code>float32</code>
</td>
</tr>
</table>
### WatchCurrentBrightness {#Control.WatchCurrentBrightness}
<p>Gets the current brightness in the range 0.0 to 1.0.
This result is valid for both manual and auto-brightness modes
and is typically used to show the current brightness on a slider.
This call implements the Hanging Get protocol.</p>
#### Request {#Control.WatchCurrentBrightness_Request}
&lt;EMPTY&gt;
#### Response {#Control.WatchCurrentBrightness_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#brightness'>brightness</a></code>
</td>
</tr>
</table>
## **STRUCTS**
### BrightnessPoint {#BrightnessPoint data-text="BrightnessPoint"}
*Defined in [fuchsia.ui.brightness/brightness.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=77)*
<p>A tuple representing a point on the auto-brightness curve
Ambient_lux and nits must be positive values.</p>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BrightnessPoint.ambient_lux">
<td><code>ambient_lux</code></td>
<td>
<code>float32</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="BrightnessPoint.display_nits">
<td><code>display_nits</code></td>
<td>
<code>float32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BrightnessTable {#BrightnessTable data-text="BrightnessTable"}
*Defined in [fuchsia.ui.brightness/brightness.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=84)*
<p>A set of points defining the auto-brightness curve.
The ambient_lux values must be monotonically increasing.</p>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BrightnessTable.points">
<td><code>points</code></td>
<td>
<code>vector&lt;<a class='link' href='#BrightnessPoint'>BrightnessPoint</a>&gt;[50]</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Control_GetMaxAbsoluteBrightness_Response {#Control_GetMaxAbsoluteBrightness_Response data-text="Control_GetMaxAbsoluteBrightness_Response"}
*Defined in [fuchsia.ui.brightness/brightness.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=70)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Control_GetMaxAbsoluteBrightness_Response.max_brightness">
<td><code>max_brightness</code></td>
<td>
<code>float64</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
## **TABLES**
### ColorAdjustmentTable {#ColorAdjustmentTable data-text="ColorAdjustmentTable"}
*Defined in [fuchsia.ui.brightness/color_adjustment.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/color_adjustment.fidl;l=18)*
<p>The table for screen color tint adjustments.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="ColorAdjustmentTable.matrix">
<td><h3 id="ColorAdjustmentTable.matrix" class="add-link hide-from-toc">1</h3></td>
<td><code>matrix</code></td>
<td>
<code>float32[9]</code>
</td>
<td><p>3x3 Matrix in row-major form which will be used by root presenter
to apply color adjustment.
This field may be omitted to disable color adjustment.</p>
</td>
</tr>
</table>
## **UNIONS**
### Control_GetMaxAbsoluteBrightness_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Control_GetMaxAbsoluteBrightness_Result data-text="Control_GetMaxAbsoluteBrightness_Result"}
*Defined in [fuchsia.ui.brightness/brightness.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=70)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Control_GetMaxAbsoluteBrightness_Result.response">
<td><h3 id="Control_GetMaxAbsoluteBrightness_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Control_GetMaxAbsoluteBrightness_Response'>Control_GetMaxAbsoluteBrightness_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Control_GetMaxAbsoluteBrightness_Result.err">
<td><h3 id="Control_GetMaxAbsoluteBrightness_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
</td>
<td></td>
</tr>
</table>
## **TYPE ALIASES**
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="brightness">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.brightness/brightness.fidl;l=10">brightness</a></td>
<td>
<code>float32</code></td>
<td><p>A normalized relative brightness adjustment in the range
0.0 (off/minimum) to 1.0 (maximum).</p>
</td>
</tr>
</table>