add function for getting comp source based on the border win (uses different hash)

SVN revision: 73364
This commit is contained in:
Mike Blumenkrantz 2012-07-05 14:57:05 +00:00
parent 09e526e2ba
commit a977ceecf0
3 changed files with 17 additions and 0 deletions

View File

@ -557,6 +557,12 @@ e_manager_comp_src_list(E_Manager *man)
return man->comp->func.src_list_get(man->comp->data, man);
}
EAPI E_Manager_Comp_Source*
e_manager_comp_border_src_get(E_Manager *man, Ecore_X_Window win)
{
return man->comp->func.border_src_get(man->comp->data, man, win);
}
EAPI E_Manager_Comp_Source*
e_manager_comp_src_get(E_Manager *man, Ecore_X_Window win)
{

View File

@ -42,6 +42,7 @@ struct _E_Manager_Comp
void (*src_hidden_set) (void *data, E_Manager *man, E_Manager_Comp_Source *src, Eina_Bool hidden);
Eina_Bool (*src_hidden_get) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
E_Manager_Comp_Source * (*src_get) (void *data, E_Manager *man, Ecore_X_Window win);
E_Manager_Comp_Source * (*border_src_get) (void *data, E_Manager *man, Ecore_X_Window win);
E_Popup * (*src_popup_get) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
E_Border * (*src_border_get) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
Ecore_X_Window (*src_window_get) (void *data, E_Manager *man, E_Manager_Comp_Source *src);
@ -126,6 +127,7 @@ EAPI void e_manager_comp_event_src_del_send(E_Manager *man, E_Manage
EAPI void e_manager_comp_event_src_config_send(E_Manager *man, E_Manager_Comp_Source *src, void (*afterfunc) (void *data, E_Manager *man, E_Manager_Comp_Source *src), void *data);
EAPI void e_manager_comp_event_src_visibility_send(E_Manager *man, E_Manager_Comp_Source *src, void (*afterfunc) (void *data, E_Manager *man, E_Manager_Comp_Source *src), void *data);
EAPI E_Manager_Comp_Source *e_manager_comp_src_get(E_Manager *man, Ecore_X_Window win);
EAPI E_Manager_Comp_Source *e_manager_comp_border_src_get(E_Manager *man, Ecore_X_Window win);
EAPI E_Popup *e_manager_comp_src_popup_get(E_Manager *man, E_Manager_Comp_Source *src);
EAPI E_Border *e_manager_comp_src_border_get(E_Manager *man, E_Manager_Comp_Source *src);
EAPI Ecore_X_Window e_manager_comp_src_window_get(E_Manager *man, E_Manager_Comp_Source *src);

View File

@ -3026,6 +3026,14 @@ _e_mod_comp_update_func(void *data,
_e_mod_comp_render_queue(c);
}
static E_Manager_Comp_Source *
_e_mod_comp_border_src_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
Ecore_X_Window win)
{
return (E_Manager_Comp_Source *)_e_mod_comp_border_client_find(win);
}
static E_Manager_Comp_Source *
_e_mod_comp_src_get_func(void *data __UNUSED__,
E_Manager *man __UNUSED__,
@ -3338,6 +3346,7 @@ _e_mod_comp_add(E_Manager *man)
c->comp.func.evas_get = _e_mod_comp_evas_get_func;
c->comp.func.update = _e_mod_comp_update_func;
c->comp.func.src_get = _e_mod_comp_src_get_func;
c->comp.func.border_src_get = _e_mod_comp_border_src_get_func;
c->comp.func.src_list_get = _e_mod_comp_src_list_get_func;
c->comp.func.src_image_get = _e_mod_comp_src_image_get_func;
c->comp.func.src_shadow_get = _e_mod_comp_src_shadow_get_func;