weston_device_repick(struct wl_input_device *device, uint32_t time)
{
struct weston_input_device *wd = (struct weston_input_device *) device;
- const struct wl_grab_interface *interface;
+ const struct wl_pointer_grab_interface *interface;
struct weston_surface *surface, *focus;
surface = weston_compositor_pick_surface(wd->compositor,
&device->current_y);
if (&surface->surface != device->current) {
- interface = device->grab->interface;
- interface->focus(device->grab, time, &surface->surface,
+ interface = device->pointer_grab->interface;
+ interface->focus(device->pointer_grab, time, &surface->surface,
device->current_x, device->current_y);
device->current = &surface->surface;
}
- focus = (struct weston_surface *) device->grab->focus;
+ focus = (struct weston_surface *) device->pointer_grab->focus;
if (focus)
weston_surface_from_global(focus, device->x, device->y,
- &device->grab->x, &device->grab->y);
+ &device->pointer_grab->x, &device->pointer_grab->y);
}
WL_EXPORT void
notify_motion(struct wl_input_device *device, uint32_t time, int x, int y)
{
struct weston_output *output;
- const struct wl_grab_interface *interface;
+ const struct wl_pointer_grab_interface *interface;
struct weston_input_device *wd = (struct weston_input_device *) device;
struct weston_compositor *ec = wd->compositor;
int x_valid = 0, y_valid = 0;
device->y = y;
weston_device_repick(device, time);
- interface = device->grab->interface;
- interface->motion(device->grab, time,
- device->grab->x, device->grab->y);
+ interface = device->pointer_grab->interface;
+ interface->motion(device->pointer_grab, time,
+ device->pointer_grab->x, device->pointer_grab->y);
if (wd->sprite) {
weston_surface_set_position(wd->sprite,
weston_compositor_run_binding(compositor, wd, time, 0, button, state);
- device->grab->interface->button(device->grab, time, button, state);
+ device->pointer_grab->interface->button(device->pointer_grab, time, button, state);
}
} rotation;
struct {
- struct wl_grab grab;
+ struct wl_pointer_grab grab;
uint32_t time;
int32_t x, y;
struct weston_transform parent_transform;
};
struct weston_move_grab {
- struct wl_grab grab;
+ struct wl_pointer_grab grab;
struct weston_surface *surface;
int32_t dx, dy;
};
struct rotate_grab {
- struct wl_grab grab;
+ struct wl_pointer_grab grab;
struct shell_surface *surface;
struct weston_matrix rotation;
struct {
}
static void
-noop_grab_focus(struct wl_grab *grab, uint32_t time,
+noop_grab_focus(struct wl_pointer_grab *grab, uint32_t time,
struct wl_surface *surface, int32_t x, int32_t y)
{
grab->focus = NULL;
}
static void
-move_grab_motion(struct wl_grab *grab,
+move_grab_motion(struct wl_pointer_grab *grab,
uint32_t time, int32_t x, int32_t y)
{
struct weston_move_grab *move = (struct weston_move_grab *) grab;
}
static void
-move_grab_button(struct wl_grab *grab,
+move_grab_button(struct wl_pointer_grab *grab,
uint32_t time, int32_t button, int32_t state)
{
struct wl_input_device *device = grab->input_device;
if (device->button_count == 0 && state == 0) {
- wl_input_device_end_grab(device, time);
+ wl_input_device_end_pointer_grab(device, time);
free(grab);
}
}
-static const struct wl_grab_interface move_grab_interface = {
+static const struct wl_pointer_grab_interface move_grab_interface = {
noop_grab_focus,
move_grab_motion,
move_grab_button,
move->dy = es->geometry.y - wd->input_device.grab_y;
move->surface = es;
- wl_input_device_start_grab(&wd->input_device, &move->grab, time);
+ wl_input_device_start_pointer_grab(&wd->input_device, &move->grab, time);
wl_input_device_set_pointer_focus(&wd->input_device, NULL, time, 0, 0);
}
struct weston_resize_grab {
- struct wl_grab grab;
+ struct wl_pointer_grab grab;
uint32_t edges;
int32_t width, height;
struct shell_surface *shsurf;
};
static void
-resize_grab_motion(struct wl_grab *grab,
+resize_grab_motion(struct wl_pointer_grab *grab,
uint32_t time, int32_t x, int32_t y)
{
struct weston_resize_grab *resize = (struct weston_resize_grab *) grab;
}
static void
-resize_grab_button(struct wl_grab *grab,
+resize_grab_button(struct wl_pointer_grab *grab,
uint32_t time, int32_t button, int32_t state)
{
struct wl_input_device *device = grab->input_device;
if (device->button_count == 0 && state == 0) {
- wl_input_device_end_grab(device, time);
+ wl_input_device_end_pointer_grab(device, time);
free(grab);
}
}
-static const struct wl_grab_interface resize_grab_interface = {
+static const struct wl_pointer_grab_interface resize_grab_interface = {
noop_grab_focus,
resize_grab_motion,
resize_grab_button,
resize->height = shsurf->surface->geometry.height;
resize->shsurf = shsurf;
- wl_input_device_start_grab(&wd->input_device, &resize->grab, time);
+ wl_input_device_start_pointer_grab(&wd->input_device, &resize->grab, time);
wl_input_device_set_pointer_focus(&wd->input_device, NULL, time, 0, 0);
}
static void
-popup_grab_focus(struct wl_grab *grab, uint32_t time,
+popup_grab_focus(struct wl_pointer_grab *grab, uint32_t time,
struct wl_surface *surface, int32_t x, int32_t y)
{
struct wl_input_device *device = grab->input_device;
}
static void
-popup_grab_motion(struct wl_grab *grab,
+popup_grab_motion(struct wl_pointer_grab *grab,
uint32_t time, int32_t sx, int32_t sy)
{
struct wl_resource *resource;
}
static void
-popup_grab_button(struct wl_grab *grab,
+popup_grab_button(struct wl_pointer_grab *grab,
uint32_t time, int32_t button, int32_t state)
{
struct wl_resource *resource;
time - shsurf->popup.time > 500)) {
wl_resource_post_event(&shsurf->resource,
WL_SHELL_SURFACE_POPUP_DONE);
- wl_input_device_end_grab(grab->input_device, time);
+ wl_input_device_end_pointer_grab(grab->input_device, time);
shsurf->popup.grab.input_device = NULL;
}
shsurf->popup.initial_up = 1;
}
-static const struct wl_grab_interface popup_grab_interface = {
+static const struct wl_pointer_grab_interface popup_grab_interface = {
popup_grab_focus,
popup_grab_motion,
popup_grab_button,
shsurf->popup.time = device->grab_time;
shsurf->popup.initial_up = 0;
- wl_input_device_start_grab(shsurf->popup.grab.input_device,
+ wl_input_device_start_pointer_grab(shsurf->popup.grab.input_device,
&shsurf->popup.grab, shsurf->popup.time);
}
struct shell_surface *shsurf = resource->data;
if (shsurf->popup.grab.input_device)
- wl_input_device_end_grab(shsurf->popup.grab.input_device, 0);
+ wl_input_device_end_pointer_grab(shsurf->popup.grab.input_device, 0);
/* in case cleaning up a dead client destroys shell_surface first */
if (shsurf->surface)
}
static void
-rotate_grab_motion(struct wl_grab *grab,
+rotate_grab_motion(struct wl_pointer_grab *grab,
uint32_t time, int32_t x, int32_t y)
{
struct rotate_grab *rotate =
}
static void
-rotate_grab_button(struct wl_grab *grab,
+rotate_grab_button(struct wl_pointer_grab *grab,
uint32_t time, int32_t button, int32_t state)
{
struct rotate_grab *rotate =
if (device->button_count == 0 && state == 0) {
weston_matrix_multiply(&surface->rotation.rotation,
&rotate->rotation);
- wl_input_device_end_grab(device, time);
+ wl_input_device_end_pointer_grab(device, time);
free(rotate);
}
}
-static const struct wl_grab_interface rotate_grab_interface = {
+static const struct wl_pointer_grab_interface rotate_grab_interface = {
noop_grab_focus,
rotate_grab_motion,
rotate_grab_button,
surface->surface->geometry.height / 2,
&rotate->center.x, &rotate->center.y);
- wl_input_device_start_grab(device, &rotate->grab, time);
+ wl_input_device_start_pointer_grab(device, &rotate->grab, time);
dx = device->x - rotate->center.x;
dy = device->y - rotate->center.y;
struct weston_surface *focus;
focus = (struct weston_surface *) device->pointer_focus;
- if (state && focus && device->grab == &device->default_grab)
+ if (state && focus && device->pointer_grab == &device->default_pointer_grab)
activate(compositor->shell, focus, wd, time);
}