First draft for tdm backend
[platform/core/uifw/libds-tizen.git] / include / libds / output.h
1 #ifndef LIBDS_OUTPUT_H
2 #define LIBDS_OUTPUT_H
3
4 #include <time.h>
5 #include <libds/buffer.h>
6
7 struct ds_output;
8
9 struct ds_output_mode {
10     int32_t width, height;
11     int32_t refresh;
12     bool preferred;
13     struct wl_list link;
14 };
15
16 void
17 ds_output_destroy(struct ds_output *output);
18
19 bool
20 ds_output_commit(struct ds_output *output);
21
22 void
23 ds_output_attach_buffer(struct ds_output *output, struct ds_buffer *buffer);
24
25 const struct ds_output_mode *
26 ds_output_preferred_mode(struct ds_output *output);
27
28 void
29 ds_output_set_mode(struct ds_output *output,
30         const struct ds_output_mode *mode);
31
32 void
33 ds_output_add_destroy_listener(struct ds_output *output,
34         struct wl_listener *listener);
35
36 void
37 ds_output_add_frame_listener(struct ds_output *output,
38         struct wl_listener *listener);
39
40 void
41 ds_output_add_commit_listener(struct ds_output *output,
42         struct wl_listener *listener);
43
44 #endif