1 #ifndef DALI_ACTOR_DEVEL_H
2 #define DALI_ACTOR_DEVEL_H
5 * Copyright (c) 2017 Samsung Electronics Co., Ltd.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 #include <dali/public-api/actors/actor.h>
35 PARENT_ORIGIN = Dali::Actor::Property::PARENT_ORIGIN,
36 PARENT_ORIGIN_X = Dali::Actor::Property::PARENT_ORIGIN_X,
37 PARENT_ORIGIN_Y = Dali::Actor::Property::PARENT_ORIGIN_Y,
38 PARENT_ORIGIN_Z = Dali::Actor::Property::PARENT_ORIGIN_Z,
39 ANCHOR_POINT = Dali::Actor::Property::ANCHOR_POINT,
40 ANCHOR_POINT_X = Dali::Actor::Property::ANCHOR_POINT_X,
41 ANCHOR_POINT_Y = Dali::Actor::Property::ANCHOR_POINT_Y,
42 ANCHOR_POINT_Z = Dali::Actor::Property::ANCHOR_POINT_Z,
43 SIZE = Dali::Actor::Property::SIZE,
44 SIZE_WIDTH = Dali::Actor::Property::SIZE_WIDTH,
45 SIZE_HEIGHT = Dali::Actor::Property::SIZE_HEIGHT,
46 SIZE_DEPTH = Dali::Actor::Property::SIZE_DEPTH,
47 POSITION = Dali::Actor::Property::POSITION,
48 POSITION_X = Dali::Actor::Property::POSITION_X,
49 POSITION_Y = Dali::Actor::Property::POSITION_Y,
50 POSITION_Z = Dali::Actor::Property::POSITION_Z,
51 WORLD_POSITION = Dali::Actor::Property::WORLD_POSITION,
52 WORLD_POSITION_X = Dali::Actor::Property::WORLD_POSITION_X,
53 WORLD_POSITION_Y = Dali::Actor::Property::WORLD_POSITION_Y,
54 WORLD_POSITION_Z = Dali::Actor::Property::WORLD_POSITION_Z,
55 ORIENTATION = Dali::Actor::Property::ORIENTATION,
56 WORLD_ORIENTATION = Dali::Actor::Property::WORLD_ORIENTATION,
57 SCALE = Dali::Actor::Property::SCALE,
58 SCALE_X = Dali::Actor::Property::SCALE_X,
59 SCALE_Y = Dali::Actor::Property::SCALE_Y,
60 SCALE_Z = Dali::Actor::Property::SCALE_Z,
61 WORLD_SCALE = Dali::Actor::Property::WORLD_SCALE,
62 VISIBLE = Dali::Actor::Property::VISIBLE,
63 COLOR = Dali::Actor::Property::COLOR,
64 COLOR_RED = Dali::Actor::Property::COLOR_RED,
65 COLOR_GREEN = Dali::Actor::Property::COLOR_GREEN,
66 COLOR_BLUE = Dali::Actor::Property::COLOR_BLUE,
67 COLOR_ALPHA = Dali::Actor::Property::COLOR_ALPHA,
68 WORLD_COLOR = Dali::Actor::Property::WORLD_COLOR,
69 WORLD_MATRIX = Dali::Actor::Property::WORLD_MATRIX,
70 NAME = Dali::Actor::Property::NAME,
71 SENSITIVE = Dali::Actor::Property::SENSITIVE,
72 LEAVE_REQUIRED = Dali::Actor::Property::LEAVE_REQUIRED,
73 INHERIT_ORIENTATION = Dali::Actor::Property::INHERIT_ORIENTATION,
74 INHERIT_SCALE = Dali::Actor::Property::INHERIT_SCALE,
75 COLOR_MODE = Dali::Actor::Property::COLOR_MODE,
76 POSITION_INHERITANCE = Dali::Actor::Property::POSITION_INHERITANCE,
77 DRAW_MODE = Dali::Actor::Property::DRAW_MODE,
78 SIZE_MODE_FACTOR = Dali::Actor::Property::SIZE_MODE_FACTOR,
79 WIDTH_RESIZE_POLICY = Dali::Actor::Property::WIDTH_RESIZE_POLICY,
80 HEIGHT_RESIZE_POLICY = Dali::Actor::Property::HEIGHT_RESIZE_POLICY,
81 SIZE_SCALE_POLICY = Dali::Actor::Property::SIZE_SCALE_POLICY,
82 WIDTH_FOR_HEIGHT = Dali::Actor::Property::WIDTH_FOR_HEIGHT,
83 HEIGHT_FOR_WIDTH = Dali::Actor::Property::HEIGHT_FOR_WIDTH,
84 PADDING = Dali::Actor::Property::PADDING,
85 MINIMUM_SIZE = Dali::Actor::Property::MINIMUM_SIZE,
86 MAXIMUM_SIZE = Dali::Actor::Property::MAXIMUM_SIZE,
87 INHERIT_POSITION = Dali::Actor::Property::INHERIT_POSITION,
88 CLIPPING_MODE = Dali::Actor::Property::CLIPPING_MODE,
91 * @brief name "siblingOrder", type INTEGER
93 * @details Sets the sibling order of the actor so depth position can be defined within the same parent.
95 * @note Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the
96 * sibling order. The values set by this Property will likey change.
98 SIBLING_ORDER = CLIPPING_MODE + 1,
101 * @brief The opacity of the actor.
102 * @details Name "opacity", type Property::FLOAT.
105 OPACITY = CLIPPING_MODE + 2,
108 * @brief Returns the screen position of the Actor
109 * @details Name "screenPosition", type Property::VECTOR2. Read-only
110 * @note This assumes default camera and default render-task and the Z position is ZERO.
112 SCREEN_POSITION = CLIPPING_MODE + 3,
115 } // namespace Property
118 * @brief Raise actor above the next highest level of actor(s).
120 * @param[in] actor The Actor to raise
121 * @note Sibling order of actors within the parent will be updated automatically.
122 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
123 * Initially actors added to a parent will have the same sibling order and shown in relation to insertion order.
124 * Raising this actor above actors with the same sibling order as each other will raise this actor above them.
125 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
128 DALI_IMPORT_API void Raise( Actor actor );
131 * @brief Lower the actor to underneath the level below actor(s).
133 * @param[in] actor The Actor to lower
134 * @note Sibling order of actors within the parent will be updated automatically.
135 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
136 * Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
137 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
139 DALI_IMPORT_API void Lower( Actor actor );
142 * @brief Raise actor above all other actors.
144 * @param[in] actor The Actor to raise to the top
145 * @note Sibling order of actors within the parent will be updated automatically.
146 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
147 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
149 DALI_IMPORT_API void RaiseToTop( Actor actor );
152 * @brief Lower actor to the bottom of all actors.
154 * @param[in] actor The Actor to lower to the bottom
155 * @note Sibling order of actors within the parent will be updated automatically.
156 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
157 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
159 DALI_IMPORT_API void LowerToBottom( Actor actor );
162 * @brief Raise the actor to above the target actor.
164 * @param[in] actor The actor to raise
165 * @param[in] target Will be raised above this actor
166 * @note Sibling order of actors within the parent will be updated automatically.
167 * Actors on the level above the target actor will still be shown above this actor.
168 * Raising this actor above actors with the same sibling order as each other will raise this actor above them.
169 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
170 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
172 DALI_IMPORT_API void RaiseAbove( Actor actor, Dali::Actor target );
175 * @brief Lower the actor to below the target actor.
177 * @param[in] actor The Actor to lower
178 * @param[in] target Will be lowered below this actor
179 * @note Sibling order of actors within the parent will be updated automatically.
180 * Using this API means a limit of DevelLayer::SIBLING_ORDER_MULTIPLIER Actors.
181 * Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
182 * Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
184 DALI_IMPORT_API void LowerBelow( Actor actor, Dali::Actor target );
186 } // namespace DevelActor
190 #endif // DALI_ACTOR_DEVEL_H