forked from enlightenment/efl
add new version of efl sync proto between comp and client.
SVN revision: 58220
This commit is contained in:
parent
71372d9c65
commit
4155a7df00
|
@ -3016,26 +3016,28 @@ _ecore_evas_x_flush_post(void *data, Evas *e __UNUSED__, void *event_info __UNUS
|
||||||
{
|
{
|
||||||
Ecore_Evas *ee = data;
|
Ecore_Evas *ee = data;
|
||||||
|
|
||||||
if (ee->engine.x.netwm_sync_set)
|
if ((!ee->no_comp_sync) &&
|
||||||
|
(_ecore_evas_app_comp_sync))
|
||||||
{
|
{
|
||||||
ecore_x_sync_counter_2_set(ee->engine.x.netwm_sync_counter,
|
|
||||||
ee->engine.x.netwm_sync_val_hi,
|
|
||||||
ee->engine.x.netwm_sync_val_lo);
|
|
||||||
ee->engine.x.netwm_sync_set = 0;
|
|
||||||
}
|
|
||||||
if (ee->no_comp_sync) return;
|
|
||||||
if (!_ecore_evas_app_comp_sync) return;
|
|
||||||
if (ee->engine.x.sync_counter)
|
if (ee->engine.x.sync_counter)
|
||||||
{
|
{
|
||||||
if (ee->engine.x.sync_began)
|
if (ee->engine.x.sync_began)
|
||||||
{
|
{
|
||||||
if (!ee->engine.x.sync_cancel)
|
if (!ee->engine.x.sync_cancel)
|
||||||
{
|
{
|
||||||
ecore_x_e_comp_sync_draw_done_send(ee->engine.x.win_root,
|
ecore_x_e_comp_sync_draw_size_done_send
|
||||||
ee->prop.window);
|
(ee->engine.x.win_root, ee->prop.window, ee->w, ee->h);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (ee->engine.x.netwm_sync_set)
|
||||||
|
{
|
||||||
|
ecore_x_sync_counter_2_set(ee->engine.x.netwm_sync_counter,
|
||||||
|
ee->engine.x.netwm_sync_val_hi,
|
||||||
|
ee->engine.x.netwm_sync_val_lo);
|
||||||
|
ee->engine.x.netwm_sync_set = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -2219,6 +2219,11 @@ EAPI Ecore_X_Sync_Counter ecore_x_e_comp_sync_counter_get(
|
||||||
EAPI void ecore_x_e_comp_sync_draw_done_send(
|
EAPI void ecore_x_e_comp_sync_draw_done_send(
|
||||||
Ecore_X_Window root,
|
Ecore_X_Window root,
|
||||||
Ecore_X_Window win);
|
Ecore_X_Window win);
|
||||||
|
EAPI void ecore_x_e_comp_sync_draw_size_done_send(
|
||||||
|
Ecore_X_Window root,
|
||||||
|
Ecore_X_Window win,
|
||||||
|
int w,
|
||||||
|
int h);
|
||||||
EAPI void ecore_x_e_comp_sync_supported_set(
|
EAPI void ecore_x_e_comp_sync_supported_set(
|
||||||
Ecore_X_Window root,
|
Ecore_X_Window root,
|
||||||
Eina_Bool enabled);
|
Eina_Bool enabled);
|
||||||
|
|
|
@ -800,7 +800,7 @@ ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root, Ecore_X_Window win)
|
||||||
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
|
||||||
xev.xclient.format = 32;
|
xev.xclient.format = 32;
|
||||||
xev.xclient.data.l[0] = win;
|
xev.xclient.data.l[0] = win;
|
||||||
xev.xclient.data.l[1] = 0; // later
|
xev.xclient.data.l[1] = 0; // version
|
||||||
xev.xclient.data.l[2] = 0; // later
|
xev.xclient.data.l[2] = 0; // later
|
||||||
xev.xclient.data.l[3] = 0; // later
|
xev.xclient.data.l[3] = 0; // later
|
||||||
xev.xclient.data.l[4] = 0; // later
|
xev.xclient.data.l[4] = 0; // later
|
||||||
|
@ -810,6 +810,31 @@ ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root, Ecore_X_Window win)
|
||||||
&xev);
|
&xev);
|
||||||
} /* ecore_x_e_comp_sync_draw_done_send */
|
} /* ecore_x_e_comp_sync_draw_done_send */
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root, Ecore_X_Window win, int w, int h)
|
||||||
|
{
|
||||||
|
XEvent xev;
|
||||||
|
|
||||||
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
if (!root)
|
||||||
|
root = DefaultRootWindow(_ecore_x_disp);
|
||||||
|
|
||||||
|
xev.xclient.type = ClientMessage;
|
||||||
|
xev.xclient.display = _ecore_x_disp;
|
||||||
|
xev.xclient.window = win;
|
||||||
|
xev.xclient.message_type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
|
||||||
|
xev.xclient.format = 32;
|
||||||
|
xev.xclient.data.l[0] = win;
|
||||||
|
xev.xclient.data.l[1] = 1; // version
|
||||||
|
xev.xclient.data.l[2] = w; // win width at draw time
|
||||||
|
xev.xclient.data.l[3] = h; // win height at draw time
|
||||||
|
xev.xclient.data.l[4] = 0; // later
|
||||||
|
|
||||||
|
XSendEvent(_ecore_x_disp, root, False,
|
||||||
|
SubstructureRedirectMask | SubstructureNotifyMask,
|
||||||
|
&xev);
|
||||||
|
} /* ecore_x_e_comp_sync_draw_done_send */
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_e_comp_sync_supported_set(Ecore_X_Window root, Eina_Bool enabled)
|
ecore_x_e_comp_sync_supported_set(Ecore_X_Window root, Eina_Bool enabled)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue