1 #ifndef _LIBPUI_INTERNAL_H_
2 #define _LIBPUI_INTERNAL_H_
4 #define EFL_BETA_API_SUPPORT
9 #include <wayland-tbm-client.h>
10 #include <tbm_surface_internal.h>
11 #include "PUI_common.h"
17 struct _pui_ani_control_buffer
28 Eina_Array *ecore_event_hdls;
29 Ecore_Wl2_Frame_Cb_Handle *frame_done_cb;
41 pui_ani_status status;
44 pui_ani_control_buffer *buffer;
46 Eina_Bool (*frame_cb)(void *data);
47 pui_bool (*backend_frame_cb)(void *data, int serial);
49 double frame_interval;
50 Ecore_Timer *frame_cb_timer;
52 pui_backend_ani_data *ani_data;
57 Ecore_Wl2_Window *win;
58 Ecore_Wl2_Display *ewd;
61 struct wayland_tbm_client *wl_tbm_client;
62 tbm_surface_queue_h tbm_queue;
64 tbm_surface_info_s current_sinfo;
65 tbm_surface_h current_surface;
68 Eina_List *ani_handles;
70 pui_backend_module_data *backend_module_data;
73 struct _pui_module_data
76 pui_backend_module *backend_module_info;
77 pui_backend_module_data *backend_module_data;
84 pui_ani_control_buffer *
85 pui_ani_get_buffer(pui_ani_h ani_h);
88 pui_ani_set_buffer(pui_ani_h ani_h, pui_ani_control_buffer *buffer);
91 pui_ani_update(pui_ani_h ani_h);
94 pui_ani_add_frame_cb(pui_ani_t *ani, pui_bool (*frame_cb)(void *data, int serial), double frame_interval);
97 pui_ani_remove_frame_cb(pui_ani_t *ani);
100 pui_ani_status_update(pui_ani_t *ani, pui_ani_status status);
103 pui_ani_status_get(pui_ani_t *ani);
105 pui_backend_ani_data *
106 pui_ani_get_ani_data(pui_ani_t *ani);
112 #endif//_LIBPUI_INTERNAL_H_