From a883c25ab51609a7b17a0d5707fef7f431af163a Mon Sep 17 00:00:00 2001 From: "Bocklage, Jens" Date: Thu, 3 Nov 2016 20:31:47 +0100 Subject: [PATCH] Now providing shared c++ library to be independent from QDBus. 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 --- recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb | 43 --------------- recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb | 71 +++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 43 deletions(-) delete mode 100644 recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb create mode 100644 recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb 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 index d2c319a66..000000000 --- a/recipes-demo-hmi/HomeScreen/HomeScreen_0.3.3.bb +++ /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 index 000000000..4a598ccf8 --- /dev/null +++ b/recipes-demo-hmi/HomeScreen/HomeScreen_0.4.0.bb @@ -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" + -- 2.16.6