keyrouter: Fix wrong return value
[platform/core/uifw/libds-tizen.git] / src / libds / seat.h
1 #ifndef DS_SEAT_H
2 #define DS_SEAT_H
3
4 #include "libds/keyboard.h"
5 #include "libds/seat.h"
6
7 struct ds_seat_pointer_grab;
8
9 struct ds_pointer_grab_interface
10 {
11     void (*enter)(struct ds_seat_pointer_grab *grab,
12             struct ds_surface *surface, double sx, double sy);
13     void (*clear_focus)(struct ds_seat_pointer_grab *grab);
14     void (*motion)(struct ds_seat_pointer_grab *grab, uint32_t time_msec,
15             double sx, double sy);
16     uint32_t (*button)(struct ds_seat_pointer_grab *grab, uint32_t time_msec,
17             uint32_t button, enum ds_button_state state);
18     void (*axis)(struct ds_seat_pointer_grab *grab, uint32_t time_msec,
19             enum ds_axis_orientation orientation, double value,
20             int32_t value_discrete, enum ds_axis_source source);
21     void (*frame)(struct ds_seat_pointer_grab *grab);
22     void (*cancel)(struct ds_seat_pointer_grab *grab);
23 };
24
25 struct ds_seat_keyboard_grab;
26
27 struct ds_keyboard_grab_interface
28 {
29     void (*enter)(struct ds_seat_keyboard_grab *grab,
30             struct ds_surface *surface, uint32_t keycodes[],
31             size_t num_keycodes, struct ds_keyboard_modifiers *modifiers);
32     void (*clear_focus)(struct ds_seat_keyboard_grab *grab);
33     void (*key)(struct ds_seat_keyboard_grab *grab, uint32_t time_msec,
34             uint32_t key, uint32_t state);
35     void (*modifiers)(struct ds_seat_keyboard_grab *grab,
36             struct ds_keyboard_modifiers *modifiers);
37     void (*cancel)(struct ds_seat_keyboard_grab *grab);
38 };
39
40 struct ds_touch_point;
41
42 struct ds_seat_touch_grab;
43
44 struct ds_touch_grab_interface
45 {
46     uint32_t (*down)(struct ds_seat_touch_grab *grab, uint32_t time_msec,
47             struct ds_touch_point *point);
48     void (*up)(struct ds_seat_touch_grab *grab, uint32_t time_msec,
49             struct ds_touch_point *point);
50     void (*motion)(struct ds_seat_touch_grab *grab, uint32_t time_msec,
51             struct ds_touch_point *point);
52     void (*enter)(struct ds_seat_touch_grab *grab, uint32_t time_msec,
53             struct ds_touch_point *point);
54     void (*frame)(struct ds_seat_touch_grab *grab);
55     void (*cancel)(struct ds_seat_touch_grab *grab);
56 };
57
58 struct ds_seat_pointer_grab
59 {
60     const struct ds_pointer_grab_interface *iface;
61     struct ds_seat *seat;
62     void *data;
63 };
64
65 struct ds_seat_keyboard_grab
66 {
67     const struct ds_keyboard_grab_interface *iface;
68     struct ds_seat *seat;
69     void *data;
70 };
71
72 struct ds_seat_touch_grab
73 {
74     const struct ds_touch_grab_interface *iface;
75     struct ds_seat *seat;
76     void *data;
77 };
78
79 void ds_seat_pointer_start_grab(struct ds_seat *seat,
80         struct ds_seat_pointer_grab *grab);
81
82 void ds_seat_pointer_end_grab(struct ds_seat *seat);
83
84 void ds_seat_pointer_enter(struct ds_seat *seat, struct ds_surface *surface,
85         double sx, double sy);
86
87 void ds_seat_pointer_clear_focus(struct ds_seat *seat);
88
89 void ds_seat_pointer_send_motion(struct ds_seat *seat, uint32_t time_msec,
90         double sx, double sy);
91
92 uint32_t ds_seat_pointer_send_button(struct ds_seat *seat, uint32_t time_msec,
93         uint32_t button, enum ds_button_state state);
94
95 void ds_seat_pointer_send_axis(struct ds_seat *seat, uint32_t time_msec,
96         enum ds_axis_orientation orientation, double value,
97         int32_t value_discrete, enum ds_axis_source source);
98
99 void ds_seat_pointer_send_frame(struct ds_seat *seat);
100
101 void ds_seat_keyboard_start_grab(struct ds_seat *seat,
102         struct ds_seat_keyboard_grab *grab);
103
104 void ds_seat_keyboard_end_grab(struct ds_seat *seat);
105
106 void ds_seat_keyboard_enter(struct ds_seat *seat, struct ds_surface *surface,
107         uint32_t keycodes[], size_t num_keycodes,
108         struct ds_keyboard_modifiers *modifiers);
109
110 void ds_seat_keyboard_clear_focus(struct ds_seat *seat);
111
112 void ds_seat_keyboard_send_key(struct ds_seat *seat, uint32_t time_msec,
113         uint32_t key, uint32_t state);
114
115 void ds_seat_keyboard_send_modifiers(struct ds_seat *seat,
116         struct ds_keyboard_modifiers *modifiers);
117
118 void ds_seat_touch_start_grab(struct ds_seat *seat,
119         struct ds_seat_touch_grab *grab);
120
121 void ds_seat_touch_end_grab(struct ds_seat *seat);
122
123 uint32_t ds_seat_touch_send_down(struct ds_seat *seat,
124         struct ds_surface *surface, uint32_t time_msec, int32_t touch_id,
125         double sx, double sy);
126
127 void ds_seat_touch_send_up(struct ds_seat *seat, uint32_t time_msec,
128         int32_t touch_id);
129
130 void ds_seat_touch_send_motion(struct ds_seat *seat, uint32_t time_msec,
131         int32_t touch_id, double sx, double sy);
132
133 void ds_seat_touch_send_frame(struct ds_seat *seat);
134
135 #endif