pepper_list_t resources;
keyrouter_t *keyrouter;
+
+ pepper_view_t *focus_view;
+ pepper_view_t *top_view;
};
struct resources_data {
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,
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);