Tizen 2.4.0 rev3 SDK Public Release
[framework/graphics/dali.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) 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 // 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 These are 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_tizen 2.4
37  */
38 enum PropertyRanges
39 {
40   DEFAULT_OBJECT_PROPERTY_START_INDEX           = 0,          ///< For all objects deriving from Handle (including Actors). @since_tizen 2.4
41
42   DEFAULT_ACTOR_PROPERTY_START_INDEX            = DEFAULT_OBJECT_PROPERTY_START_INDEX, ///< Start index for Actor. @since_tizen 2.4
43   DEFAULT_ACTOR_PROPERTY_MAX_COUNT              = 10000,      ///< Actor range: 0 to 9999 @since_tizen 2.4
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_tizen 2.4
46
47   DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION     = 10000,      ///< Second-level and onwards derived objects should increment their start index by this. @since_tizen 2.4
48
49   DEFAULT_GESTURE_DETECTOR_PROPERTY_START_INDEX = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX,  ///< Used by PanGestureDetector. @since_tizen 2.4
50
51   PROPERTY_REGISTRATION_START_INDEX             = 10000000,   ///< The index when registering a property should start from this number. @since_tizen 2.4
52   DEFAULT_PROPERTY_MAX_COUNT                    = PROPERTY_REGISTRATION_START_INDEX,           ///< Default Property Range: 0 to 9999999 @since_tizen 2.4
53
54   PROPERTY_REGISTRATION_MAX_INDEX               = 19999999,   ///< The maximum index supported when registering a property @since_tizen 2.4
55
56   ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX  = 20000000,   ///< The index when registering an animatable property should start from this number. (SceneGraph properties per type) @since_tizen 2.4
57   ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX    = 29999999,   ///< The maximum index supported when registering an animatable property @since_tizen 2.4
58
59   PROPERTY_CUSTOM_START_INDEX                   = 50000000,   ///< The index at which custom properties start (SceneGraph and Event side properties per instance) @since_tizen 2.4
60 };
61
62 /**
63  * @}
64  */
65 } // namespace Dali
66
67 #endif // __DALI_PROPERTY_INDEX_RANGES_H__