X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.hpp;h=5b0a5528d288a6b03011990147435866433b118b;hb=dd8c90f87463d370c3076e13b7c6cc0e27c0d2f5;hp=8fb716d38e9271c5666021fe96b1b83eaa6b6eab;hpb=cf8cd699e91df40c3f9070019f7c561432b4b4dd;p=staging%2FHomeScreen.git diff --git a/WindowManager/src/windowmanager.hpp b/WindowManager/src/windowmanager.hpp index 8fb716d..5b0a552 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" @@ -42,25 +36,25 @@ 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; + QList m_layouts; + QList m_surfaces; + QMap *mp_layoutAreaToSurfaceIdAssignment; + int m_currentLayout; + void dumpScene(); #ifdef __arm__ void createNewLayer(int layerId); void addSurfaceToLayer(int surfaceId, int layerId); - - 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(); + public: static void* myThis; @@ -89,16 +83,26 @@ public slots: // from windowmanager_adapter.h +public: // PROPERTIES + 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, const QList &surfaceAreas); + int addLayout(int layoutId, const QString &layoutName, const QList &surfaceAreas); + int deleteLayoutById(int layoutId); + QList getAllLayouts(); + QList getAllSurfacesOfProcess(int pid); QList getAvailableLayouts(int numberOfAppSurfaces); - QList getAvailableSurfaces(); - int getLayout(); + QList getAvailableSurfaces(); QString getLayoutName(int layoutId); - void setLayoutById(int layoutId); - void setLayoutByName(const QString &layoutName); - void setSurfaceToLayoutArea(int surfaceId, int layoutAreaId); - + void hideLayer(int layer); + int setLayoutById(int layoutId); + int setLayoutByName(const QString &layoutName); + int setSurfaceToLayoutArea(int surfaceId, int layoutAreaId); + void showLayer(int layer); };