Use wl_fixed_t for axis bindings
In preparation for axis values being wl_fixed_t in the protocol as well. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
325fc2d53a
commit
0c1e46eb18
@ -1722,7 +1722,7 @@ notify_axis(struct wl_seat *seat, uint32_t time, uint32_t axis,
|
|||||||
|
|
||||||
if (value)
|
if (value)
|
||||||
weston_compositor_run_axis_binding(compositor, ws, time, axis,
|
weston_compositor_run_axis_binding(compositor, ws, time, axis,
|
||||||
wl_fixed_to_int(value));
|
value);
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -549,7 +549,7 @@ weston_compositor_add_button_binding(struct weston_compositor *compositor,
|
|||||||
|
|
||||||
typedef void (*weston_axis_binding_handler_t)(struct wl_seat *seat,
|
typedef void (*weston_axis_binding_handler_t)(struct wl_seat *seat,
|
||||||
uint32_t time, uint32_t axis,
|
uint32_t time, uint32_t axis,
|
||||||
int32_t value, void *data);
|
wl_fixed_t value, void *data);
|
||||||
struct weston_binding *
|
struct weston_binding *
|
||||||
weston_compositor_add_axis_binding(struct weston_compositor *compositor,
|
weston_compositor_add_axis_binding(struct weston_compositor *compositor,
|
||||||
uint32_t axis,
|
uint32_t axis,
|
||||||
|
11
src/shell.c
11
src/shell.c
@ -1617,7 +1617,7 @@ resize_binding(struct wl_seat *seat, uint32_t time, uint32_t button, void *data)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
|
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;
|
float step = 0.05;
|
||||||
struct shell_surface *shsurf;
|
struct shell_surface *shsurf;
|
||||||
@ -1639,7 +1639,7 @@ surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
surface->alpha += value * step;
|
surface->alpha += wl_fixed_to_double(value) * step;
|
||||||
|
|
||||||
if (surface->alpha > 1.0)
|
if (surface->alpha > 1.0)
|
||||||
surface->alpha = 1.0;
|
surface->alpha = 1.0;
|
||||||
@ -1652,7 +1652,7 @@ surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
|
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_seat *ws = (struct weston_seat *) seat;
|
||||||
struct weston_compositor *compositor = ws->compositor;
|
struct weston_compositor *compositor = ws->compositor;
|
||||||
@ -1669,7 +1669,8 @@ do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
|
|||||||
else if (key == KEY_PAGEDOWN)
|
else if (key == KEY_PAGEDOWN)
|
||||||
increment = -output->zoom.increment;
|
increment = -output->zoom.increment;
|
||||||
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
|
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
|
||||||
increment = output->zoom.increment * value;
|
increment = output->zoom.increment *
|
||||||
|
wl_fixed_to_double(value);
|
||||||
else
|
else
|
||||||
increment = 0;
|
increment = 0;
|
||||||
|
|
||||||
@ -1696,7 +1697,7 @@ do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
zoom_axis_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
|
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);
|
do_zoom(seat, time, 0, axis, value);
|
||||||
}
|
}
|
||||||
|
@ -405,7 +405,7 @@ WL_EXPORT void
|
|||||||
weston_compositor_run_axis_binding(struct weston_compositor *compositor,
|
weston_compositor_run_axis_binding(struct weston_compositor *compositor,
|
||||||
struct weston_seat *seat,
|
struct weston_seat *seat,
|
||||||
uint32_t time, uint32_t axis,
|
uint32_t time, uint32_t axis,
|
||||||
int32_t value)
|
wl_fixed_t value)
|
||||||
{
|
{
|
||||||
struct weston_binding *b;
|
struct weston_binding *b;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user