From: Sung-Jin Park Date: Mon, 22 Apr 2019 10:40:36 +0000 (+0900) Subject: keyrouter: add APIs for setting focus/top view X-Git-Tag: submit/tizen/20190530.092249~68 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2936f4a5fd7bef321fa7e20676701425fdf70e60;p=platform%2Fcore%2Fuifw%2Fpepper.git keyrouter: add APIs for setting focus/top view Change-Id: I06ed6b0f028fc1bf48d4c510d785f61911d5ace8 Signed-off-by: Sung-Jin Park --- diff --git a/src/lib/keyrouter/pepper-keyrouter.c b/src/lib/keyrouter/pepper-keyrouter.c index 62bb8ae..664f575 100644 --- a/src/lib/keyrouter/pepper-keyrouter.c +++ b/src/lib/keyrouter/pepper-keyrouter.c @@ -41,6 +41,9 @@ struct pepper_keyrouter { pepper_list_t resources; keyrouter_t *keyrouter; + + pepper_view_t *focus_view; + pepper_view_t *top_view; }; struct resources_data { @@ -73,6 +76,27 @@ pepper_keyrouter_set_keyboard(pepper_keyrouter_t * pepper_keyrouter, pepper_keyb pepper_keyrouter->keyboard = keyboard; } +PEPPER_API void +pepper_keyrouter_set_focus_view(pepper_keyrouter_t *pk, pepper_view_t *focus_view) +{ + PEPPER_CHECK(pk, return, "pepper keyrouter is invalid.\n"); + PEPPER_CHECK(pk->keyboard, return, "No keyboard is available for pepper keyrouter.\n"); + PEPPER_CHECK(focus_view, return, "Given focus_view is invalid.\n"); + + pk->focus_view = focus_view; + PEPPER_TRACE("[%s] focus_view has been set. (focus=0x%p)\n", __FUNCTION__, focus_view); +} + +PEPPER_API void +pepper_keyrouter_set_top_view(pepper_keyrouter_t *pk, pepper_view_t *top_view) +{ + PEPPER_CHECK(pk, return, "pepper keyrouter is invalid.\n"); + PEPPER_CHECK(top_view, return, "Given top_view is invalid.\n"); + + pk->top_view = top_view; + PEPPER_TRACE("[%s] top_view has been set. (top=0x%p)\n", __FUNCTION__, top_view); +} + static void _pepper_keyrouter_key_send(pepper_keyrouter_t *pepper_keyrouter, pepper_seat_t *seat, struct wl_client *client, diff --git a/src/lib/keyrouter/pepper-keyrouter.h b/src/lib/keyrouter/pepper-keyrouter.h index 83ec15a..b037713 100644 --- a/src/lib/keyrouter/pepper-keyrouter.h +++ b/src/lib/keyrouter/pepper-keyrouter.h @@ -30,5 +30,7 @@ PEPPER_API void pepper_keyrouter_destroy(pepper_keyrouter_t *pepper_keyrouter); PEPPER_API void pepper_keyrouter_set_seat(pepper_keyrouter_t *pepper_keyrouter, pepper_seat_t *seat); PEPPER_API void pepper_keyrouter_set_keyboard(pepper_keyrouter_t * pepper_keyrouter, pepper_keyboard_t *keyboard); +PEPPER_API void pepper_keyrouter_set_focus_view(pepper_keyrouter_t *pepper_keyrouter, pepper_view_t *focus_view); +PEPPER_API void pepper_keyrouter_set_top_view(pepper_keyrouter_t *pepper_keyrouter, pepper_view_t *top_view); PEPPER_API void pepper_keyrouter_key_process(pepper_keyrouter_t *pepper_keyrouter, unsigned int key, unsigned int state, unsigned int time); PEPPER_API void pepper_keyrouter_event_handler(pepper_event_listener_t *listener, pepper_object_t *object, uint32_t id, void *info, void *data);