X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2FHomeScreen.git;a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.cpp;h=cee7ad75403233aa27e43ed33615c23009699c16;hp=38889c79b4202f9b3040b0eaf1c17e49e8cd7970;hb=5e03176f3e78ed01a4db9d6c9684581d9916ca1d;hpb=88ee6a1eaeaa17ac0168a647e27d04ad2e0098c7 diff --git a/WindowManager/src/windowmanager.cpp b/WindowManager/src/windowmanager.cpp index 38889c7..cee7ad7 100644 --- a/WindowManager/src/windowmanager.cpp +++ b/WindowManager/src/windowmanager.cpp @@ -38,6 +38,14 @@ // the HomeScreen app has to have the surface id 1000 #define WINDOWMANAGER_HOMESCREEN_MAIN_SURFACE_ID 1000 +// Quick hack for scaling layer to fit non-FHD(1920x1080) screen +// * source rect of layer should be 1920x1080 +// * destination rect of layer should fit physical display resolution +// * source rect of surface shoud be based on 1920x1080 +// * destination rect of surface should be based on 1920x1080 +#define WINDOWMANAGER_HOMESCREEN_WIDTH 1080 +#define WINDOWMANAGER_HOMESCREEN_HEIGHT 1920 + void* WindowManager::myThis = 0; WindowManager::WindowManager(int displayId, QObject *parent) : @@ -159,14 +167,16 @@ void WindowManager::createNewLayer(int layerId) qDebug(" layerId %d", layerId); t_ilm_layer newLayerId = layerId; - ilm_layerCreateWithDimension(&newLayerId, m_screenWidth, m_screenHeight); + ilm_layerCreateWithDimension(&newLayerId, + WINDOWMANAGER_HOMESCREEN_WIDTH, + WINDOWMANAGER_HOMESCREEN_HEIGHT); ilm_layerSetOpacity(newLayerId, 1.0); ilm_layerSetVisibility(newLayerId, ILM_TRUE); ilm_layerSetSourceRectangle(newLayerId, 0, 0, - m_screenWidth, - m_screenHeight); + WINDOWMANAGER_HOMESCREEN_WIDTH, + WINDOWMANAGER_HOMESCREEN_HEIGHT); ilm_layerSetDestinationRectangle(newLayerId, 0, 0, @@ -229,7 +239,9 @@ void WindowManager::addSurfaceToLayer(int surfaceId, int layerId) ilm_getPropertiesOfSurface(surfaceId, &surfaceProperties); // homescreen app always fullscreen in the back - ilm_surfaceSetDestinationRectangle(surfaceId, 0, 0, m_screenWidth, m_screenHeight); + ilm_surfaceSetDestinationRectangle(surfaceId, 0, 0, + WINDOWMANAGER_HOMESCREEN_WIDTH, + WINDOWMANAGER_HOMESCREEN_HEIGHT); //ilm_surfaceSetSourceRectangle(surfaceId, 0, 0, m_screenWidth, m_screenHeight); ilm_surfaceSetOpacity(surfaceId, 1.0); ilm_surfaceSetVisibility(surfaceId, ILM_TRUE);