ds_output: Add ds_output_set_custom_mode
[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 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 struct ds_output;
12
13 struct ds_output_mode {
14     int32_t width, height;
15     int32_t refresh; // mHz
16     bool preferred;
17     struct wl_list link;
18 };
19
20 void
21 ds_output_destroy(struct ds_output *output);
22
23 void
24 ds_output_enable(struct ds_output *output);
25
26 void
27 ds_output_disable(struct ds_output *output);
28
29 bool
30 ds_output_commit(struct ds_output *output);
31
32 void
33 ds_output_attach_buffer(struct ds_output *output, struct ds_buffer *buffer);
34
35 const struct ds_output_mode *
36 ds_output_get_preferred_mode(struct ds_output *output);
37
38 void
39 ds_output_set_mode(struct ds_output *output,
40         const struct ds_output_mode *mode);
41
42 void
43 ds_output_set_custom_mode(struct ds_output *output,
44         int32_t width, int32_t height, int32_t refresh);
45
46 void
47 ds_output_add_destroy_listener(struct ds_output *output,
48         struct wl_listener *listener);
49
50 void
51 ds_output_add_frame_listener(struct ds_output *output,
52         struct wl_listener *listener);
53
54 void
55 ds_output_add_commit_listener(struct ds_output *output,
56         struct wl_listener *listener);
57
58 #ifdef __cplusplus
59 }
60 #endif
61
62 #endif