2 * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
4 * This program is licensed under the terms and conditions of the
5 * Apache License, version 2.0. The full text of the Apache License is at
6 * http://www.apache.org/licenses/LICENSE-2.0
10 //==========================================================================
12 * @file CicoSCWindowController.h
16 //==========================================================================
17 #ifndef __CICO_SC_WINDOW_CONTROLLER_H__
18 #define __CICO_SC_WINDOW_CONTROLLER_H__
25 #include "CicoSCWlWinMgrIF.h"
27 //==========================================================================
28 // Forward declaration
29 //==========================================================================
34 class CicoSCResourceManager;
36 //--------------------------------------------------------------------------
38 * @brief window controller
40 //--------------------------------------------------------------------------
41 class CicoSCWindowController : public CicoSCWlWinMgrIF
44 // default constructor
45 CicoSCWindowController();
48 virtual ~CicoSCWindowController();
52 void handleCommand(const CicoSCCommand * cmd);
55 void setResourceManager(CicoSCResourceManager *resMgr);
57 int show(int surfaceid,
58 const char *animation,
61 int hide(int surfaceid,
62 const char *animation,
65 int resize(int surfaceid,
68 const char *animation,
71 int move(int surfaceid,
75 const char *animation,
78 int setGeometry(int surfaceid,
84 const char *resizeAnimation,
85 int resizeAnimationTime,
86 const char *moveAnimation,
87 int moveAnimationTime);
89 int raise(int surfaceid,
90 const char *animation,
93 int lower(int surfaceid, const char *animation, int animationTime);
95 int setWindowLayer(int surfaceid, int layerid);
97 int showLayer(int displayid, int layerid);
99 int hideLayer(int displayid, int layerid);
101 void setLayerVisible(int layerid, int visible);
103 int active(int surfaceid, int target);
105 int mapSurface(int surfaceid, int framerate);
107 int unmapSurface(int surfaceid);
110 virtual void createdCB(void *data,
111 struct ico_window_mgr *ico_window_mgr,
117 virtual void nameCB(void *data,
118 struct ico_window_mgr *ico_window_mgr,
120 const char *winname);
122 virtual void destroyedCB(void *data,
123 struct ico_window_mgr *ico_window_mgr,
126 virtual void visibleCB(void *data,
127 struct ico_window_mgr *ico_window_mgr,
133 virtual void configureCB(void *data,
134 struct ico_window_mgr *ico_window_mgr,
144 virtual void activeCB(void *data,
145 struct ico_window_mgr *ico_window_mgr,
149 virtual void layerVisibleCB(void *data,
150 struct ico_window_mgr *ico_window_mgr,
154 virtual void appSurfacesCB(void *data,
155 struct ico_window_mgr *ico_window_mgr,
157 struct wl_array *surfaces);
159 virtual void mapSurfaceCB(void *data,
160 struct ico_window_mgr *ico_window_mgr,
168 virtual void outputGeometryCB(void *data,
169 struct wl_output *wl_output,
172 int32_t physical_width,
173 int32_t physical_height,
179 virtual void outputModeCB(void *data,
180 struct wl_output *wl_output,
187 // assignment operator
188 CicoSCWindowController& operator=(const CicoSCWindowController &object);
191 CicoSCWindowController(const CicoSCWindowController &object);
193 // find window obeject by surface id
194 CicoSCWindow* findWindow(int surfaceid);
196 // find layer obeject by display id and layer id
197 CicoSCLayer* findLayer(int displayid, int layerid);
200 CicoSCResourceManager *m_resMgr;
202 // window obejct list
203 map<unsigned int, CicoSCWindow*> m_windowList;
205 // display objet list
206 vector<CicoSCDisplay*> m_displayList;
209 #endif // __CICO_SC_WINDOW_CONTROLLER_H__
210 // vim:set expandtab ts=4 sw=4: