From 36a45e697a96dc1791b90bef97e0dd101f73cb7e Mon Sep 17 00:00:00 2001 From: Jaehoon Jeong Date: Fri, 21 Aug 2015 12:58:00 +0900 Subject: [PATCH] pepper: Add pointer functions and feed some events - Add pepper_pointer_get/set_position() - Feed PEPPER_EVENT_COMPOSITOR_SEAT_ADD/PEPPER_EVENT_POINTER_MOTION Change-Id: I492a91d4c7ec743290176b2df69183f4ead0f057 --- src/lib/pepper/input.c | 25 ++++++++++++++++++++++++- src/lib/pepper/pepper.h | 7 ++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/lib/pepper/input.c b/src/lib/pepper/input.c index 323d827..280e97c 100644 --- a/src/lib/pepper/input.c +++ b/src/lib/pepper/input.c @@ -177,6 +177,10 @@ pepper_compositor_add_seat(pepper_compositor_t *compositor, seat->global = wl_global_create(compositor->display, &wl_seat_interface, 4, seat, bind_seat); pepper_list_init(&seat->input_device_list); + pepper_object_emit_event(&seat->compositor->base, + PEPPER_EVENT_COMPOSITOR_SEAT_ADD, + seat); + return seat; } @@ -213,6 +217,18 @@ pepper_seat_get_name(pepper_seat_t *seat) return seat->name; } +PEPPER_API void +pepper_pointer_set_position(pepper_pointer_t *pointer, int32_t x, int32_t y) +{ + /* TODO */ +} + +PEPPER_API void +pepper_pointer_get_position(pepper_pointer_t *pointer, int32_t *x, int32_t *y) +{ + /* TODO */ +} + static void seat_update_pointer_cap(pepper_seat_t *seat) { @@ -309,7 +325,14 @@ seat_handle_device_event(pepper_event_listener_t *listener, pepper_object_t *obj /* TODO: */ break; case PEPPER_EVENT_INPUT_DEVICE_POINTER_MOTION_ABSOLUTE: - /* TODO: */ + { + pepper_pointer_t *pointer = pepper_seat_get_pointer(entry->seat); + + pepper_object_emit_event(&pointer->base, + PEPPER_EVENT_POINTER_MOTION, + info); + + } break; case PEPPER_EVENT_INPUT_DEVICE_POINTER_BUTTON: /* TODO: */ diff --git a/src/lib/pepper/pepper.h b/src/lib/pepper/pepper.h index 27fa76e..8ab16b0 100644 --- a/src/lib/pepper/pepper.h +++ b/src/lib/pepper/pepper.h @@ -311,10 +311,15 @@ pepper_seat_add_input_device(pepper_seat_t *seat, pepper_input_device_t *device) PEPPER_API void pepper_seat_remove_input_device(pepper_seat_t *seat, pepper_input_device_t *device); +PEPPER_API void +pepper_pointer_set_position(pepper_pointer_t *pointer, int32_t x, int32_t y); + +PEPPER_API void +pepper_pointer_get_position(pepper_pointer_t *pointer, int32_t *x, int32_t *y); + PEPPER_API const char * pepper_input_device_get_property(pepper_input_device_t *device, const char *key); - /* Surface. */ PEPPER_API const char * pepper_surface_get_role(pepper_surface_t *surface); -- 2.7.4