From 75a4e94d7610db25c98f05cdda9491f4e7c0a4db Mon Sep 17 00:00:00 2001 From: "Bocklage, Jens" Date: Fri, 25 Nov 2016 15:58:23 +0100 Subject: [PATCH] Arrange the surface z-order in the layer Using ilm_layerSetRenderOrder to set the order of the surfaces inside the layer. This is neccessary to show the surfaces on the screen. Resolves: #SPEC-333 Signed-off-by: Bocklage, Jens --- WindowManager/src/windowmanager.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/WindowManager/src/windowmanager.cpp b/WindowManager/src/windowmanager.cpp index a03bab6..0871eb7 100644 --- a/WindowManager/src/windowmanager.cpp +++ b/WindowManager/src/windowmanager.cpp @@ -275,14 +275,26 @@ void WindowManager::updateScreen() ilm_commitChanges(); } + // display layer render order t_ilm_layer renderOrder[WINDOWMANAGER_LAYER_NUM]; renderOrder[0] = WINDOWMANAGER_LAYER_HOMESCREEN; renderOrder[1] = WINDOWMANAGER_LAYER_APPLICATIONS; renderOrder[2] = WINDOWMANAGER_LAYER_HOMESCREEN_OVERLAY; renderOrder[3] = WINDOWMANAGER_LAYER_POPUP; - ilm_displaySetRenderOrder(0, renderOrder, WINDOWMANAGER_LAYER_NUM); + // layer surface render order + t_ilm_int length; + t_ilm_surface* pArray; + ilm_getSurfaceIDsOnLayer(WINDOWMANAGER_LAYER_HOMESCREEN, &length, &pArray); + ilm_layerSetRenderOrder(WINDOWMANAGER_LAYER_HOMESCREEN, pArray, length); + ilm_getSurfaceIDsOnLayer(WINDOWMANAGER_LAYER_APPLICATIONS, &length, &pArray); + ilm_layerSetRenderOrder(WINDOWMANAGER_LAYER_APPLICATIONS, pArray, length); + ilm_getSurfaceIDsOnLayer(WINDOWMANAGER_LAYER_HOMESCREEN_OVERLAY, &length, &pArray); + ilm_layerSetRenderOrder(WINDOWMANAGER_LAYER_HOMESCREEN_OVERLAY, pArray, length); + ilm_getSurfaceIDsOnLayer(WINDOWMANAGER_LAYER_POPUP, &length, &pArray); + ilm_layerSetRenderOrder(WINDOWMANAGER_LAYER_POPUP, pArray, length); + ilm_commitChanges(); #endif -- 2.16.6