pointer->default_grab.interface = &default_pointer_grab_interface;
pointer->default_grab.pointer = pointer;
pointer->grab = &pointer->default_grab;
+ wl_signal_init(&pointer->focus_signal);
/* FIXME: Pick better co-ords. */
pointer->x = wl_fixed_from_int(100);
keyboard->default_grab.interface = &default_keyboard_grab_interface;
keyboard->default_grab.keyboard = keyboard;
keyboard->grab = &keyboard->default_grab;
+ wl_signal_init(&keyboard->focus_signal);
}
WL_EXPORT void
pointer->focus_resource = resource;
pointer->focus = surface;
pointer->default_grab.focus = surface;
+ wl_signal_emit(&pointer->focus_signal, pointer);
}
WL_EXPORT void
keyboard->focus_resource = resource;
keyboard->focus = surface;
+ wl_signal_emit(&keyboard->focus_signal, keyboard);
}
WL_EXPORT void
struct wl_resource *focus_resource;
struct wl_listener focus_listener;
uint32_t focus_serial;
+ struct wl_signal focus_signal;
struct wl_pointer_grab *grab;
struct wl_pointer_grab default_grab;
struct wl_resource *focus_resource;
struct wl_listener focus_listener;
uint32_t focus_serial;
+ struct wl_signal focus_signal;
struct wl_keyboard_grab *grab;
struct wl_keyboard_grab default_grab;