X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Factors%2Factor.h;h=d0c2f9885d4dd49dab4d243dcd0697dc6ae23aad;hb=e08e2992259823c5f9832ad959ffa510b0445a6c;hp=ae5be1e45efc8857dc4830f42922c931bc7d463a;hpb=6264fca88e12b3f64730f1ab7a50f25b95b06b27;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/actors/actor.h b/dali/public-api/actors/actor.h index ae5be1e..d0c2f98 100644 --- a/dali/public-api/actors/actor.h +++ b/dali/public-api/actors/actor.h @@ -2,7 +2,7 @@ #define DALI_ACTOR_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // uint32_t // INTERNAL INCLUDES #include @@ -29,6 +30,8 @@ #include #include +#undef SIZE_WIDTH // Defined in later versions of cstdint but is used in this header + namespace Dali { /** @@ -238,7 +241,7 @@ typedef Rect Padding; ///< Padding definition @SINCE_1_0.0 * @SINCE_1_0.0 */ -class DALI_IMPORT_API Actor : public Handle +class DALI_CORE_API Actor : public Handle { public: @@ -295,7 +298,6 @@ public: INHERIT_ORIENTATION, ///< name "inheritOrientation", type bool @SINCE_1_0.0 INHERIT_SCALE, ///< name "inheritScale", type bool @SINCE_1_0.0 COLOR_MODE, ///< name "colorMode", type std::string @SINCE_1_0.0 - POSITION_INHERITANCE, ///< name "positionInheritance", type std::string @DEPRECATED_1_1.24 Use INHERIT_POSITION instead DRAW_MODE, ///< name "drawMode", type std::string @SINCE_1_0.0 SIZE_MODE_FACTOR, ///< name "sizeModeFactor", type Vector3 @SINCE_1_0.0 WIDTH_RESIZE_POLICY, ///< name "widthResizePolicy", type String @SINCE_1_0.0 @@ -308,6 +310,21 @@ public: MAXIMUM_SIZE, ///< name "maximumSize", type Vector2 @SINCE_1_0.0 INHERIT_POSITION, ///< name "inheritPosition", type bool @SINCE_1_1.24 CLIPPING_MODE, ///< name "clippingMode", type String @SINCE_1_2_5 + + /** + * @brief The direction of the layout. + * @details Name "layoutDirection", type LayoutDirection::Type (Property::INTEGER) or Property::STRING. + * @SINCE_1_2.60 + * @see LayoutDirection::Type for supported values. + */ + LAYOUT_DIRECTION, + + /** + * @brief Determines whether child actors inherit the layout direction from a parent. + * @details Name "layoutDirectionInheritance", type Property::BOOLEAN. + * @SINCE_1_2.60 + */ + INHERIT_LAYOUT_DIRECTION, }; }; @@ -320,6 +337,7 @@ public: typedef Signal< void (Actor) > OnStageSignalType; ///< Stage connection signal type @SINCE_1_0.0 typedef Signal< void (Actor) > OffStageSignalType; ///< Stage disconnection signal type @SINCE_1_0.0 typedef Signal< void (Actor) > OnRelayoutSignalType; ///< Called when the actor is relaid out @SINCE_1_0.0 + typedef Signal< void ( Actor, LayoutDirection::Type ) > LayoutDirectionChangedSignalType; ///< Layout direction changes signal type. @SINCE_1_2.60 // Creation @@ -401,7 +419,7 @@ public: * @return The ID * @pre The Actor has been initialized. */ - unsigned int GetId() const; + uint32_t GetId() const; // Containment @@ -487,7 +505,7 @@ public: * @return The number of children * @pre The Actor has been initialized. */ - unsigned int GetChildCount() const; + uint32_t GetChildCount() const; /** * @brief Retrieve and child actor by index. @@ -497,7 +515,7 @@ public: * @return The actor for the given index or empty handle if children not initialized * @pre The Actor has been initialized. */ - Actor GetChildAt(unsigned int index) const; + Actor GetChildAt( uint32_t index ) const; /** * @brief Search through this actor's hierarchy for an actor with the given name. @@ -519,7 +537,7 @@ public: * @return A handle to the actor if found, or an empty handle if not * @pre The Actor has been initialized. */ - Actor FindChildById(const unsigned int id); + Actor FindChildById( const uint32_t id ); /** * @brief Retrieves the actor's parent. @@ -638,6 +656,7 @@ public: * @return The actor's target size * @pre The actor has been initialized. * @note This return is the value that was set using SetSize or the target size of an animation. + * It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimum size is set. */ Vector3 GetTargetSize() const; @@ -764,19 +783,6 @@ public: Vector3 GetCurrentWorldPosition() const; /** - * @DEPRECATED_1_1.24 Use SetInheritPosition instead - * @brief Sets the actors position inheritance mode. - * - * The default is to inherit. - * Switching this off means that using SetPosition() sets the actor's world position. - * @SINCE_1_0.0 - * @param[in] mode to use - * @pre The Actor has been initialized. - * @see PositionInheritanceMode - */ - void SetPositionInheritanceMode( PositionInheritanceMode mode ) DALI_DEPRECATED_API; - - /** * @brief Sets whether a child actor inherits it's parent's position. * * Default is to inherit. @@ -792,16 +798,6 @@ public: } /** - * @DEPRECATED_1_1.24 Use IsPositionInherited - * @brief Returns the actors position inheritance mode. - * - * @SINCE_1_0.0 - * @return Return the position inheritance mode - * @pre The Actor has been initialized. - */ - PositionInheritanceMode GetPositionInheritanceMode() const DALI_DEPRECATED_API; - - /** * @brief Returns whether the actor inherits its parent's position. * * @SINCE_1_1.24 @@ -1238,6 +1234,64 @@ public: */ bool IsKeyboardFocusable() const; + /** + * @brief Raise actor above the next sibling actor. + * + * @SINCE_1_2.60 + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + */ + void Raise(); + + /** + * @brief Lower the actor below the previous sibling actor. + * + * @SINCE_1_2.60 + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + */ + void Lower(); + + /** + * @brief Raise actor above all other sibling actors. + * + * @SINCE_1_2.60 + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + */ + void RaiseToTop(); + + /** + * @brief Lower actor to the bottom of all other sibling actors. + * + * @SINCE_1_2.60 + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + */ + void LowerToBottom(); + + /** + * @brief Raises the actor above the target actor. + * + * @SINCE_1_2.60 + * @param[in] target The target actor + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + * @pre The target actor is a sibling. + */ + void RaiseAbove( Actor target ); + + /** + * @brief Lower the actor to below the target actor. + * + * @SINCE_1_2.60 + * @param[in] target The target actor + * @pre The Actor has been initialized. + * @pre The Actor has been parented. + * @pre The target actor is a sibling. + */ + void LowerBelow( Actor target ); + // SIZE NEGOTIATION /** @@ -1358,7 +1412,7 @@ public: * @brief Returns the minimum relayout size. * * @SINCE_1_0.0 - * @return Return the mininmum size + * @return Return the minimum size */ Vector2 GetMinimumSize(); @@ -1384,7 +1438,7 @@ public: * @SINCE_1_0.0 * @return The current depth in the hierarchy of the actor, or @c -1 if actor is not in the hierarchy */ - int GetHierarchyDepth(); + int32_t GetHierarchyDepth(); public: // Renderer @@ -1397,7 +1451,7 @@ public: // Renderer * @pre The renderer must be initialized. * */ - unsigned int AddRenderer( Renderer& renderer ); + uint32_t AddRenderer( Renderer& renderer ); /** * @brief Gets the number of renderers on this actor. @@ -1405,7 +1459,7 @@ public: // Renderer * @SINCE_1_0.0 * @return The number of renderers on this actor */ - unsigned int GetRendererCount() const; + uint32_t GetRendererCount() const; /** * @brief Gets a Renderer by index. @@ -1416,7 +1470,7 @@ public: // Renderer * @pre The index must be between 0 and GetRendererCount()-1 * */ - Renderer GetRendererAt( unsigned int index ); + Renderer GetRendererAt( uint32_t index ); /** * @brief Removes a renderer from the actor. @@ -1434,7 +1488,7 @@ public: // Renderer * @pre The index must be between 0 and GetRendererCount()-1 * */ - void RemoveRenderer( unsigned int index ); + void RemoveRenderer( uint32_t index ); public: // Signals @@ -1555,6 +1609,22 @@ public: // Signals */ OnRelayoutSignalType& OnRelayoutSignal(); + /** + * @brief This signal is emitted when the layout direction property of this or a parent actor is changed. + * + * A callback of the following type may be connected: + * @code + * void YourCallbackName( Actor actor, LayoutDirection::Type type ); + * @endcode + * actor: The actor, or child of actor, whose layout direction has changed + * type: Whether the actor's layout direction property has changed or a parent's. + * + * @SINCE_1_2.60 + * @return The signal to connect to + * @pre The Actor has been initialized. + */ + LayoutDirectionChangedSignalType& LayoutDirectionChangedSignal(); + public: // Not intended for application developers /// @cond internal