use pre-post swap callbacks and expose for gl
SVN revision: 45515
This commit is contained in:
parent
c12557d8f0
commit
8742a16770
|
@ -153,7 +153,8 @@ EAPI Ecore_X_Window ecore_evas_gl_x11_window_get(const Ecore_Evas *ee);
|
|||
EAPI void ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
|
||||
EAPI int ecore_evas_gl_x11_direct_resize_get(const Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
|
||||
|
||||
EAPI void ecore_evas_gl_x11_pre_post_swap_callback_set(const Ecore_Evas *ee, void *data, void (*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e));
|
||||
|
||||
EAPI Ecore_Evas *ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
|
||||
EAPI Ecore_X_Window ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee);
|
||||
EAPI void ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on);
|
||||
|
|
|
@ -124,6 +124,7 @@ _ecore_evas_x_gl_window_new(Ecore_Evas *ee, Ecore_X_Window parent, int x, int y,
|
|||
einfo->info.colormap = einfo->func.best_colormap_get(ecore_x_display_get(), screen);
|
||||
einfo->info.drawable = win;
|
||||
einfo->info.depth = einfo->func.best_depth_get(ecore_x_display_get(), screen);
|
||||
|
||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||
ecore_x_window_defaults_set(win);
|
||||
}
|
||||
|
@ -2738,6 +2739,36 @@ ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Wind
|
|||
}
|
||||
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
* FIXME: To be fixed.
|
||||
*/
|
||||
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
|
||||
EAPI void
|
||||
ecore_evas_gl_x11_pre_post_swap_callback_set(const Ecore_Evas *ee, void *data, void (*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e))
|
||||
{
|
||||
Evas_Engine_Info_GL_X11 *einfo;
|
||||
|
||||
if (!(!strcmp(ee->driver, "opengl_x11"))) return;
|
||||
|
||||
einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
|
||||
if (einfo)
|
||||
{
|
||||
einfo->callback.pre_swap = pre_cb;
|
||||
einfo->callback.pre_swap = post_cb;
|
||||
einfo->callback.data = data;
|
||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||
}
|
||||
}
|
||||
#else
|
||||
EAPI void
|
||||
ecore_evas_gl_x11_pre_post_swap_callback_set(const Ecore_Evas *ee, void *data, void (*pre_cb) (void *data, Evas *e), void (*post_cb) (void *data, Evas *e))
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
|
||||
|
||||
/**
|
||||
* To be documented.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue