Some interfaces were added for SystemController
[profile/ivi/ico-uxf-homescreen.git] / lib / system-controller / CicoSCWindow.h
1 /*
2  * Copyright (c) 2013, TOYOTA MOTOR CORPORATION.
3  *
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
7  *
8  */
9
10 //==========================================================================
11 /**
12  *  @file   CicoSCWindow.h
13  *
14  *  @brief  This file is definition of CicoSCWindow class
15  */
16 //==========================================================================
17 #ifndef __CICO_SC_WINDOW_H__
18 #define __CICO_SC_WINDOW_H__
19
20 #include <string>
21
22 //==========================================================================
23 //  define macro
24 //==========================================================================
25 #define ICO_SURFACEID_2_HOSTID(surfid)      (((unsigned int)surfid) >> 24)
26 #define ICO_SURFACEID_2_DISPLAYNO(surfid)   (((unsigned int)surfid) >> 16)
27 #define ICO_SURFACEID_2_NODEID(surfid)      (((unsigned int)surfid) >> 16)
28 #define ICO_SURFACEID_BASE(nodeid)          (((unsigned int)nodeid) << 16)
29
30 //--------------------------------------------------------------------------
31 /**
32  *  @brief This class holds window information
33  */
34 //--------------------------------------------------------------------------
35 class CicoSCWindow
36 {
37 public:
38     // default constructor
39     CicoSCWindow();
40
41     // destructor
42     virtual ~CicoSCWindow();
43
44     // dump log CicoSCWindow member variables
45     void dump(void);
46
47 private:
48     // assignment operator
49     CicoSCWindow& operator=(const CicoSCWindow &object);
50
51     // copy constructor
52     CicoSCWindow(const CicoSCWindow &object);
53
54 public:
55     int               surfaceid;    ///< surface id (window id)
56     std::string       name;         ///< window name
57     std::string       appid;        ///< application id
58     int               pid;          ///< process id
59
60     int               nodeid;       ///< node id
61     int               displayid;    ///< display id
62     int               layerid;      ///< layer id
63     std::string       zone;         ///< display zone name
64     int               zoneid;       ///< display zone id
65     int               subwindow;    ///< main window(0) or sub window(!0)
66     unsigned int      eventmask;    ///< event to receive through this window
67     int               srcwidth;     ///< width of application frame buffer
68     int               srcheight;    ///< height of application frame buffer
69     int               x;            ///< upper left X coord of the window
70     int               y;            ///< upper left Y coord of the window
71     int               width;        ///< width of window
72     int               height;       ///< height of window
73     bool              visible;      ///< visibility
74     bool              raise;        ///< raise/lower
75     bool              active;       ///< active/inactive
76 };
77 #endif  // __CICO_SC_WINDOW_H__
78 // vim:set expandtab ts=4 sw=4: