Adapt the AIL filter used to new ones
[profile/ivi/ico-uxf-homescreen.git] / lib / system-controller / CicoSCWindowController.h
index 391a6e7..9b346a3 100644 (file)
@@ -24,6 +24,9 @@ using namespace std;
 
 #include "CicoSCWlWinMgrIF.h"
 
+#define ICO_SC_APPID_DEFAULT_ONS    "org.tizen.ico.onscreen"
+#define ICO_SC_LAYERID_SCREENBASE   1000
+
 //==========================================================================
 //  Forward declaration
 //==========================================================================
@@ -42,6 +45,9 @@ class CicoSCResourceManager;
 class CicoSCWindowController : public CicoSCWlWinMgrIF
 {
 public:
+    // get instance of CicoSCWindowController
+    static CicoSCWindowController* getInstance();
+
     // default constructor
     CicoSCWindowController();
 
@@ -78,6 +84,7 @@ public:
 
     int setGeometry(int        surfaceid,
                     int        nodeid,
+                    int        layerid,
                     int        x,
                     int        y,
                     int        w,
@@ -89,6 +96,7 @@ public:
 
     int setGeometry(int        surfaceid,
                     const char *zone,
+                    int        layerid,
                     const char *resizeAnimation,
                     int        resizeAnimationTime,
                     const char *moveAnimation,
@@ -100,6 +108,8 @@ public:
 
     int lower(int surfaceid, const char *animation, int animationTime);
 
+    int setWindowAnimation(int surfaceid, int type, const char *animation, int time);
+
     int setWindowLayer(int surfaceid, int layerid);
 
     int showLayer(int displayid, int layerid);
@@ -108,71 +118,55 @@ public:
 
     int active(int surfaceid, int target);
 
-    int mapSurface(int surfaceid, int framerate);
+    int setmapGet(int surfaceid, const char *filepath);
+
+    int mapSurface(int surfaceid, int framerate, const char *filepath);
 
     int unmapSurface(int surfaceid);
 
-    //
-    virtual void createdCB(void *data,
-                           struct ico_window_mgr *ico_window_mgr,
-                           uint32_t surfaceid,
-                           const char *winname,
-                           int32_t pid,
-                           const char *appid);
-
-    virtual void nameCB(void *data,
-                        struct ico_window_mgr *ico_window_mgr,
-                        uint32_t surfaceid,
-                        const char *winname);
-
-    virtual void destroyedCB(void *data,
-                             struct ico_window_mgr *ico_window_mgr,
-                             uint32_t surfaceid);
-
-    virtual void visibleCB(void *data,
-                           struct ico_window_mgr *ico_window_mgr,
-                           uint32_t surfaceid,
-                           int32_t visible,
-                           int32_t raise,
-                           int32_t hint);
-
-    virtual void configureCB(void *data,
-                             struct ico_window_mgr *ico_window_mgr,
-                             uint32_t surfaceid,
-                             uint32_t node,
-                             uint32_t layer,
-                             int32_t x,
-                             int32_t y,
-                             int32_t width,
-                             int32_t height,
-                             int32_t hint);
+    int getDisplayedWindow(int zoneid);
 
+    int setAttributes(int surfaceid);
+
+    void initializeGeniviLMS(void);
+
+    static void wlGeniviLayerNotification(t_ilm_layer layer,
+                                          struct ilmLayerProperties *LayerProperties,
+                                          t_ilm_notification_mask mask);
+    //
     virtual void activeCB(void *data,
                           struct ico_window_mgr *ico_window_mgr,
                           uint32_t surfaceid,
-                          int32_t active);
-
-    virtual void layerVisibleCB(void *data,
-                                struct ico_window_mgr *ico_window_mgr,
-                                uint32_t layer,
-                                int32_t visible);
-
-    virtual void appSurfacesCB(void *data,
-                               struct ico_window_mgr *ico_window_mgr,
-                               const char *appid,
-                               struct wl_array *surfaces);
+                          int32_t select);
 
     virtual void mapSurfaceCB(void *data,
                               struct ico_window_mgr *ico_window_mgr,
                               int32_t event,
                               uint32_t surfaceid,
                               uint32_t type,
-                              uint32_t target,
                               int32_t width,
                               int32_t height,
                               int32_t stride,
                               uint32_t format);
 
+    virtual void updateSurfaceCB(void *data,
+                                 struct ico_window_mgr *ico_window_mgr,
+                                 uint32_t surfaceid,
+                                 int visible,
+                                 int srcwidth,
+                                 int srcheight,
+                                 int x,
+                                 int y,
+                                 int width,
+                                 int height);
+
+    virtual void destroySurfaceCB(void *data,
+                                  struct ico_window_mgr *ico_window_mgr,
+                                  uint32_t surfaceid);
+
+    virtual void updateWinnameCB(uint32_t surfaceid,
+                                 const char *winname);
+//
     virtual void outputGeometryCB(void *data,
                                   struct wl_output *wl_output,
                                   int32_t x,
@@ -191,6 +185,16 @@ public:
                               int32_t height,
                               int32_t refresh);
 
+    virtual void createSurfaceCB(void       *data,
+                                 struct ivi_controller *ivi_controller,
+                                 uint32_t   id_surface,
+                                 int32_t    pid,
+                                 const char *title);
+
+    const CicoSCWindow* findWindowObj(int32_t pid, uint32_t surfaceid) const;
+
+    const CicoSCResourceManager* getResourceManager(void) const;
+
 private:
     // assignment operator
     CicoSCWindowController& operator=(const CicoSCWindowController &object);
@@ -207,23 +211,29 @@ private:
     // fine display zone by id
     const CicoSCDisplayZone * findDisplayZone(int zoneid);
 
+    void raiselower(CicoSCWindow *window, bool raise);
+
     int notifyResourceManager(int        surfaceid,
                               const char *zone,
+                              int        layerid,
                               const char *animation,
                               int        animationTime);
 
 private:
+    /// my instance
+    static CicoSCWindowController *ms_myInstance;
+
+    // resource manager instance
     CicoSCResourceManager *m_resMgr;
 
     // window object list
     map<unsigned int, CicoSCWindow*> m_windowList;
 
     // display object list
-    vector<CicoSCDisplay*>   m_displayList;
+    vector<CicoSCDisplay*> m_displayList;
 
-    //
+    // total of physical display
     unsigned int m_physicalDisplayTotal;
-
 };
 #endif  // __CICO_SC_WINDOW_CONTROLLER_H__
 // vim:set expandtab ts=4 sw=4: