forked from enlightenment/enlightenment
e backlight - offer suspend api for wl's drm mod to turn on/off
This commit is contained in:
parent
6d2c0d04e9
commit
09ec2015e9
|
@ -22,6 +22,7 @@ static Eina_List *_devices = NULL;
|
||||||
static int _devices_pending_ops = 0;
|
static int _devices_pending_ops = 0;
|
||||||
static Eina_Bool _devices_zones_update = EINA_FALSE;
|
static Eina_Bool _devices_zones_update = EINA_FALSE;
|
||||||
static Eina_Bool _own_vt = EINA_TRUE;
|
static Eina_Bool _own_vt = EINA_TRUE;
|
||||||
|
static Eina_Bool _e_bl_suspend = EINA_FALSE;
|
||||||
|
|
||||||
static void _backlight_devices_device_set(Backlight_Device *bd, double val);
|
static void _backlight_devices_device_set(Backlight_Device *bd, double val);
|
||||||
static void _backlight_devices_device_update(Backlight_Device *bd);
|
static void _backlight_devices_device_update(Backlight_Device *bd);
|
||||||
|
@ -876,3 +877,17 @@ e_backlight_devices_get(void)
|
||||||
{
|
{
|
||||||
return bl_devs;
|
return bl_devs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
E_API void
|
||||||
|
e_backlight_suspend_set(Eina_Bool suspend)
|
||||||
|
{
|
||||||
|
if (_e_bl_suspend == suspend) return;
|
||||||
|
_e_bl_suspend = suspend;
|
||||||
|
_own_vt = !_e_bl_suspend;
|
||||||
|
if (_own_vt)
|
||||||
|
{
|
||||||
|
// we just go back to normal backlight if we gain
|
||||||
|
// the vt again
|
||||||
|
e_backlight_mode_set(NULL, E_BACKLIGHT_MODE_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ E_API double e_backlight_level_get(E_Zone *zone);
|
||||||
E_API void e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode);
|
E_API void e_backlight_mode_set(E_Zone *zone, E_Backlight_Mode mode);
|
||||||
E_API E_Backlight_Mode e_backlight_mode_get(E_Zone *zone);
|
E_API E_Backlight_Mode e_backlight_mode_get(E_Zone *zone);
|
||||||
E_API const Eina_List *e_backlight_devices_get(void);
|
E_API const Eina_List *e_backlight_devices_get(void);
|
||||||
|
E_API void e_backlight_suspend_set(Eina_Bool suspend);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -55,6 +55,7 @@ _e_mod_drm_cb_activate(void *data EINA_UNUSED, int type EINA_UNUSED, void *event
|
||||||
{
|
{
|
||||||
if (session_state) goto end;
|
if (session_state) goto end;
|
||||||
session_state = EINA_TRUE;
|
session_state = EINA_TRUE;
|
||||||
|
e_backlight_suspend_set(EINA_FALSE);
|
||||||
|
|
||||||
ecore_evas_show(e_comp->ee);
|
ecore_evas_show(e_comp->ee);
|
||||||
evas_damage_rectangle_add(e_comp->evas, 0, 0, e_comp->w, e_comp->h);
|
evas_damage_rectangle_add(e_comp->evas, 0, 0, e_comp->w, e_comp->h);
|
||||||
|
@ -72,6 +73,8 @@ _e_mod_drm_cb_activate(void *data EINA_UNUSED, int type EINA_UNUSED, void *event
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
session_state = EINA_FALSE;
|
session_state = EINA_FALSE;
|
||||||
|
e_backlight_suspend_set(EINA_TRUE);
|
||||||
|
|
||||||
ecore_evas_hide(e_comp->ee);
|
ecore_evas_hide(e_comp->ee);
|
||||||
edje_file_cache_flush();
|
edje_file_cache_flush();
|
||||||
edje_collection_cache_flush();
|
edje_collection_cache_flush();
|
||||||
|
|
Loading…
Reference in New Issue