[PATCH weston 4/8] shell: Update bindings to conform to pointer axis protocol
Jonas Ådahl
jadahl at gmail.com
Thu Sep 27 09:40:42 PDT 2012
Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
---
src/shell.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/shell.c b/src/shell.c
index 06d8684..ceea607 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1860,9 +1860,10 @@ shell_map_popup(struct shell_surface *shsurf)
}
wl_list_insert(es->geometry.transformation_list.prev,
&shsurf->popup.parent_transform.link);
- weston_surface_set_position(es, shsurf->popup.x, shsurf->popup.y);
shsurf->popup.initial_up = 0;
+ weston_surface_set_position(es, shsurf->popup.x, shsurf->popup.y);
+ weston_surface_update_transform(es);
/* We don't require the grab to still be active, but if another
* grab has started in the meantime, we end the popup now. */
@@ -2361,7 +2362,7 @@ static void
surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
wl_fixed_t value, void *data)
{
- float step = 0.05;
+ float step = 0.005;
struct shell_surface *shsurf;
struct weston_surface *surface =
(struct weston_surface *) seat->pointer->focus;
@@ -2373,7 +2374,7 @@ surface_opacity_binding(struct wl_seat *seat, uint32_t time, uint32_t axis,
if (!shsurf)
return;
- surface->alpha += wl_fixed_to_double(value) * step;
+ surface->alpha -= wl_fixed_to_double(value) * step;
if (surface->alpha > 1.0)
surface->alpha = 1.0;
@@ -2403,8 +2404,9 @@ do_zoom(struct wl_seat *seat, uint32_t time, uint32_t key, uint32_t axis,
else if (key == KEY_PAGEDOWN)
increment = -output->zoom.increment;
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
+ /* For every pixel zoom 20th of a step */
increment = output->zoom.increment *
- wl_fixed_to_double(value);
+ -wl_fixed_to_double(value) / 20.0;
else
increment = 0;
--
1.7.9.5
More information about the wayland-devel
mailing list