X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=WindowManager%2Fsrc%2Fwindowmanager.hpp;h=89f255e150008b48d13c65639d9c780f39285b65;hb=c228ee699fffa0d3ba9c32fa4268f7950ae7a92d;hp=8c8f63c19f58433db9812eced3b554b3151fd1e8;hpb=7515965e55e112a4228764614bcdd3811ae44dd7;p=staging%2FHomeScreen.git diff --git a/WindowManager/src/windowmanager.hpp b/WindowManager/src/windowmanager.hpp index 8c8f63c..89f255e 100644 --- a/WindowManager/src/windowmanager.hpp +++ b/WindowManager/src/windowmanager.hpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH + * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,24 +23,21 @@ #include "windowmanager_adaptor.h" - #ifdef HAVE_IVI_LAYERMANAGEMENT_API #include #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 m_layouts; - QList m_appSurfaces; QMap *mp_layoutAreaToSurfaceIdAssignment; int m_currentLayout; @@ -49,14 +46,26 @@ private: unsigned int m_screenWidth; unsigned int m_screenHeight; - int* m_showLayers; - int getLayerRenderOrder(t_ilm_layer id_array[]); - void dumpScene(); #ifdef HAVE_IVI_LAYERMANAGEMENT_API - void createNewLayer(int layerId); - void addSurfaceToLayer(int surfaceId, int layerId); + t_ilm_layer* m_showLayers; + QMap m_appSurfaces; + QMap 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(); @@ -99,19 +108,19 @@ public Q_SLOTS: // METHODS int addLayout(int layoutId, const QString &layoutName, const QList &surfaceAreas); int deleteLayoutById(int layoutId); QList getAllLayouts(); - QList getAllSurfacesOfProcess(int pid); + // QList getAllSurfacesOfProcess(int pid); QList getAvailableLayouts(int numberOfAppSurfaces); - QList getAvailableSurfaces(); + // QList 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