New concept of dynamically placing surfaces in static defined layout areas.
[staging/HomeScreen.git] / HomeScreen / src / layouthandler.h
1 #ifndef LAYOUTHANDLER_H
2 #define LAYOUTHANDLER_H
3
4 #include <QObject>
5 #include "windowmanager_proxy.h"
6 #include "popup_proxy.h"
7
8 class LayoutHandler : public QObject
9 {
10     Q_OBJECT
11 public:
12     explicit LayoutHandler(QObject *parent = 0);
13     ~LayoutHandler();
14
15     void setUpLayouts();
16
17 signals:
18
19 public slots:
20     void makeMeVisible(int surfaceId);
21
22     void requestRenderSurfaceToArea(int surfaceId, const QRect &renderArea);
23     void requestSurfaceIdToFullScreen(int surfaceId);
24     void setLayoutByName(QString layoutName);
25
26 private:
27     org::agl::windowmanager *mp_dBusWindowManagerProxy;
28     org::agl::popup *mp_dBusPopupProxy;
29
30     QList<int> m_visibleSurfaces;
31     QList<int> m_invisibleSurfaces;
32     QList<int> m_requestsToBeVisibleSurfaces;
33
34 };
35
36 #endif // LAYOUTHANDLER_H