2013-04-24 07:16:19 -07:00
|
|
|
#ifdef E_TYPEDEFS
|
|
|
|
|
|
|
|
typedef struct _E_Compositor E_Compositor;
|
|
|
|
|
|
|
|
#else
|
|
|
|
# ifndef E_COMP_H
|
|
|
|
# define E_COMP_H
|
|
|
|
|
|
|
|
struct _E_Compositor
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
struct wl_display *display;
|
|
|
|
struct wl_event_loop *loop;
|
2013-04-25 04:04:08 -07:00
|
|
|
struct wl_event_loop *input_loop;
|
2013-04-24 07:16:19 -07:00
|
|
|
} wl;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
struct wl_signal destroy;
|
|
|
|
struct wl_signal activate;
|
|
|
|
struct wl_signal kill;
|
|
|
|
struct wl_signal seat;
|
|
|
|
} signals;
|
|
|
|
|
|
|
|
#ifdef HAVE_WAYLAND_EGL
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
EGLDisplay display;
|
|
|
|
EGLContext context;
|
|
|
|
EGLConfig config;
|
|
|
|
} egl;
|
|
|
|
#endif
|
|
|
|
|
2013-04-25 04:04:08 -07:00
|
|
|
E_Plane plane; // primary plane
|
|
|
|
|
2013-04-24 07:16:19 -07:00
|
|
|
Ecore_Fd_Handler *fd_hdlr;
|
|
|
|
Ecore_Idler *idler;
|
|
|
|
|
2013-05-02 01:09:48 -07:00
|
|
|
unsigned int output_pool;
|
|
|
|
|
2013-04-25 04:04:08 -07:00
|
|
|
Eina_List *planes;
|
2013-04-24 07:16:19 -07:00
|
|
|
Eina_List *outputs;
|
|
|
|
Eina_List *inputs;
|
|
|
|
Eina_List *surfaces;
|
|
|
|
|
|
|
|
void (*cb_ping) (void *surface, unsigned int serial);
|
|
|
|
};
|
|
|
|
|
|
|
|
EINTERN int e_comp_init(void);
|
|
|
|
EINTERN int e_comp_shutdown(void);
|
|
|
|
|
2013-04-24 23:43:28 -07:00
|
|
|
EAPI Eina_Bool e_compositor_init(E_Compositor *comp);
|
|
|
|
EAPI Eina_Bool e_compositor_shutdown(E_Compositor *comp);
|
2013-05-02 22:54:43 -07:00
|
|
|
EAPI E_Compositor *e_compositor_get(void);
|
2013-04-25 04:04:08 -07:00
|
|
|
EAPI void e_compositor_plane_stack(E_Compositor *comp, E_Plane *plane, E_Plane *above);
|
2013-04-24 23:43:28 -07:00
|
|
|
|
2013-04-24 07:16:19 -07:00
|
|
|
# endif
|
|
|
|
#endif
|