typedef void (*weston_axis_binding_handler_t)(struct wl_seat *seat,
uint32_t time, uint32_t axis,
- int32_t value, void *data);
+ wl_fixed_t value, void *data);
struct weston_binding *
weston_compositor_add_axis_binding(struct weston_compositor *compositor,
uint32_t axis,
static void
surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
- int32_t value, void *data)
+ wl_fixed_t value, void *data)
{
float step = 0.05;
struct shell_surface *shsurf;
break;
}
- surface->alpha += value * step;
+ surface->alpha += wl_fixed_to_double(value) * step;
if (surface->alpha > 1.0)
surface->alpha = 1.0;
static void
do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
- int32_t value)
+ wl_fixed_t value)
{
struct weston_seat *ws = (struct weston_seat *) seat;
struct weston_compositor *compositor = ws->compositor;
else if (key == KEY_PAGEDOWN)
increment = -output->zoom.increment;
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
- increment = output->zoom.increment * value;
+ increment = output->zoom.increment *
+ wl_fixed_to_double(value);
else
increment = 0;
static void
zoom_axis_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
- int32_t value, void *data)
+ wl_fixed_t value, void *data)
{
do_zoom(seat, time, 0, axis, value);
}
weston_compositor_run_axis_binding(struct weston_compositor *compositor,
struct weston_seat *seat,
uint32_t time, uint32_t axis,
- int32_t value)
+ wl_fixed_t value)
{
struct weston_binding *b;