X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.hpp;h=ef19f4e65d3e57b8528c1bc5b70e5eed7b9703d5;hb=d19555c038f6f1f89f08f12c88908d84b32b1bbf;hp=8fb716d38e9271c5666021fe96b1b83eaa6b6eab;hpb=5a040cf1e77872dd567f6ffba50ed79fc27d5822;p=staging%2FHomeScreen.git diff --git a/WindowManager/src/windowmanager.hpp b/WindowManager/src/windowmanager.hpp index 8fb716d..ef19f4e 100644 --- a/WindowManager/src/windowmanager.hpp +++ b/WindowManager/src/windowmanager.hpp @@ -42,19 +42,24 @@ class WindowManager : public QObject public: explicit WindowManager(QObject *parent = 0); - QMutex callbackMutex; - ~WindowManager(); + + void start(); private: WindowmanagerAdaptor *mp_windowManagerAdaptor; QMap > m_layouts; QMap m_layoutNames; + QMap m_layoutFullScreen; + QMap m_layoutFullScreenAssociated; int m_currentLayout; void dumpScene(); + int m_homeScreenPid; #ifdef __arm__ void createNewLayer(int layerId); void addSurfaceToLayer(int surfaceId, int layerId); + void updateScreen(); + QMap *mp_surfaces; /* one layer per pid is created @@ -62,6 +67,8 @@ private: QList *mp_processLayers; #endif + QMap *mp_layoutAreaToPidAssignment; + public: static void* myThis; @@ -90,14 +97,16 @@ public slots: // from windowmanager_adapter.h public Q_SLOTS: // METHODS - int addLayout(int layoutId, const QString &layoutName, const QList &surfaceAreas); + int addLayout(int layoutId, const QString &layoutName, bool isFullScreen, int associatedFullScreenLayout, const QList &surfaceAreas); + int getAssociatedFullScreenLayout(int layoutId); QList getAvailableLayouts(int numberOfAppSurfaces); QList getAvailableSurfaces(); int getLayout(); QString getLayoutName(int layoutId); + bool isLayoutFullScreen(int layoutId); void setLayoutById(int layoutId); void setLayoutByName(const QString &layoutName); - void setSurfaceToLayoutArea(int surfaceId, int layoutAreaId); + void setPidToLayoutArea(int pid, int layoutAreaId); };