185158baf0c26c19686061c6296a74b9c840e675
[profile/ivi/ico-uxf-homescreen.git] / lib / system-controller / CicoSCDisplay.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   CicoSCDisplay.h
13  *
14  *  @brief  This file is definition of CicoSCDisplay class
15  */
16 //==========================================================================
17 #ifndef __CICO_SC_DISPLAY_H__
18 #define __CICO_SC_DISPLAY_H__
19
20 #include <string>
21 #include <vector>
22 #include <map>
23
24 //==========================================================================
25 //  Forward declaration
26 //==========================================================================
27 class CicoSCLayer;
28 class CicoSCDisplayZone;
29
30 //==========================================================================
31 /**
32  *  @brief  This class hold display information
33  */
34 //==========================================================================
35 class CicoSCDisplay
36 {
37 public:
38     // default constructor
39     CicoSCDisplay();
40
41     // destructor
42     ~CicoSCDisplay();
43
44     // dump log this class member variables
45     void dump(void);
46
47     // find display zone
48     CicoSCDisplayZone* findDisplayZonebyFullName(const string & fullname);
49
50 private:
51     /// assignment operator
52     CicoSCDisplay& operator=(const CicoSCDisplay &object);
53
54     /// copy constructor
55     CicoSCDisplay(const CicoSCDisplay &object);
56
57 public:
58     ///< definition value of horizontal
59     const static int ORIENTATION_HORIZONTAL = 0;
60     ///< definition value of vertical
61     const static int ORIENTATION_VERTICAL   = 1;
62
63     int         displayid;   ///< display id
64     int         type;        ///< display type
65     int         nodeid;      ///< node id
66     int         displayno;   ///< consecutive numbers
67     int         width;       ///< the number of the lateral pixels
68     int         height;      ///< the number of vertical pixels
69     int         pWidth;      ///< compositor width
70     int         pHeight;     ///< compositor height
71     int         orientation; ///< screen orientation
72     std::string name;        ///< display name
73
74     /// list of display layer
75     std::vector<CicoSCLayer*> layerList;
76
77     /// list of display zone
78     std::map<unsigned int, CicoSCDisplayZone*> zoneList;
79 };
80 #endif  // __CICO_SC_DISPLAY_H__
81 // vim:set expandtab ts=4 sw=4: