[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