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 raise(int surfaceid,
91 const char *animation,
94 int lower(int surfaceid, const char *animation, int animationTime);
96 int setWindowLayer(int surfaceid, int layerid);
98 int showLayer(int displayid, int layerid);
100 int hideLayer(int displayid, int layerid);
102 int active(int surfaceid, int target);
104 int mapSurface(int surfaceid, int framerate);
106 int unmapSurface(int surfaceid);
109 virtual void createdCB(void *data,
110 struct ico_window_mgr *ico_window_mgr,
116 virtual void nameCB(void *data,
117 struct ico_window_mgr *ico_window_mgr,
119 const char *winname);
121 virtual void destroyedCB(void *data,
122 struct ico_window_mgr *ico_window_mgr,
125 virtual void visibleCB(void *data,
126 struct ico_window_mgr *ico_window_mgr,
132 virtual void configureCB(void *data,
133 struct ico_window_mgr *ico_window_mgr,
143 virtual void activeCB(void *data,
144 struct ico_window_mgr *ico_window_mgr,
148 virtual void layerVisibleCB(void *data,
149 struct ico_window_mgr *ico_window_mgr,
153 virtual void appSurfacesCB(void *data,
154 struct ico_window_mgr *ico_window_mgr,
156 struct wl_array *surfaces);
158 virtual void mapSurfaceCB(void *data,
159 struct ico_window_mgr *ico_window_mgr,
167 virtual void outputGeometryCB(void *data,
168 struct wl_output *wl_output,
171 int32_t physical_width,
172 int32_t physical_height,
178 virtual void outputModeCB(void *data,
179 struct wl_output *wl_output,
186 // assignment operator
187 CicoSCWindowController& operator=(const CicoSCWindowController &object);
190 CicoSCWindowController(const CicoSCWindowController &object);
192 // find window object by surface id
193 CicoSCWindow* findWindow(int surfaceid);
195 // find layer object by display id and layer id
196 CicoSCLayer* findLayer(int displayid, int layerid);
198 // fine display zone by id
199 const CicoSCDisplayZone * findDisplayZone(int zoneid);
201 int notifyResourceManager(int surfaceid,
202 const char *animation,
206 CicoSCResourceManager *m_resMgr;
208 // window object list
209 map<unsigned int, CicoSCWindow*> m_windowList;
211 // display object list
212 vector<CicoSCDisplay*> m_displayList;
215 #endif // __CICO_SC_WINDOW_CONTROLLER_H__
216 // vim:set expandtab ts=4 sw=4: