From 9ca0a50d021a8d6e12cfb8f04671ba3dd389f92d Mon Sep 17 00:00:00 2001 From: "Bocklage, Jens" Date: Wed, 2 Nov 2016 16:23:58 +0100 Subject: New layer management in WindowManager. Three layers are created. One for the HomeScreen, one for apps, one for popups. Signed-off-by: Bocklage, Jens --- WindowManager/src/windowmanager.hpp | 53 +++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 28 deletions(-) (limited to 'WindowManager/src/windowmanager.hpp') diff --git a/WindowManager/src/windowmanager.hpp b/WindowManager/src/windowmanager.hpp index ef19f4e..027344b 100644 --- a/WindowManager/src/windowmanager.hpp +++ b/WindowManager/src/windowmanager.hpp @@ -24,12 +24,6 @@ #include "windowmanager_adapter.h" -typedef struct -{ - int pid; - QString processName; -} SurfaceInfo; - #ifdef __arm__ extern "C" { #include "ilm/ilm_control.h" @@ -47,27 +41,22 @@ public: void start(); private: WindowmanagerAdaptor *mp_windowManagerAdaptor; - QMap > m_layouts; - QMap m_layoutNames; - QMap m_layoutFullScreen; - QMap m_layoutFullScreenAssociated; + QList m_layouts; + QList m_surfaces; + QMap *mp_layoutAreaToSurfaceIdAssignment; + int m_currentLayout; - void dumpScene(); int m_homeScreenPid; + int m_homeScreenSurfaceId; + + void dumpScene(); #ifdef __arm__ void createNewLayer(int layerId); void addSurfaceToLayer(int surfaceId, int layerId); - void updateScreen(); - - - QMap *mp_surfaces; - /* one layer per pid is created - where the surfaces are added that are created by the process */ - QList *mp_processLayers; #endif + void updateScreen(); - QMap *mp_layoutAreaToPidAssignment; public: static void* myThis; @@ -96,18 +85,26 @@ public slots: // from windowmanager_adapter.h +public: // PROPERTIES + Q_PROPERTY(int homeScreenPid READ homeScreenPid WRITE setHomeScreenPid) + int homeScreenPid() const; + void setHomeScreenPid(int value); + + Q_PROPERTY(int layoutId READ layoutId) + int layoutId() const; + + Q_PROPERTY(QString layoutName READ layoutName) + QString layoutName() const; + public Q_SLOTS: // METHODS - int addLayout(int layoutId, const QString &layoutName, bool isFullScreen, int associatedFullScreenLayout, const QList &surfaceAreas); - int getAssociatedFullScreenLayout(int layoutId); + int addLayout(int layoutId, const QString &layoutName, const QList &surfaceAreas); + QList getAllLayouts(); QList getAvailableLayouts(int numberOfAppSurfaces); - QList getAvailableSurfaces(); - int getLayout(); + QList getAvailableSurfaces(); QString getLayoutName(int layoutId); - bool isLayoutFullScreen(int layoutId); - void setLayoutById(int layoutId); - void setLayoutByName(const QString &layoutName); - void setPidToLayoutArea(int pid, int layoutAreaId); - + int setLayoutById(int layoutId); + int setLayoutByName(const QString &layoutName); + int setSurfaceToLayoutArea(int surfaceId, int layoutAreaId); }; -- cgit 1.2.3-korg