#include <QList>
#include <QMap>
-#include "windowmanager_adapter.h"
-
+#include "windowmanager_adaptor.h"
#ifdef HAVE_IVI_LAYERMANAGEMENT_API
-extern "C" {
#include <ilm/ilm_control.h>
-}
#endif
-
class WindowManager : public QObject
{
Q_OBJECT
public:
- explicit WindowManager(QObject *parent = 0);
+ explicit WindowManager(int displayId, QObject *parent = 0);
~WindowManager();
void start();
private:
WindowmanagerAdaptor *mp_windowManagerAdaptor;
QList<Layout> m_layouts;
- QList<int> m_surfaces;
QMap<int, unsigned int> *mp_layoutAreaToSurfaceIdAssignment;
int m_currentLayout;
+ int m_screenId;
+ unsigned int m_screenWidth;
+ unsigned int m_screenHeight;
+
void dumpScene();
#ifdef HAVE_IVI_LAYERMANAGEMENT_API
- void createNewLayer(int layerId);
- void addSurfaceToLayer(int surfaceId, int layerId);
+ t_ilm_layer* m_showLayers;
+ QMap<pid_t, t_ilm_surface> m_appSurfaces;
+ QMap<pid_t, t_ilm_layer> m_appLayers;
+ int getLayerRenderOrder(t_ilm_layer* id_array);
+
+ void createNewLayer(const int layerId);
+
+ t_ilm_layer getAppLayerID(const pid_t pid);
+
+ pid_t m_pending_to_show;
+
+ void addSurface(const t_ilm_surface surfaceId);
+ t_ilm_layer addSurfaceToAppLayer(pid_t pid, const int surfaceId);
+ void addSurfaceToLayer(const int surfaceId, const int layerId);
+
+ void configureHomeScreenMainSurface(const t_ilm_surface surface, const t_ilm_int width, const t_ilm_int height);
+ void configureAppSurface(const pid_t pid, const t_ilm_surface surface, const t_ilm_int width, const t_ilm_int height);
#endif
void updateScreen();
public slots:
-// from windowmanager_adapter.h
+// from windowmanager_adaptor.h
public: // PROPERTIES
Q_PROPERTY(int layoutId READ layoutId)
int layoutId() const;
int addLayout(int layoutId, const QString &layoutName, const QList<LayoutArea> &surfaceAreas);
int deleteLayoutById(int layoutId);
QList<Layout> getAllLayouts();
- QList<int> getAllSurfacesOfProcess(int pid);
+ // QList<int> getAllSurfacesOfProcess(int pid);
QList<int> getAvailableLayouts(int numberOfAppSurfaces);
- QList<int> getAvailableSurfaces();
+ // QList<int> getAvailableSurfaces();
QString getLayoutName(int layoutId);
void hideLayer(int layer);
int setLayoutById(int layoutId);
int setLayoutByName(const QString &layoutName);
int setSurfaceToLayoutArea(int surfaceId, int layoutAreaId);
void showLayer(int layer);
+ void showAppLayer(int pid);
Q_SIGNALS: // SIGNALS
void surfaceVisibilityChanged(int surfaceId, bool visible);
};
-
#endif // WINDOWMANAGER_HPP