Now providing shared c++ library to be independent from QDBus. 97/6997/1
authorBocklage, Jens <Jens_Bocklage@mentor.com>
Thu, 3 Nov 2016 19:31:47 +0000 (20:31 +0100)
committerBocklage, Jens <Jens_Bocklage@mentor.com>
Thu, 3 Nov 2016 19:31:47 +0000 (20:31 +0100)
New concept of handling layer in WindowManager.
- Three layer are created statically. One for the HomeScreen app (in the backround), one for applications and one for popups.
- Apps can position their surfaces free in the assigned layout render areas. By default, one render area is assinged to one surface.
Compatible with Qt 5.7
- The HomeScreen MUST create its surface with the id 1000!
- This can be archieved this way:
QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" ./HomeScreen &
- see https://codereview.qt-project.org/#/c/121297/ for more details

Since the WindowManager uses the IVI-shell, the file /etc/xdg/weston/weston.ini has to be changed:
--------
[core]
shell=ivi-shell.so

[ivi-shell]
ivi-module=ivi-controller.so
ivi-shell-user-interface=/usr/lib/weston/weston-ivi-shell-user-interface

[output]
name=HDMI-A-1
transform=270
--------

The sequence that is used right now to get you started with WindowManager and HomeScreen:

killall weston
export XDG_RUNTIME_DIR=/tmp
openvt -s weston
chown aglglobalapp:aglglobalapp /tmp/wayland-0
su aglglobalapp

export `dbus-launch`
cd /opt/AGL/HomeScreen

./WindowManager &
QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" ./HomeScreen &

Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb [deleted file]
recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb [new file with mode: 0644]

diff --git a/recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb b/recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb
deleted file mode 100644 (file)
index d2c319a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY     = "AGL Home Screen Application"
-DESCRIPTION = "AGL Home Screen Application + SampleAppTimeDate + HomeScreenAppFrameworkBinderTizen + WindowManager + InputEventManager"
-HOMEPAGE    = "https://wiki.automotivelinux.org/homescreen"
-LICENSE     = "Apache-2.0"
-SECTION     = "apps"
-PV          = "0.3.3+gitr${SRCPV}"
-PR          = "r1"
-S           = "${WORKDIR}/git/"
-
-inherit qmake5
-DEPENDS = " qtbase "
-
-# for HomeScreenAppFrameworkBinderTizen:
-DEPENDS += " pkgmgr-info aul "
-# for WindowManager:
-DEPENDS += " wayland-ivi-extension "
-
-LIC_FILES_CHKSUM = "file://HomeScreen/LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
-SRCREV  = "824bfd42b0105b0aeffbc33a87285578abda2f3b"
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/p/staging/HomeScreen.git;protocol=http"
-
-
-do_compile_prepend(){
-    PATH=$PATH:${STAGING_BINDIR_NATIVE}/qt5
-    export PATH
-}
-
-do_install() {
-    install -d ${D}/usr/AGL/${PN}
-    install -m 0755 ${B}/HomeScreen/HomeScreen ${D}/usr/AGL/${PN}/
-    install -m 0755 ${B}/SampleAppTimeDate/SampleAppTimeDate ${D}/usr/AGL/${PN}/
-    install -m 0755 ${B}/HomeScreenAppFrameworkBinderTizen/HomeScreenAppFrameworkBinderTizen ${D}/usr/AGL/${PN}/
-    install -m 0755 ${B}/WindowManager/WindowManager ${D}/usr/AGL/${PN}/
-    install -m 0755 ${B}/InputEventManager/InputEventManager ${D}/usr/AGL/${PN}/
-
-
-    install -d ${D}/usr/AGL/${PN}/colorschemes
-    cp -r ${B}/HomeScreen/colorschemes/* ${D}/usr/AGL/${PN}/colorschemes/
-}
-
-FILES_${PN} += "/usr/AGL/${PN}/"
-FILES_${PN}-dbg += "/usr/AGL/${PN}/.debug"
-
diff --git a/recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb b/recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb
new file mode 100644 (file)
index 0000000..4a598cc
--- /dev/null
@@ -0,0 +1,71 @@
+SUMMARY     = "AGL Home Screen Application"
+DESCRIPTION = "AGL Home Screen Application + SampleAppTimeDate + HomeScreenAppFrameworkBinderTizen + WindowManager + InputEventManager"
+HOMEPAGE    = "https://wiki.automotivelinux.org/homescreen"
+LICENSE     = "Apache-2.0"
+SECTION     = "apps"
+PV          = "0.4.0+gitr${SRCPV}"
+PR          = "r1"
+S           = "${WORKDIR}/git/"
+
+inherit qmake5
+DEPENDS = " qtbase "
+
+# for HomeScreenAppFrameworkBinderTizen:
+DEPENDS += " pkgmgr-info aul "
+# for WindowManager:
+DEPENDS += " wayland-ivi-extension "
+# for libhomescreen
+DEPENDS += " glib-2.0 "
+
+LIC_FILES_CHKSUM = "file://HomeScreen/LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
+SRCREV  = "ec688535558c31989e7da221b858328b2e0766c8"
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/p/staging/HomeScreen.git;protocol=http"
+
+
+do_compile_prepend(){
+    PATH=$PATH:${STAGING_BINDIR_NATIVE}/qt5
+    export PATH
+}
+
+do_install() {
+    install -d ${D}/opt/AGL/${PN}
+    install -m 0755 ${B}/HomeScreen/HomeScreen ${D}/opt/AGL/${PN}/
+    install -d ${D}/opt/AGL/${PN}/colorschemes
+    cp -r ${B}/HomeScreen/colorschemes/* ${D}/opt/AGL/${PN}/colorschemes/
+    install -m 0755 ${B}/SampleAppTimeDate/SampleAppTimeDate ${D}/opt/AGL/${PN}/
+    install -m 0755 ${B}/SampleHomeScreenInterfaceApp/SampleHomeScreenInterfaceApp ${D}/opt/AGL/${PN}/
+    install -m 0755 ${B}/HomeScreenAppFrameworkBinderTizen/HomeScreenAppFrameworkBinderTizen ${D}/opt/AGL/${PN}/
+    install -m 0755 ${B}/WindowManager/WindowManager ${D}/opt/AGL/${PN}/
+    install -m 0755 ${B}/InputEventManager/InputEventManager ${D}/opt/AGL/${PN}/
+    
+    install -d ${D}/usr/lib
+    install -m 0644 ${B}/libhomescreen/libhomescreen.so.1.0.0 ${D}/usr/lib/
+    ln -sf /usr/lib/libhomescreen.so.1.0.0 ${D}/usr/lib/libhomescreen.so
+    ln -sf /usr/lib/libhomescreen.so.1.0.0 ${D}/usr/lib/libhomescreen.so.1
+    ln -sf /usr/lib/libhomescreen.so.1.0.0 ${D}/usr/lib/libhomescreen.so.1.0
+}
+
+
+FILES_${PN} += "/opt/AGL/${PN}/ /opt/AGL/${PN}/colorschemes /usr/lib/"
+FILES_${PN}-dbg += "/opt/AGL/${PN}/.debug"
+
+#############################################
+# this has to be set up later...
+#############################################
+#PACKAGES =+ "libhomescreen libhomescreen-dev libhomescreen-dbg"
+#
+#FILES_libhomescreen = "\
+#      ${libdir}/libhomescreen.so.* \
+#"
+#FILES_libhomescreen-dev = "\
+#      ${includedir}/libhomescreen.hpp \
+#      ${libdir}/libhomescreen.so \
+#      ${libdir}/pkgconfig/libhomescreen.pc \
+#"
+#FILES_libhomescreen-dbg = "\
+#      ${libdir}/.debug/libhomescreen.so.* \
+#"
+#RDEPENDS_libhomescreen-dbg += "${PN}-dbg libhomescreen-dev"
+#
+#RDEPENDS_${PN}-dev += "libhomescreen-dev"
+