+ if (layerId == WINDOWMANAGER_LAYER_POPUP)
+ {
+ struct ilmSurfaceProperties surfaceProperties;
+ ilm_getPropertiesOfSurface(surfaceId, &surfaceProperties);
+
+ ilm_surfaceSetDestinationRectangle(surfaceId, 0, 0, surfaceProperties.origSourceWidth, surfaceProperties.origSourceHeight);
+ ilm_surfaceSetSourceRectangle(surfaceId, 0, 0, surfaceProperties.origSourceWidth, surfaceProperties.origSourceHeight);
+ ilm_surfaceSetOpacity(surfaceId, 0.0);
+ ilm_surfaceSetVisibility(surfaceId, ILM_FALSE);
+
+ ilm_layerAddSurface(layerId, surfaceId);
+ }
+
+ ilm_commitChanges();
+}
+
+#endif
+
+void WindowManager::updateScreen()
+{
+ qDebug("-=[updateScreen]=-");
+
+#ifdef __arm__
+ if (-1 != m_currentLayout)
+ {
+
+ // hide all surfaces
+ for (int i = 0; i < m_surfaces.size(); ++i)
+ {
+ ilm_surfaceSetVisibility(m_surfaces.at(i), ILM_FALSE);
+ ilm_surfaceSetOpacity(m_surfaces.at(i), 0.0);
+ }
+
+ // find the current used layout
+ QList<Layout>::const_iterator ci = m_layouts.begin();
+
+ Layout currentLayout;
+ while (ci != m_layouts.constEnd())
+ {
+ if (ci->id == m_currentLayout)
+ {
+ currentLayout = *ci;
+ }
+
+ ++ci;
+ }
+
+ qDebug("show %d apps", mp_layoutAreaToSurfaceIdAssignment->size());
+ for (int j = 0; j < mp_layoutAreaToSurfaceIdAssignment->size(); ++j)
+ {
+ int surfaceToShow = mp_layoutAreaToSurfaceIdAssignment->find(j).value();
+ qDebug(" surface no. %d: %d", j, surfaceToShow);
+
+ ilm_surfaceSetVisibility(surfaceToShow, ILM_TRUE);
+ ilm_surfaceSetOpacity(surfaceToShow, 1.0);
+
+ qDebug(" layout area %d", j);
+ qDebug(" x: %d", currentLayout.layoutAreas[j].x);
+ qDebug(" y: %d", currentLayout.layoutAreas[j].y);
+ qDebug(" w: %d", currentLayout.layoutAreas[j].width);
+ qDebug(" h: %d", currentLayout.layoutAreas[j].height);
+
+ ilm_surfaceSetDestinationRectangle(surfaceToShow,
+ currentLayout.layoutAreas[j].x,
+ currentLayout.layoutAreas[j].y,
+ currentLayout.layoutAreas[j].width,
+ currentLayout.layoutAreas[j].height);
+ }
+
+ ilm_commitChanges();
+ }