aboutsummaryrefslogtreecommitdiffstats
path: root/WindowManager/src/windowmanager.hpp
diff options
context:
space:
mode:
authorBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-02 16:23:58 +0100
committerBocklage, Jens <Jens_Bocklage@mentor.com>2016-11-02 16:23:58 +0100
commit9ca0a50d021a8d6e12cfb8f04671ba3dd389f92d (patch)
treec76ff30548eef6c6fdf49449c5917c8d3fab5589 /WindowManager/src/windowmanager.hpp
parentca4026b34ab8cc32dbe49c3a6272aa01733baf12 (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.hpp53
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);
};