ecore-evas-drm: Add support for alpha & transparent setting

@feature: This adds (preliminary) support for ecore_evas_alpha_set and
ecore_evas_transparent_set

NB: This is just the function placeholders and does not actually
implement transparency yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2014-03-18 11:21:02 +00:00
parent c0e3f73391
commit bd13b46e25
1 changed files with 30 additions and 2 deletions

View File

@ -52,6 +52,8 @@ static void _ecore_evas_drm_maximized_set(Ecore_Evas *ee, Eina_Bool on);
static void _ecore_evas_drm_fullscreen_set(Ecore_Evas *ee, Eina_Bool on);
static void _ecore_evas_drm_withdrawn_set(Ecore_Evas *ee, Eina_Bool on);
static void _ecore_evas_drm_ignore_events_set(Ecore_Evas *ee, int ignore);
static void _ecore_evas_drm_alpha_set(Ecore_Evas *ee, int alpha);
static void _ecore_evas_drm_transparent_set(Ecore_Evas *ee, int transparent);
static int _ecore_evas_drm_render(Ecore_Evas *ee);
static void _ecore_evas_drm_render_updates(void *data, Evas *evas EINA_UNUSED, void *event);
static int _ecore_evas_drm_render_updates_process(Ecore_Evas *ee, Eina_List *updates);
@ -106,8 +108,8 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
_ecore_evas_drm_withdrawn_set,
NULL, //void (*fn_sticky_set) (Ecore_Evas *ee, Eina_Bool on);
_ecore_evas_drm_ignore_events_set,
NULL, //void (*fn_alpha_set) (Ecore_Evas *ee, int alpha);
NULL, //void (*fn_transparent_set) (Ecore_Evas *ee, int transparent);
_ecore_evas_drm_alpha_set,
_ecore_evas_drm_transparent_set,
NULL, //void (*fn_profiles_set) (Ecore_Evas *ee, const char **profiles, int count);
NULL, //void (*fn_profile_set) (Ecore_Evas *ee, const char *profile);
@ -636,6 +638,32 @@ _ecore_evas_drm_ignore_events_set(Ecore_Evas *ee, int ignore)
ee->ignore_events = ignore;
}
static void
_ecore_evas_drm_alpha_set(Ecore_Evas *ee, int alpha)
{
if (ee->in_async_render)
{
ee->delayed.alpha = alpha;
ee->delayed.alpha_changed = EINA_TRUE;
return;
}
/* FIXME: TODO: Finish */
}
static void
_ecore_evas_drm_transparent_set(Ecore_Evas *ee, int transparent)
{
if (ee->in_async_render)
{
ee->delayed.transparent = transparent;
ee->delayed.transparent_changed = EINA_TRUE;
return;
}
/* FIXME: TODO: Finish */
}
static int
_ecore_evas_drm_render(Ecore_Evas *ee)
{