[3.0] Update doxygen comments
[platform/core/uifw/dali-core.git] / dali / public-api / object / property-index-ranges.h
1 #ifndef __DALI_PROPERTY_INDEX_RANGES_H__
2 #define __DALI_PROPERTY_INDEX_RANGES_H__
3
4 /*
5  * Copyright (c) 2016 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 // INTERNAL INCLUDES
22 #include <dali/public-api/common/dali-common.h>
23
24 namespace Dali
25 {
26 /**
27  * @addtogroup dali_core_object
28  * @{
29  */
30
31 /**
32  * @brief Enumeration for the property index ranges.
33  *
34  * Enumerations are being used here rather than static constants so that switch statements can be
35  * used to compare property indices.
36  * @SINCE_1_0.0
37  */
38 enum PropertyRanges
39 {
40   DEFAULT_OBJECT_PROPERTY_START_INDEX           = 0,          ///< For all objects deriving from Handle (including Actors). @SINCE_1_0.0
41
42   DEFAULT_ACTOR_PROPERTY_START_INDEX            = DEFAULT_OBJECT_PROPERTY_START_INDEX, ///< Start index for Actor. @SINCE_1_0.0
43   DEFAULT_ACTOR_PROPERTY_MAX_COUNT              = 10000,      ///< Actor range: 0 to 9999 @SINCE_1_0.0
44
45   DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX    = DEFAULT_ACTOR_PROPERTY_START_INDEX + DEFAULT_ACTOR_PROPERTY_MAX_COUNT, ///< Property start index for classes deriving directly from Actor. @SINCE_1_0.0
46
47   DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION     = 10000,      ///< Second-level and onwards derived objects should increment their start index by this. @SINCE_1_0.0
48
49   DEFAULT_GESTURE_DETECTOR_PROPERTY_START_INDEX = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX,  ///< Used by PanGestureDetector. @SINCE_1_0.0
50
51   DEFAULT_RENDERER_PROPERTY_START_INDEX         = 9000000,    ///< Start index for Renderer. @SINCE_1_1.44
52   DEFAULT_RENDERER_PROPERTY_MAX_INDEX           = DEFAULT_RENDERER_PROPERTY_START_INDEX + 100000, ///< Renderer range: 9000000 to 9100000 @SINCE_1_1.44
53
54   PROPERTY_REGISTRATION_START_INDEX             = 10000000,   ///< The index when registering a property should start from this number. @SINCE_1_0.0
55   DEFAULT_PROPERTY_MAX_COUNT                    = PROPERTY_REGISTRATION_START_INDEX,           ///< Default Property Range: 0 to 9999999 @SINCE_1_0.0
56
57   PROPERTY_REGISTRATION_MAX_INDEX               = 19999999,   ///< The maximum index supported when registering a property @SINCE_1_0.0
58
59   ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX  = 20000000,   ///< The index when registering an animatable property should start from this number. (SceneGraph properties per type) @SINCE_1_0.0
60   ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX    = 29999999,   ///< The maximum index supported when registering an animatable property @SINCE_1_0.0
61
62   CHILD_PROPERTY_REGISTRATION_START_INDEX       = 45000000,   ///< The index when registering a child property should start from this number. (Event side properties per instance) @SINCE_1_1.35
63   CHILD_PROPERTY_REGISTRATION_MAX_INDEX         = 49999999,   ///< The maximum index supported when registering a child property @SINCE_1_1.35
64
65   PROPERTY_CUSTOM_START_INDEX                   = 50000000,   ///< The index at which custom properties start (SceneGraph and Event side properties per instance) @SINCE_1_0.0
66   PROPERTY_CUSTOM_MAX_INDEX                     = 59999999,   ///< The maximum index supported for custom properties @SINCE_1_1.45
67
68   CORE_PROPERTY_MAX_INDEX                       = PROPERTY_CUSTOM_MAX_INDEX, ///< The maximum index that Core properties can go up to @SINCE_1_1.45
69 };
70
71 /**
72  * @}
73  */
74 } // namespace Dali
75
76 #endif // __DALI_PROPERTY_INDEX_RANGES_H__