add ds_tizen_blur
[platform/core/uifw/libds-tizen.git] / include / libds-tizen / blur.h
1 #ifndef LIBDS_TIZEN_BLUR_H
2 #define LIBDS_TIZEN_BLUR_H
3
4 #include <stdint.h>
5 #include <wayland-server.h>
6 #include <libds/surface.h>
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 struct ds_tizen_blur_manager;
13 struct ds_tizen_blur;
14
15 enum ds_tizen_blur_state_field {
16     DS_TIZEN_BLUR_STATE_NONE = 0,
17     DS_TIZEN_BLUR_STATE_REGION = (1 << 0),
18     DS_TIZEN_BLUR_STATE_RADIUS = (1 << 1),
19 };
20
21 struct ds_tizen_blur_state
22 {
23     enum ds_tizen_blur_state_field committed;
24
25     pixman_region32_t region;
26     uint32_t radius;
27 };
28
29 struct ds_tizen_blur_manager *
30 ds_tizen_blur_manager_create(struct wl_display *display);
31
32 void
33 ds_tizen_blur_manager_add_destroy_listener(struct ds_tizen_blur_manager *blur,
34         struct wl_listener *listener);
35
36 void
37 ds_tizen_blur_manager_add_destroy_listener(struct ds_tizen_blur_manager *blur,
38         struct wl_listener *listener);
39
40 void
41 ds_tizen_blur_manager_add_new_blur_listener(struct ds_tizen_blur_manager *blur,
42         struct wl_listener *listener);
43
44 void
45 ds_tizen_blur_add_destroy_listener(struct ds_tizen_blur *blur,
46         struct wl_listener *listener);
47
48 void
49 ds_tizen_blur_add_commit_listener(struct ds_tizen_blur *blur,
50         struct wl_listener *listener);
51
52 struct ds_surface *
53 ds_tizen_blur_get_surface(struct ds_tizen_blur *blur);
54
55 struct ds_tizen_blur_state *
56 ds_tizen_blur_get_state(struct ds_tizen_blur *blur);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif