e: do not include e.h
[platform/upstream/enlightenment.git] / src / include / e_pixmap.h
1 # ifndef E_PIXMAP_H
2 # define E_PIXMAP_H
3
4 #include <e_client.h>
5
6 typedef struct _E_Pixmap E_Pixmap;
7 typedef struct _E_Pixmap_Hook E_Pixmap_Hook;
8
9 typedef enum
10 {
11    E_PIXMAP_TYPE_WL,
12    E_PIXMAP_TYPE_EXT_OBJECT,
13    E_PIXMAP_TYPE_NONE,
14    E_PIXMAP_TYPE_MAX
15 } E_Pixmap_Type;
16
17 typedef enum _E_Pixmap_Hook_Point
18 {
19    E_PIXMAP_HOOK_NEW,
20    E_PIXMAP_HOOK_DEL,
21    E_PIXMAP_HOOK_USABLE,
22    E_PIXMAP_HOOK_UNUSABLE,
23    E_PIXMAP_HOOK_BUFFER_CLEAR,
24    E_PIXMAP_HOOK_LAST
25 } E_Pixmap_Hook_Point;
26
27 typedef void (*E_Pixmap_Hook_Cb)(void *data, E_Pixmap *cp);
28
29 E_API E_Pixmap              *e_pixmap_new(E_Pixmap_Type type, ...);
30 E_API int                    e_pixmap_free(E_Pixmap *cp);
31 E_API E_Pixmap              *e_pixmap_ref(E_Pixmap *cp);
32 E_API E_Pixmap_Type          e_pixmap_type_get(const E_Pixmap *cp);
33 E_API void                  *e_pixmap_resource_get(E_Pixmap *cp);
34 E_API E_Comp_Wl_Client_Data *e_pixmap_cdata_get(E_Pixmap *cp);
35 E_API void                   e_pixmap_resource_set(E_Pixmap *cp, void *resource);
36 E_API void                   e_pixmap_clear(E_Pixmap *cp);
37 E_API Eina_Bool              e_pixmap_usable_get(const E_Pixmap *cp);
38 E_API Eina_Bool              e_pixmap_size_get(E_Pixmap *cp, int *w, int *h);
39 E_API E_Client              *e_pixmap_client_get(E_Pixmap *cp);
40 E_API E_Client              *e_pixmap_find_client_by_res_id(uint32_t res_id);
41 E_API uint32_t               e_pixmap_res_id_get(E_Pixmap *cp);
42 E_API uint64_t               e_pixmap_window_get(E_Pixmap *cp);
43 E_API Eina_Bool              e_pixmap_native_surface_init(E_Pixmap *cp, Evas_Native_Surface *ns);
44 E_API void                   e_pixmap_image_clear(E_Pixmap *cp, Eina_Bool cache);
45
46 E_API E_Pixmap_Hook *e_pixmap_hook_add(E_Pixmap_Hook_Point hookpoint, E_Pixmap_Hook_Cb func, const void *data);
47 E_API void e_pixmap_hook_del(E_Pixmap_Hook *ph);
48
49 E_API void e_pixmap_buffer_clear(E_Pixmap *cp, Eina_Bool only_free);
50
51 #endif