forked from enlightenment/efl
ecore_evas: first step into refactoring extn backend.
This commit is contained in:
parent
9129adc993
commit
042fd1dda8
|
@ -1220,6 +1220,7 @@ ecore_evas_extn_plug_new_internal(Ecore_Evas *ee_target)
|
||||||
ee->req.w = ee->w;
|
ee->req.w = ee->w;
|
||||||
ee->req.h = ee->h;
|
ee->req.h = ee->h;
|
||||||
ee->profile_supported = 1;
|
ee->profile_supported = 1;
|
||||||
|
ee->can_async_render = 0;
|
||||||
|
|
||||||
ee->prop.max.w = 0;
|
ee->prop.max.w = 0;
|
||||||
ee->prop.max.h = 0;
|
ee->prop.max.h = 0;
|
||||||
|
@ -1289,7 +1290,7 @@ ecore_evas_extn_plug_new_internal(Ecore_Evas *ee_target)
|
||||||
|
|
||||||
|
|
||||||
extn_ee_list = eina_list_append(extn_ee_list, ee);
|
extn_ee_list = eina_list_append(extn_ee_list, ee);
|
||||||
ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee);
|
_ecore_evas_subregister(ee_target, ee);
|
||||||
|
|
||||||
evas_event_callback_add(ee_target->evas, EVAS_CALLBACK_RENDER_PRE,
|
evas_event_callback_add(ee_target->evas, EVAS_CALLBACK_RENDER_PRE,
|
||||||
_ecore_evas_extn_plug_render_pre, ee);
|
_ecore_evas_extn_plug_render_pre, ee);
|
||||||
|
@ -1506,8 +1507,7 @@ _ecore_evas_socket_switch(void *data, void *dest_buf EINA_UNUSED)
|
||||||
int
|
int
|
||||||
_ecore_evas_extn_socket_render(Ecore_Evas *ee)
|
_ecore_evas_extn_socket_render(Ecore_Evas *ee)
|
||||||
{
|
{
|
||||||
Eina_List *updates = NULL, *l, *ll;
|
Eina_List *updates = NULL, *l;
|
||||||
Ecore_Evas *ee2;
|
|
||||||
int rend = 0;
|
int rend = 0;
|
||||||
Eina_Rectangle *r;
|
Eina_Rectangle *r;
|
||||||
Extn *extn;
|
Extn *extn;
|
||||||
|
@ -1517,14 +1517,7 @@ _ecore_evas_extn_socket_render(Ecore_Evas *ee)
|
||||||
|
|
||||||
extn = bdata->data;
|
extn = bdata->data;
|
||||||
if (!extn) return rend;
|
if (!extn) return rend;
|
||||||
EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
|
rend = ecore_evas_render_prepare(ee);
|
||||||
{
|
|
||||||
if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
|
|
||||||
if (ee2->engine.func->fn_render)
|
|
||||||
rend |= ee2->engine.func->fn_render(ee2);
|
|
||||||
if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
|
|
||||||
}
|
|
||||||
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
|
|
||||||
|
|
||||||
cur_b = extn->cur_b;
|
cur_b = extn->cur_b;
|
||||||
if (bdata->pixels)
|
if (bdata->pixels)
|
||||||
|
@ -1538,7 +1531,7 @@ _ecore_evas_extn_socket_render(Ecore_Evas *ee)
|
||||||
EINA_LIST_FOREACH(updates, l, r)
|
EINA_LIST_FOREACH(updates, l, r)
|
||||||
{
|
{
|
||||||
Ipc_Data_Update ipc;
|
Ipc_Data_Update ipc;
|
||||||
|
Eina_List *ll;
|
||||||
|
|
||||||
ipc.x = r->x;
|
ipc.x = r->x;
|
||||||
ipc.y = r->y;
|
ipc.y = r->y;
|
||||||
|
@ -1550,7 +1543,7 @@ _ecore_evas_extn_socket_render(Ecore_Evas *ee)
|
||||||
}
|
}
|
||||||
evas_render_updates_free(updates);
|
evas_render_updates_free(updates);
|
||||||
_ecore_evas_idle_timeout_update(ee);
|
_ecore_evas_idle_timeout_update(ee);
|
||||||
EINA_LIST_FOREACH(extn->ipc.clients, ll, client)
|
EINA_LIST_FOREACH(extn->ipc.clients, l, client)
|
||||||
ecore_ipc_client_send(client, MAJOR, OP_UPDATE_DONE, 0, 0,
|
ecore_ipc_client_send(client, MAJOR, OP_UPDATE_DONE, 0, 0,
|
||||||
cur_b, NULL, 0);
|
cur_b, NULL, 0);
|
||||||
if (extn->profile.done)
|
if (extn->profile.done)
|
||||||
|
@ -2145,6 +2138,7 @@ ecore_evas_extn_socket_new_internal(int w, int h)
|
||||||
ee->prop.fullscreen = EINA_FALSE;
|
ee->prop.fullscreen = EINA_FALSE;
|
||||||
ee->prop.withdrawn = EINA_FALSE;
|
ee->prop.withdrawn = EINA_FALSE;
|
||||||
ee->prop.sticky = EINA_FALSE;
|
ee->prop.sticky = EINA_FALSE;
|
||||||
|
ee->can_async_render = EINA_FALSE;
|
||||||
|
|
||||||
/* init evas here */
|
/* init evas here */
|
||||||
ee->evas = evas_new();
|
ee->evas = evas_new();
|
||||||
|
|
Loading…
Reference in New Issue