Adapt the AIL filter used to new ones
[profile/ivi/ico-uxf-homescreen.git] / lib / system-controller / CicoSCLayer.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   CicoSCLayer.h
13  *
14  *  @brief  This file is definition of CicoSCLayer class
15  */
16 //==========================================================================
17 #ifndef __CICO_SC_LAYER_H__
18 #define __CICO_SC_LAYER_H__
19
20 #include "CicoCommonDef.h"
21
22 #define ICO_SC_LAYER_TABLE_INITIAL      50      // layer table initial size
23 #define ICO_SC_LAYER_TABLE_EXTENSION    50      // layer table extension size
24
25 //--------------------------------------------------------------------------
26 /**
27  *  @brief  This class hold layer information
28  */
29 //--------------------------------------------------------------------------
30 class CicoSCLayer
31 {
32 public:
33     // default constructor
34     CicoSCLayer();
35
36     // destructor
37     virtual ~CicoSCLayer();
38
39     // surface
40     void addSurface(int surfaceid, bool top);
41     void removeSurface(int surfaceid);
42     const int *getSurfaces(int *retsurfaces);
43     bool is_topSurface(int surfaceid);
44     bool is_buttomSurface(int surfaceid);
45
46     // dump log this class member variables
47     void dump(void);
48
49 private:
50     // assignment operator
51     CicoSCLayer& operator=(const CicoSCLayer &object);
52
53     // copy constructor
54     CicoSCLayer(const CicoSCLayer &object);
55
56 public:
57     int     layerid;      //!< layer id
58     int     type;         //!< enum ico_window_mgr_layer_attr
59     int     width;        //!< The number of the lateral pixels
60     int     height;       //!< The number of vertical pixels
61     int     displayid;    //!< display ID
62
63     int     *surfaceids;  //!< surface ID list
64     int     numsurfaces;  //!< current number of surfaces
65     int     maxsurfaces;  //!< max number of surfaces
66     bool    menuoverlap;  //!< overlap menu window flag
67 };
68 #endif  // __CICO_SC_LAYER_H__
69 // vim:set expandtab ts=4 sw=4: