X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.cpp;h=38889c79b4202f9b3040b0eaf1c17e49e8cd7970;hb=88c577e3981f71f5d0aa88bcf095734855f66d06;hp=c3080ffe549504ce6c8645c80a97e4ecd5e429d8;hpb=b0632b0a5cd7e31c79c4a81764ebed329114a983;p=staging%2FHomeScreen.git diff --git a/WindowManager/src/windowmanager.cpp b/WindowManager/src/windowmanager.cpp index c3080ff..38889c7 100644 --- a/WindowManager/src/windowmanager.cpp +++ b/WindowManager/src/windowmanager.cpp @@ -40,18 +40,22 @@ void* WindowManager::myThis = 0; -WindowManager::WindowManager(QObject *parent) : +WindowManager::WindowManager(int displayId, QObject *parent) : QObject(parent), m_layouts(), // m_appSurfaces(), mp_layoutAreaToSurfaceIdAssignment(0), m_currentLayout(-1), - m_screenId(0), // use screen "0" + m_screenId(displayId), m_screenWidth(0), - m_screenHeight(0), + m_screenHeight(0) +#ifdef HAVE_IVI_LAYERMANAGEMENT_API + , m_appLayers(), m_pending_to_show(-1) +#endif { +#ifdef HAVE_IVI_LAYERMANAGEMENT_API m_showLayers = new t_ilm_layer[WINDOWMANAGER_LAYER_NUM]; m_showLayers[0] = 0; /* POPUP is not shown by default */ @@ -59,6 +63,7 @@ WindowManager::WindowManager(QObject *parent) : m_showLayers[2] = 0; /* APPLICATIONS is not shown by default */ m_showLayers[3] = WINDOWMANAGER_LAYER_HOMESCREEN; /* HOMESCREEN is shwon by default */ +#endif qDebug("-=[WindowManager]=-"); } @@ -107,6 +112,7 @@ WindowManager::~WindowManager() delete mp_layoutAreaToSurfaceIdAssignment; } +#ifdef HAVE_IVI_LAYERMANAGEMENT_API int WindowManager::getLayerRenderOrder(t_ilm_layer id_array[]) { int i, j; @@ -119,6 +125,7 @@ int WindowManager::getLayerRenderOrder(t_ilm_layer id_array[]) return j; } +#endif void WindowManager::dumpScene() { @@ -347,16 +354,17 @@ void WindowManager::updateScreen() ilm_layerSetRenderOrder(WINDOWMANAGER_LAYER_POPUP, pArray, length); ilm_commitChanges(); #endif +#ifdef HAVE_IVI_LAYERMANAGEMENT_API if (m_pending_to_show != -1) { showAppLayer(m_pending_to_show); } else { // display layer render order t_ilm_layer renderOrder[WINDOWMANAGER_LAYER_NUM]; int num_layers = getLayerRenderOrder(renderOrder); - ilm_displaySetRenderOrder(0, renderOrder, num_layers); - ilm_displaySetRenderOrder(1, renderOrder, num_layers); + ilm_displaySetRenderOrder(m_screenId, renderOrder, num_layers); ilm_commitChanges(); } +#endif } #ifdef HAVE_IVI_LAYERMANAGEMENT_API @@ -449,6 +457,7 @@ void WindowManager::surfaceCallbackFunction_non_static(t_ilm_surface surface, { qDebug("ILM_NOTIFICATION_CONTENT_AVAILABLE"); /* add surface to layer for the application */ + ilmErrorTypes result; pid_t pid = surfaceProperties->creatorPid; @@ -689,8 +698,7 @@ void WindowManager::hideLayer(int layer) t_ilm_layer renderOrder[WINDOWMANAGER_LAYER_NUM]; int num_layers = getLayerRenderOrder(renderOrder); - ilm_displaySetRenderOrder(0, renderOrder, num_layers); - ilm_displaySetRenderOrder(1, renderOrder, num_layers); + ilm_displaySetRenderOrder(m_screenId, renderOrder, num_layers); ilm_commitChanges(); } #endif @@ -768,8 +776,7 @@ void WindowManager::showLayer(int layer) t_ilm_layer renderOrder[WINDOWMANAGER_LAYER_NUM]; int num_layers = getLayerRenderOrder(renderOrder); - ilm_displaySetRenderOrder(0, renderOrder, num_layers); - ilm_displaySetRenderOrder(1, renderOrder, num_layers); + ilm_displaySetRenderOrder(m_screenId, renderOrder, num_layers); ilm_commitChanges(); } #endif @@ -784,11 +791,11 @@ void WindowManager::showAppLayer(int pid) /* nothing to show */ return; } +#ifdef HAVE_IVI_LAYERMANAGEMENT_API /* clear pending flag */ m_pending_to_show = -1; -#ifdef HAVE_IVI_LAYERMANAGEMENT_API /* search layer id for application to show */ QMap::const_iterator i = m_appLayers.find(pid); @@ -806,8 +813,7 @@ void WindowManager::showAppLayer(int pid) t_ilm_layer renderOrder[WINDOWMANAGER_LAYER_NUM]; int num_layers = getLayerRenderOrder(renderOrder); - ilm_displaySetRenderOrder(0, renderOrder, num_layers); - ilm_displaySetRenderOrder(1, renderOrder, num_layers); + ilm_displaySetRenderOrder(m_screenId, renderOrder, num_layers); ilm_commitChanges(); #endif }