[PATCH weston-ivi-shell v5 4/9] protocol: ivi hmi controller protocol to set up IVI style UI

Nobuhiko Tanibata NOBUHIKO_TANIBATA at xddp.denso.co.jp
Mon May 19 21:29:40 PDT 2014


This protocol realizes following features,
- UI ready
- changing modes; tiling, side by side, full_screen, and random
- Give control a surface; workspace to be controlled by using ivi layout APIs
- Display/undisplay a surface; home contains sevaral workspaces to launch
  application

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA at xddp.denso.co.jp>
---

Changes for v2:
 - squash Makefile to this patch

Changes for v3 and v4
  - nothing. Version number aligned to the first patch

Changes for v5:
 - rebase weston v1.5 branch
 - apply review comments from mailing list

 protocol/Makefile.am            |  3 +-
 protocol/ivi-hmi-controller.xml | 96 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+), 1 deletion(-)
 create mode 100644 protocol/ivi-hmi-controller.xml

diff --git a/protocol/Makefile.am b/protocol/Makefile.am
index 9913f16..140aef5 100644
--- a/protocol/Makefile.am
+++ b/protocol/Makefile.am
@@ -9,7 +9,8 @@ protocol_sources =				\
 	wayland-test.xml			\
 	xdg-shell.xml				\
 	scaler.xml                              \
-	ivi-application.xml
+	ivi-application.xml			\
+	ivi-hmi-controller.xml
 
 if HAVE_XMLLINT
 .PHONY: validate
diff --git a/protocol/ivi-hmi-controller.xml b/protocol/ivi-hmi-controller.xml
new file mode 100644
index 0000000..fd5ce2b
--- /dev/null
+++ b/protocol/ivi-hmi-controller.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="ivi_hmi_controller">
+
+    <copyright>
+    Copyright (C) 2013 DENSO CORPORATION
+
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+    THE SOFTWARE.
+    </copyright>
+
+    <interface name="ivi_hmi_controller" version="1">
+        <description summary="set up and control IVI style UI"/>
+
+        <request name="UI_ready">
+            <description summary="inform the ready for drawing desktop." />
+        </request>
+
+        <request name="workspace_control">
+            <description summary="start controlling a surface by server">
+                Reference protocol to control a surface by server.
+                To control a surface by server, it gives seat to the server
+		to e.g. control Home screen. Home screen has several workspaces
+		to group launchers of wayland application. These workspaces
+		are drawn on a horizontally long surface to be controlled
+		by motion of input device. E.g. A motion from right to left
+		happens, the viewport of surface is controlled in the ivi-shell
+		by using ivi-layout. client can recognizes the end of controlling
+		by event "workspace_end_control".
+            </description>
+            <arg name="seat" type="object" interface="wl_seat"/>
+            <arg name="serial" type="uint"/>
+        </request>
+
+        <enum name="layout_mode">
+            <entry name="tiling" value="0"/>
+            <entry name="side_by_side" value="1"/>
+            <entry name="full_screen" value="2"/>
+            <entry name="random" value="3" />
+        </enum>
+
+        <request name="switch_mode">
+            <description summary="request mode switch of application layout">
+		hmi-controller loaded to ivi-shall implements 4 types of layout
+		as a reference; tiling, side by side, full_screen, and random.
+	    </description>
+            <arg name="layout_mode" type="uint"/>
+        </request>
+
+        <enum name="home">
+            <entry name="off" value="0"/>
+            <entry name="on" value="1"/>
+        </enum>
+
+        <request name="home">
+            <description summary="request displaying/undisplaying home screen">
+		home screen is a reference implementation of launcher to launch
+		wayland applications. The home screen has several workspaces to
+		group wayland applications. By defining the following keys in
+		weston.ini, user can add launcher icon to launch a wayland application
+		to a workspace.
+		[ivi-launcher]
+		workspace-id=0
+			: id of workspace to add a launcher
+		icon-id=4001
+			: ivi id of ivi_surface to draw a icon
+		icon=/home/user/review/build-ivi-shell/data/icon_ivi_flower.png
+			: path to icon image
+		path=/home/user/review/build-ivi-shell/weston-dnd
+			: path to wayland application
+	    </description>
+            <arg name="home" type="uint"/>
+        </request>
+
+        <event name="workspace_end_control">
+            <description summary="notify controlling workspace end"/>
+            <arg name="is_controlled" type="int"/>
+        </event>
+
+    </interface>
+
+</protocol>
-- 
1.8.3.1



More information about the wayland-devel mailing list