mirror of https://github.com/commaai/openpilot.git
38 lines
1.5 KiB
C
38 lines
1.5 KiB
C
#pragma once
|
|
|
|
typedef struct FramebufferState FramebufferState;
|
|
|
|
FramebufferState* framebuffer_init(
|
|
const char* name, int32_t layer, int alpha,
|
|
int *out_w, int *out_h);
|
|
|
|
void framebuffer_set_power(FramebufferState *s, int mode);
|
|
void framebuffer_swap(FramebufferState *s);
|
|
bool set_brightness(int brightness);
|
|
|
|
/* Display power modes */
|
|
enum {
|
|
/* The display is turned off (blanked). */
|
|
HWC_POWER_MODE_OFF = 0,
|
|
/* The display is turned on and configured in a low power state
|
|
* that is suitable for presenting ambient information to the user,
|
|
* possibly with lower fidelity than normal but greater efficiency. */
|
|
HWC_POWER_MODE_DOZE = 1,
|
|
/* The display is turned on normally. */
|
|
HWC_POWER_MODE_NORMAL = 2,
|
|
/* The display is configured as in HWC_POWER_MODE_DOZE but may
|
|
* stop applying frame buffer updates from the graphics subsystem.
|
|
* This power mode is effectively a hint from the doze dream to
|
|
* tell the hardware that it is done drawing to the display for the
|
|
* time being and that the display should remain on in a low power
|
|
* state and continue showing its current contents indefinitely
|
|
* until the mode changes.
|
|
*
|
|
* This mode may also be used as a signal to enable hardware-based doze
|
|
* functionality. In this case, the doze dream is effectively
|
|
* indicating that the hardware is free to take over the display
|
|
* and manage it autonomously to implement low power always-on display
|
|
* functionality. */
|
|
HWC_POWER_MODE_DOZE_SUSPEND = 3,
|
|
};
|