#pragma once #ifdef __cplusplus extern "C" { #endif 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, }; #ifdef __cplusplus } #endif