From 6daa7d8d98fe00456d267e0b9025202487441f73 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Wed, 22 Feb 2012 19:26:10 +0000 Subject: [PATCH] E_Comp (wayland): Update comp module code for recent wayland changes. SVN revision: 68285 --- src/modules/comp/e_mod_comp_wl.h | 2 +- src/modules/comp/e_mod_comp_wl_comp.c | 25 ++++++++++++++----------- src/modules/comp/e_mod_comp_wl_shell.c | 21 ++++++++++++++++++--- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/modules/comp/e_mod_comp_wl.h b/src/modules/comp/e_mod_comp_wl.h index a5beb6928..96c034cb3 100644 --- a/src/modules/comp/e_mod_comp_wl.h +++ b/src/modules/comp/e_mod_comp_wl.h @@ -98,7 +98,7 @@ struct _Wayland_Shell_Surface struct { - struct wl_grab grab; + struct wl_pointer_grab grab; uint32_t timestamp; int32_t x, y; } popup; diff --git a/src/modules/comp/e_mod_comp_wl_comp.c b/src/modules/comp/e_mod_comp_wl_comp.c index 6374adcf6..6cb16492e 100644 --- a/src/modules/comp/e_mod_comp_wl_comp.c +++ b/src/modules/comp/e_mod_comp_wl_comp.c @@ -190,18 +190,18 @@ e_mod_comp_wl_comp_repick(struct wl_input_device *device, uint32_t timestamp) if (!ws) return; if (&ws->surface != device->current) { - const struct wl_grab_interface *interface; + const struct wl_pointer_grab_interface *interface; - interface = device->grab->interface; - interface->focus(device->grab, timestamp, &ws->surface, + interface = device->pointer_grab->interface; + interface->focus(device->pointer_grab, timestamp, &ws->surface, device->current_x, device->current_y); device->current = &ws->surface; } - if ((focus = (Wayland_Surface *)device->grab->focus)) + if ((focus = (Wayland_Surface *)device->pointer_grab->focus)) { - device->grab->x = device->x - focus->x; - device->grab->y = device->y - focus->y; + device->pointer_grab->x = device->x - focus->x; + device->pointer_grab->y = device->y - focus->y; } } @@ -433,7 +433,7 @@ _e_mod_comp_wl_cb_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *e Wayland_Input *input; Ecore_Event_Mouse_Move *ev; struct wl_input_device *device; - const struct wl_grab_interface *interface; + const struct wl_pointer_grab_interface *interface; uint32_t timestamp; // LOGFN(__FILE__, __LINE__, __FUNCTION__); @@ -449,8 +449,9 @@ _e_mod_comp_wl_cb_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *e timestamp = e_mod_comp_wl_time_get(); e_mod_comp_wl_comp_repick(device, timestamp); - interface = device->grab->interface; - interface->motion(device->grab, timestamp, device->grab->x, device->grab->y); + interface = device->pointer_grab->interface; + interface->motion(device->pointer_grab, timestamp, + device->pointer_grab->x, device->pointer_grab->y); return ECORE_CALLBACK_PASS_ON; } @@ -496,7 +497,8 @@ _e_mod_comp_wl_cb_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *e device->button_count++; /* TODO: Run binding ?? */ - device->grab->interface->button(device->grab, timestamp, btn, 1); + device->pointer_grab->interface->button(device->pointer_grab, + timestamp, btn, 1); return ECORE_CALLBACK_PASS_ON; } @@ -535,7 +537,8 @@ _e_mod_comp_wl_cb_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *eve /* TODO: Run binding ?? */ timestamp = e_mod_comp_wl_time_get(); - device->grab->interface->button(device->grab, timestamp, btn, 0); + device->pointer_grab->interface->button(device->pointer_grab, + timestamp, btn, 0); return ECORE_CALLBACK_PASS_ON; } diff --git a/src/modules/comp/e_mod_comp_wl_shell.c b/src/modules/comp/e_mod_comp_wl_shell.c index 2da6b41bf..f770ff8a8 100644 --- a/src/modules/comp/e_mod_comp_wl_shell.c +++ b/src/modules/comp/e_mod_comp_wl_shell.c @@ -23,8 +23,9 @@ static void _e_mod_comp_wl_shell_surface_move(struct wl_client *client __UNUSED_ static void _e_mod_comp_wl_shell_surface_resize(struct wl_client *client __UNUSED__, struct wl_resource *resource, struct wl_resource *input_resource, uint32_t timestamp, uint32_t edges); static void _e_mod_comp_wl_shell_surface_set_toplevel(struct wl_client *client __UNUSED__, struct wl_resource *resource); static void _e_mod_comp_wl_shell_surface_set_transient(struct wl_client *client __UNUSED__, struct wl_resource *resource, struct wl_resource *parent_resource, int32_t x, int32_t y, uint32_t flags __UNUSED__); -static void _e_mod_comp_wl_shell_surface_set_fullscreen(struct wl_client *client __UNUSED__, struct wl_resource *resource); +static void _e_mod_comp_wl_shell_surface_set_fullscreen(struct wl_client *client __UNUSED__, struct wl_resource *resource, uint32_t method __UNUSED__, uint32_t framerate __UNUSED__, struct wl_resource *output_resource __UNUSED__); static void _e_mod_comp_wl_shell_surface_set_popup(struct wl_client *client __UNUSED__, struct wl_resource *resource, struct wl_resource *input_resource __UNUSED__, uint32_t timestamp __UNUSED__, struct wl_resource *parent_resource, int32_t x, int32_t y, uint32_t flags __UNUSED__); +static void _e_mod_comp_wl_shell_surface_set_maximized(struct wl_client *client, struct wl_resource *resource, struct wl_resource *output_resource __UNUSED__); static void _e_mod_comp_wl_shell_surface_destroy_handle(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, uint32_t timestamp); static Wayland_Shell_Surface *_e_mod_comp_wl_shell_get_shell_surface(Wayland_Surface *ws); @@ -42,7 +43,8 @@ static const struct wl_shell_surface_interface _wl_shell_surface_interface = _e_mod_comp_wl_shell_surface_set_toplevel, _e_mod_comp_wl_shell_surface_set_transient, _e_mod_comp_wl_shell_surface_set_fullscreen, - _e_mod_comp_wl_shell_surface_set_popup + _e_mod_comp_wl_shell_surface_set_popup, + _e_mod_comp_wl_shell_surface_set_maximized }; /* private variables */ @@ -336,7 +338,7 @@ _e_mod_comp_wl_shell_surface_set_transient(struct wl_client *client __UNUSED__, } static void -_e_mod_comp_wl_shell_surface_set_fullscreen(struct wl_client *client __UNUSED__, struct wl_resource *resource) +_e_mod_comp_wl_shell_surface_set_fullscreen(struct wl_client *client __UNUSED__, struct wl_resource *resource, uint32_t method __UNUSED__, uint32_t framerate __UNUSED__, struct wl_resource *output_resource __UNUSED__) { Wayland_Shell_Surface *wss; Wayland_Surface *ws; @@ -373,6 +375,19 @@ _e_mod_comp_wl_shell_surface_set_popup(struct wl_client *client __UNUSED__, stru wss->popup.y = y; } +static void +_e_mod_comp_wl_shell_surface_set_maximized(struct wl_client *client __UNUSED__, struct wl_resource *resource, struct wl_resource *output_resource __UNUSED__) +{ + Wayland_Shell_Surface *wss; + Wayland_Surface *ws; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + wss = resource->data; + ws = wss->surface; + /* FIXME: Implement */ +} + static void _e_mod_comp_wl_shell_surface_destroy_handle(struct wl_listener *listener, struct wl_resource *resource __UNUSED__, uint32_t timestamp) {