Added VisualRenderer (for visual default properties)
[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) 2022 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 // clang-format off
39 enum PropertyRanges
40 {
41   DEFAULT_OBJECT_PROPERTY_START_INDEX           = 0,                                                                     ///< For all objects deriving from Handle (including Actors). @SINCE_1_0.0
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   DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION     = 10000,                                                                 ///< Second-level and onwards derived objects should increment their start index by this. @SINCE_1_0.0
47
48   DEFAULT_GESTURE_DETECTOR_PROPERTY_START_INDEX = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX,                            ///< Used by PanGestureDetector. @SINCE_1_0.0
49
50   DEFAULT_RENDERER_PROPERTY_START_INDEX         = 9000000,                                                               ///< Start index for Renderer. @SINCE_1_1.44
51   DEFAULT_RENDERER_PROPERTY_MAX_INDEX           = DEFAULT_RENDERER_PROPERTY_START_INDEX + DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION-1,///< Renderer range: 9,000,000 to 9,009,999 @SINCE_2_1.13
52
53   PROPERTY_REGISTRATION_START_INDEX             = 10000000,                                                              ///< The index when registering a property should start from this number. @SINCE_1_0.0
54   DEFAULT_PROPERTY_MAX_COUNT                    = PROPERTY_REGISTRATION_START_INDEX,                                     ///< Default Property Range: 0 to 9999999 @SINCE_1_0.0
55
56   PROPERTY_REGISTRATION_MAX_INDEX               = 19999999,                                                              ///< The maximum index supported when registering a property @SINCE_1_0.0
57
58   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
59   ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX    = 29999999,                                                              ///< The maximum index supported when registering an animatable property @SINCE_1_0.0
60
61   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
62   CHILD_PROPERTY_REGISTRATION_MAX_INDEX         = 49999999,                                                              ///< The maximum index supported when registering a child property @SINCE_1_1.35
63
64   PROPERTY_CUSTOM_START_INDEX                   = 50000000,                                                              ///< The index at which custom properties start (SceneGraph and Event side properties per instance) @SINCE_1_0.0
65   PROPERTY_CUSTOM_MAX_INDEX                     = 59999999,                                                              ///< The maximum index supported for custom properties @SINCE_1_1.45
66
67   CORE_PROPERTY_MAX_INDEX                       = PROPERTY_CUSTOM_MAX_INDEX,                                             ///< The maximum index that Core properties can go up to @SINCE_1_1.45
68 };
69 // clang-format on
70
71 /**
72  * @}
73  */
74 } // namespace Dali
75
76 #endif // DALI_PROPERTY_INDEX_RANGES_H