diff options
Diffstat (limited to 'include/rootston')
-rw-r--r-- | include/rootston/config.h | 1 | ||||
-rw-r--r-- | include/rootston/input.h | 22 | ||||
-rw-r--r-- | include/rootston/view.h | 2 |
3 files changed, 19 insertions, 6 deletions
diff --git a/include/rootston/config.h b/include/rootston/config.h index 66347c3c..5fa4890f 100644 --- a/include/rootston/config.h +++ b/include/rootston/config.h @@ -42,6 +42,7 @@ struct roots_config { struct wl_list devices; struct wl_list bindings; char *config_path; + char *startup_cmd; }; struct roots_config *parse_args(int argc, char *argv[]); diff --git a/include/rootston/input.h b/include/rootston/input.h index 357991ee..aacb3016 100644 --- a/include/rootston/input.h +++ b/include/rootston/input.h @@ -24,18 +24,12 @@ struct roots_keyboard { struct roots_pointer { struct roots_input *input; struct wlr_input_device *device; - // We don't listen to any pointer events directly - they go through - // wlr_cursor struct wl_list link; }; struct roots_touch { struct roots_input *input; struct wlr_input_device *device; - struct wl_listener down; - struct wl_listener up; - struct wl_listener motion; - struct wl_listener cancel; struct wl_list link; }; @@ -82,6 +76,13 @@ struct roots_drag_icon { struct wl_listener surface_commit; }; +struct roots_touch_point { + struct roots_touch *device; + int32_t slot; + double x, y; + struct wl_list link; +}; + struct roots_input { struct roots_config *config; struct roots_server *server; @@ -117,10 +118,17 @@ struct roots_input { struct wl_listener cursor_motion_absolute; struct wl_listener cursor_button; struct wl_listener cursor_axis; + + struct wl_listener cursor_touch_down; + struct wl_listener cursor_touch_up; + struct wl_listener cursor_touch_motion; + struct wl_listener cursor_tool_axis; struct wl_listener cursor_tool_tip; struct wl_listener pointer_grab_begin; + struct wl_list touch_points; + struct wl_listener pointer_grab_end; struct wl_listener request_set_cursor; @@ -134,6 +142,8 @@ void pointer_add(struct wlr_input_device *device, struct roots_input *input); void pointer_remove(struct wlr_input_device *device, struct roots_input *input); void keyboard_add(struct wlr_input_device *device, struct roots_input *input); void keyboard_remove(struct wlr_input_device *device, struct roots_input *input); +void touch_add(struct wlr_input_device *device, struct roots_input *input); +void touch_remove(struct wlr_input_device *device, struct roots_input *input); void tablet_tool_add(struct wlr_input_device *device, struct roots_input *input); void tablet_tool_remove(struct wlr_input_device *device, struct roots_input *input); diff --git a/include/rootston/view.h b/include/rootston/view.h index a4fb6f01..ad722225 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -73,12 +73,14 @@ struct roots_view { void (*get_size)(struct roots_view *view, struct wlr_box *box); void (*activate)(struct roots_view *view, bool active); void (*resize)(struct roots_view *view, uint32_t width, uint32_t height); + void (*set_position)(struct roots_view *view, double x, double y); void (*close)(struct roots_view *view); }; void view_get_size(struct roots_view *view, struct wlr_box *box); void view_activate(struct roots_view *view, bool active); void view_resize(struct roots_view *view, uint32_t width, uint32_t height); +void view_set_position(struct roots_view *view, double x, double y); void view_close(struct roots_view *view); bool view_center(struct roots_view *view); void view_initialize(struct roots_view *view); |