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