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
14 * @brief This file is definition of CicoSCWindowController class
16 //==========================================================================
17 #ifndef __CICO_SC_WINDOW_CONTROLLER_H__
18 #define __CICO_SC_WINDOW_CONTROLLER_H__
25 #include "CicoSCWlWinMgrIF.h"
27 //==========================================================================
28 // Forward declaration
29 //==========================================================================
33 class CicoSCDisplayZone;
35 class CicoSCResourceManager;
37 //--------------------------------------------------------------------------
39 * @brief This class is controller of window
41 //--------------------------------------------------------------------------
42 class CicoSCWindowController : public CicoSCWlWinMgrIF
45 // default constructor
46 CicoSCWindowController();
49 virtual ~CicoSCWindowController();
53 void handleCommand(const CicoSCCommand * cmd);
56 void setResourceManager(CicoSCResourceManager *resMgr);
58 int show(int surfaceid,
59 const char *animation,
62 int hide(int surfaceid,
63 const char *animation,
66 int resize(int surfaceid,
69 const char *animation,
72 int move(int surfaceid,
76 const char *animation,
79 int setGeometry(int surfaceid,
85 const char *resizeAnimation,
86 int resizeAnimationTime,
87 const char *moveAnimation,
88 int moveAnimationTime);
90 int setGeometry(int surfaceid,
92 const char *resizeAnimation,
93 int resizeAnimationTime,
94 const char *moveAnimation,
95 int moveAnimationTime);
97 int raise(int surfaceid,
98 const char *animation,
101 int lower(int surfaceid, const char *animation, int animationTime);
103 int setWindowLayer(int surfaceid, int layerid);
105 int showLayer(int displayid, int layerid);
107 int hideLayer(int displayid, int layerid);
109 int active(int surfaceid, int target);
111 int mapSurface(int surfaceid, int framerate);
113 int unmapSurface(int surfaceid);
115 int getDisplayedWindow(int zoneid);
117 int setAttributes(int surfaceid);
120 virtual void createdCB(void *data,
121 struct ico_window_mgr *ico_window_mgr,
128 virtual void nameCB(void *data,
129 struct ico_window_mgr *ico_window_mgr,
131 const char *winname);
133 virtual void destroyedCB(void *data,
134 struct ico_window_mgr *ico_window_mgr,
137 virtual void visibleCB(void *data,
138 struct ico_window_mgr *ico_window_mgr,
144 virtual void configureCB(void *data,
145 struct ico_window_mgr *ico_window_mgr,
156 virtual void activeCB(void *data,
157 struct ico_window_mgr *ico_window_mgr,
161 virtual void layerVisibleCB(void *data,
162 struct ico_window_mgr *ico_window_mgr,
166 virtual void appSurfacesCB(void *data,
167 struct ico_window_mgr *ico_window_mgr,
169 struct wl_array *surfaces);
171 virtual void mapSurfaceCB(void *data,
172 struct ico_window_mgr *ico_window_mgr,
182 virtual void outputGeometryCB(void *data,
183 struct wl_output *wl_output,
186 int32_t physical_width,
187 int32_t physical_height,
193 virtual void outputModeCB(void *data,
194 struct wl_output *wl_output,
201 // assignment operator
202 CicoSCWindowController& operator=(const CicoSCWindowController &object);
205 CicoSCWindowController(const CicoSCWindowController &object);
207 // find window object by surface id
208 CicoSCWindow* findWindow(int surfaceid);
210 // find layer object by display id and layer id
211 CicoSCLayer* findLayer(int displayid, int layerid);
213 // fine display zone by id
214 const CicoSCDisplayZone * findDisplayZone(int zoneid);
216 int notifyResourceManager(int surfaceid,
218 const char *animation,
222 // resource manager instance
223 CicoSCResourceManager *m_resMgr;
225 // window object list
226 map<unsigned int, CicoSCWindow*> m_windowList;
228 // display object list
229 vector<CicoSCDisplay*> m_displayList;
231 // total of physical display
232 unsigned int m_physicalDisplayTotal;
235 #endif // __CICO_SC_WINDOW_CONTROLLER_H__
236 // vim:set expandtab ts=4 sw=4: