ivi-shell: reference implementation of input panel for ivi-shell
- introduces ivi-shell/input-panel-ivi.c which is basically copied
from desktop shell. It shall be improvaded to remove duplicate
implementation.
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/ivi-shell/ivi-shell.h b/ivi-shell/ivi-shell.h
index 0b67319..dd353c3 100644
--- a/ivi-shell/ivi-shell.h
+++ b/ivi-shell/ivi-shell.h
@@ -33,4 +33,32 @@
struct wl_list ivi_surface_list; /* struct ivi_shell_surface::link */
struct ivi_layout_interface *ivi_layout;
+
+ struct wl_listener show_input_panel_listener;
+ struct wl_listener hide_input_panel_listener;
+ struct wl_listener update_input_panel_listener;
+
+ struct weston_layer input_panel_layer;
+
+ bool locked;
+ bool showing_input_panels;
+
+ struct {
+ struct weston_surface *surface;
+ pixman_box32_t cursor_rectangle;
+ } text_input;
+
+ struct {
+ struct wl_resource *binding;
+ struct wl_list surfaces;
+ } input_panel;
};
+
+struct weston_view *
+get_default_view(struct weston_surface *surface);
+
+int
+input_panel_setup(struct ivi_shell *shell);
+
+void
+input_panel_destroy(struct ivi_shell *shell);