Dali 3D User Interface Engine
property.h
Go to the documentation of this file.
1 #ifndef __DALI_PROPERTY_H__
2 #define __DALI_PROPERTY_H__
3 
4 /*
5  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20 
21 // EXTERNAL INCLUDES
22 #include <string>
23 #include <utility>
24 
25 // INTERNAL INCLUDES
29 
30 namespace Dali
31 {
37 class Handle;
38 
43 struct DALI_IMPORT_API Property
44 {
49  typedef int Index;
50 
51  static const int INVALID_INDEX;
52  static const int INVALID_COMPONENT_INDEX;
53 
55 
59  class Value;
60 
64  class Map;
65 
69  class Array;
70 
75  enum Type
76  {
77  NONE,
78 
91  MAP
92  };
93 
99  {
103  ACCESS_MODE_COUNT
104  };
105 
106 
114  Property( Handle& object, Property::Index propertyIndex );
115 
116 
125  Property( Handle& object, Property::Index propertyIndex, int componentIndex );
126 
136  Property( Handle& object, const std::string& propertyName );
137 
148  Property( Handle& object, const std::string& propertyName, int componentIndex );
149 
154  ~Property();
155 
157 
159 
161 };
162 
166 } // namespace Dali
167 
168 #endif // __DALI_PROPERTY_H__
Dali Docs Home
Read more about Dali