test: adapt the change of policy request
[platform/core/uifw/libds-tizen.git] / examples / tinyds-tdm-renderer.h
1 #ifndef EXAMPLES_TINYDS_TDM_RENDERER_H
2 #define EXAMPLES_TINYDS_TDM_RENDERER_H
3
4 #include <pthread.h>
5 #include <pixman.h>
6 #include <tbm_surface_queue.h>
7 #include <tbm_surface.h>
8 #include <wayland-server.h>
9
10 struct tinyds_renderer
11 {
12     tbm_surface_queue_h surface_queue;
13
14     struct wl_list textures;
15
16     pthread_t worker_thread;
17     pthread_mutex_t mutex;
18     pthread_cond_t cond;
19
20     pixman_image_t *bg_image;
21
22     bool damaged;
23     bool destroying;
24 };
25
26 struct tinyds_texture
27 {
28     struct tinyds_renderer *renderer;
29     pixman_image_t *image;
30     tbm_surface_h surface;
31
32     struct wl_list link;
33     struct wl_listener buffer_destroy;
34
35     int x, y;
36 };
37
38 bool init_renderer(struct tinyds_renderer *renderer);
39 void fini_renderer(struct tinyds_renderer *renderer);
40 void renderer_set_surface_queue(struct tinyds_renderer *renderer,
41         void *surface_queue);
42 void renderer_set_bg_color(struct tinyds_renderer *renderer,
43         uint8_t r, uint8_t g, uint8_t b);
44 void renderer_add_texture(struct tinyds_renderer *renderer,
45         tbm_surface_h tbm_surface, int x, int y);
46 void renderer_draw(struct tinyds_renderer *renderer);
47
48 #endif