clients: a reference implementation of UI client how to use ivi-hmi-controller.

- introduces ivi-shell-user-interface.c

This is launched from hmi-controller by launch_hmi_client_process and
invoke a
client process.

The basic flow is as followed,
1/ process invoked
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ all parts of UI are ready. request "UI_ready" to draw UI.
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked
according
   to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
     ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a
request,
     ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a
request,
     ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
     ivi_hmi_controller_workspace_control is sent to slide workspace.
     When control finished, event:
ivi_hmi_controller_workspace_end_control
     is received.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
dev
Nobuhiko Tanibata 10 years ago committed by Pekka Paalanen
parent 4f6853b271
commit 923bc14097
  1. 1
      .gitignore
  2. 23
      Makefile.am
  3. 1310
      clients/ivi-shell-user-interface.c

1
.gitignore vendored

@ -61,6 +61,7 @@ weston-view
weston-keyboard weston-keyboard
libtoytoolkit.a libtoytoolkit.a
weston-desktop-shell weston-desktop-shell
weston-ivi-shell-user-interface
weston-info weston-info
weston-screensaver weston-screensaver
weston-screenshooter weston-screenshooter

@ -353,6 +353,11 @@ libexec_PROGRAMS += \
weston-keyboard \ weston-keyboard \
weston-simple-im weston-simple-im
if ENABLE_IVI_SHELL
libexec_PROGRAMS += \
weston-ivi-shell-user-interface
endif
demo_clients = \ demo_clients = \
weston-flower \ weston-flower \
weston-image \ weston-image \
@ -592,6 +597,17 @@ nodist_weston_desktop_shell_SOURCES = \
weston_desktop_shell_LDADD = libtoytoolkit.la weston_desktop_shell_LDADD = libtoytoolkit.la
weston_desktop_shell_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) weston_desktop_shell_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
if ENABLE_IVI_SHELL
weston_ivi_shell_user_interface_SOURCES = clients/ivi-shell-user-interface.c
nodist_weston_ivi_shell_user_interface_SOURCES = \
protocol/ivi-hmi-controller-client-protocol.h \
protocol/ivi-hmi-controller-protocol.c \
protocol/ivi-application-client-protocol.h \
protocol/ivi-application-protocol.c
weston_ivi_shell_user_interface_LDADD = libtoytoolkit.la
weston_ivi_shell_user_interface_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
endif
if BUILD_FULL_GL_CLIENTS if BUILD_FULL_GL_CLIENTS
demo_clients += weston-gears demo_clients += weston-gears
weston_gears_SOURCES = clients/gears.c weston_gears_SOURCES = clients/gears.c
@ -638,8 +654,11 @@ BUILT_SOURCES += \
protocol/fullscreen-shell-protocol.c \ protocol/fullscreen-shell-protocol.c \
protocol/fullscreen-shell-client-protocol.h \ protocol/fullscreen-shell-client-protocol.h \
protocol/xdg-shell-protocol.c \ protocol/xdg-shell-protocol.c \
protocol/xdg-shell-client-protocol.h protocol/xdg-shell-client-protocol.h \
protocol/ivi-hmi-controller-protocol.c \
protocol/ivi-hmi-controller-client-protocol.h \
protocol/ivi-application-protocol.c \
protocol/ivi-application-client-protocol.h
westondatadir = $(datadir)/weston westondatadir = $(datadir)/weston
dist_westondata_DATA = \ dist_westondata_DATA = \

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save