X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.hpp;h=735841232724ff4d0963ac36095da61e6f78fa01;hb=da604bd27fd3a7b6838b57b8b4c79647ca12722a;hp=ef19f4e65d3e57b8528c1bc5b70e5eed7b9703d5;hpb=d19555c038f6f1f89f08f12c88908d84b32b1bbf;p=staging%2FHomeScreen.git diff --git a/WindowManager/src/windowmanager.hpp b/WindowManager/src/windowmanager.hpp index ef19f4e..7358412 100644 --- a/WindowManager/src/windowmanager.hpp +++ b/WindowManager/src/windowmanager.hpp @@ -21,19 +21,11 @@ #include #include -#include "windowmanager_adapter.h" +#include "windowmanager_adaptor.h" -typedef struct -{ - int pid; - QString processName; -} SurfaceInfo; - -#ifdef __arm__ -extern "C" { -#include "ilm/ilm_control.h" -} +#ifdef HAVE_IVI_LAYERMANAGEMENT_API +#include #endif class WindowManager : public QObject @@ -47,32 +39,29 @@ public: void start(); private: WindowmanagerAdaptor *mp_windowManagerAdaptor; - QMap > m_layouts; - QMap m_layoutNames; - QMap m_layoutFullScreen; - QMap m_layoutFullScreenAssociated; + QList m_layouts; + QList m_appSurfaces; + QMap *mp_layoutAreaToSurfaceIdAssignment; + int m_currentLayout; + + int m_screenId; + unsigned int m_screenWidth; + unsigned int m_screenHeight; + void dumpScene(); - int m_homeScreenPid; -#ifdef __arm__ +#ifdef HAVE_IVI_LAYERMANAGEMENT_API 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; -#ifdef __arm__ +#ifdef HAVE_IVI_LAYERMANAGEMENT_API // for general notifications void notificationFunc_non_static(ilmObjectType object, t_ilm_uint id, @@ -95,19 +84,30 @@ public: public slots: -// from windowmanager_adapter.h +// from windowmanager_adaptor.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, bool isFullScreen, int associatedFullScreenLayout, const QList &surfaceAreas); - int getAssociatedFullScreenLayout(int layoutId); + 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); - bool isLayoutFullScreen(int layoutId); - void setLayoutById(int layoutId); - void setLayoutByName(const QString &layoutName); - void setPidToLayoutArea(int pid, 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); + +Q_SIGNALS: // SIGNALS + void surfaceVisibilityChanged(int surfaceId, bool visible); };