diff options
author | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-02 16:23:58 +0100 |
---|---|---|
committer | Bocklage, Jens <Jens_Bocklage@mentor.com> | 2016-11-02 16:23:58 +0100 |
commit | 9ca0a50d021a8d6e12cfb8f04671ba3dd389f92d (patch) | |
tree | c76ff30548eef6c6fdf49449c5917c8d3fab5589 /WindowManager/src/windowmanager.hpp | |
parent | ca4026b34ab8cc32dbe49c3a6272aa01733baf12 (diff) |
New layer management in WindowManager. Three layers are created. One for the HomeScreen, one for apps, one for popups.
Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
Diffstat (limited to 'WindowManager/src/windowmanager.hpp')
-rw-r--r-- | WindowManager/src/windowmanager.hpp | 53 |
1 files changed, 25 insertions, 28 deletions
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<int, QList<SimpleRect> > m_layouts; - QMap<int, QString> m_layoutNames; - QMap<int, bool> m_layoutFullScreen; - QMap<int, int> m_layoutFullScreenAssociated; + QList<Layout> m_layouts; + QList<int> m_surfaces; + QMap<int, unsigned int> *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<t_ilm_uint, SurfaceInfo> *mp_surfaces; - /* one layer per pid is created - where the surfaces are added that are created by the process */ - QList<int> *mp_processLayers; #endif + void updateScreen(); - QMap<int, unsigned int> *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<SimpleRect> &surfaceAreas); - int getAssociatedFullScreenLayout(int layoutId); + int addLayout(int layoutId, const QString &layoutName, const QList<LayoutArea> &surfaceAreas); + QList<Layout> getAllLayouts(); QList<int> getAvailableLayouts(int numberOfAppSurfaces); - QList<SimplePoint> getAvailableSurfaces(); - int getLayout(); + QList<int> 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); }; |