static void _e_comp_wl_pointer_cb_cursor_set(struct wl_client *client, struct wl_resource *resource, unsigned int serial, struct wl_resource *surface_resource, int x, int y);
static void _e_comp_wl_pointer_cb_release(struct wl_client *client, struct wl_resource *resource);
+/* keyboard interface prototypes */
+static void _e_comp_wl_keyboard_cb_release(struct wl_client *client, struct wl_resource *resource);
+
+/* touch interface prototypes */
+static void _e_comp_wl_touch_cb_release(struct wl_client *client, struct wl_resource *resource);
+
/* region interface prototypes */
static void _e_comp_wl_region_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource);
static void _e_comp_wl_region_cb_add(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int x, int y, int w, int h);
_e_comp_wl_pointer_cb_release
};
+static const struct wl_keyboard_interface _e_keyboard_interface =
+{
+ _e_comp_wl_keyboard_cb_release
+};
+
+static const struct wl_touch_interface _e_touch_interface =
+{
+ _e_comp_wl_touch_cb_release
+};
+
static const struct wl_region_interface _e_region_interface =
{
_e_comp_wl_region_cb_destroy,
wl_signal_init(&keyboard->focus_signal);
}
-EAPI void
-wl_keyboard_release(struct wl_keyboard *keyboard)
-{
- if (keyboard->focus_resource)
- wl_list_remove(&keyboard->focus_listener.link);
- wl_array_release(&keyboard->keys);
-}
-
EAPI void
wl_keyboard_set_focus(struct wl_keyboard *keyboard, struct wl_resource *surface)
{
wl_signal_init(&touch->focus_signal);
}
-EAPI void
-wl_touch_release(struct wl_touch *touch)
-{
- if (touch->focus_resource)
- wl_list_remove(&touch->focus_listener.link);
-}
-
EAPI void
wl_touch_start_grab(struct wl_touch *device, struct wl_touch_grab *grab)
{
wl_resource_get_version(resource), id);
wl_list_insert(&input->wl.seat.keyboard->resource_list,
wl_resource_get_link(kbd));
- wl_resource_set_implementation(kbd, NULL, input,
+ wl_resource_set_implementation(kbd, &_e_keyboard_interface, input,
_e_comp_wl_input_cb_unbind);
/* send the current keymap to the keyboard object */
tch = wl_resource_create(client, &wl_touch_interface,
wl_resource_get_version(resource), id);
wl_list_insert(&input->wl.seat.touch->resource_list, &tch->link);
- wl_resource_set_implementation(tch, NULL, input, _e_comp_wl_input_cb_unbind);
+ wl_resource_set_implementation(tch, &_e_touch_interface, input,
+ _e_comp_wl_input_cb_unbind);
}
/* pointer functions */
wl_resource_destroy(resource);
}
+/* keyboard interface functions */
+static void
+_e_comp_wl_keyboard_cb_release(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
+{
+ wl_resource_destroy(resource);
+}
+
+/* touch interface functions */
+static void
+_e_comp_wl_touch_cb_release(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
+{
+ wl_resource_destroy(resource);
+}
+
/* region interface functions */
static void
_e_comp_wl_region_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)