[3.0] Exclude internal tag module in Public API reference
[platform/core/uifw/dali-core.git] / dali / public-api / animation / constraint.h
index 6f51a68..6b7df27 100644 (file)
 
 namespace Dali
 {
+/**
+ * @addtogroup dali_core_animation
+ * @{
+ */
 
 class Handle;
 
@@ -59,6 +63,7 @@ typedef Vector< PropertyInput* > PropertyInputContainer;
  * constraint.AddSource( LocalSource( INPUT_PROPERTY_INDEX ) );
  * constraint.Apply();
  * @endcode
+ * @SINCE_1_0.0
  */
 class DALI_IMPORT_API Constraint : public BaseHandle
 {
@@ -84,6 +89,7 @@ public:
    * added to the Constraint in the order they were added via AddSource().
    *
    * @tparam  P  The property type to constrain.
+   * @SINCE_1_0.0
    */
   template< typename P >
   class DALI_INTERNAL Function : public CallbackBase
@@ -98,6 +104,7 @@ public:
      *   void MyFunction( P&, const PropertyInputContainer& );
      * @endcode
      *
+     * @SINCE_1_0.0
      * @param[in]  function  The function to call.
      */
     Function( void( *function )( P&, const PropertyInputContainer& ) )
@@ -114,6 +121,7 @@ public:
      *   void operator()( P&, const PropertyInputContainer& );
      * @endcode
      *
+     * @SINCE_1_0.0
      * @param[in]  object  The object to copy.
      *
      * @tparam  T  The type of the object.
@@ -136,6 +144,7 @@ public:
      *   void MyObject::MyMethod( P&, const PropertyInputContainer& );
      * @endcode
      *
+     * @SINCE_1_0.0
      * @param[in]  object          The object to copy.
      * @param[in]  memberFunction  The member function to call. This has to be a member of the same class.
      *
@@ -156,6 +165,7 @@ public:
      *
      * The object, if held by this object, is also copied.
      *
+     * @SINCE_1_0.0
      * @return A pointer to a newly-allocation Function.
      */
     CallbackBase* Clone()
@@ -187,6 +197,7 @@ public:
 
     /**
      * @brief Used to call the function to copy the stored object
+     * @SINCE_1_0.0
      */
     typedef UndefinedClass* (*CopyConstructorDispatcher) ( UndefinedClass* object );
 
@@ -194,6 +205,7 @@ public:
      * @brief Copies the actual object in Constraint::Function.
      *
      * @tparam  T  The type of the object.
+     * @SINCE_1_0.0
      */
     template< class T >
     struct ObjectCopyConstructorDispatcher
@@ -201,6 +213,7 @@ public:
       /**
        * @brief Copy the object stored in Constraint::Function.
        *
+       * @SINCE_1_0.0
        * @param[in]  object  The object to copy.
        *
        * @return Newly allocated clone of the object.
@@ -214,17 +227,20 @@ public:
 
     /**
      * @brief Undefined copy constructor
+     * @SINCE_1_0.0
      */
     Function( const Function& );
 
     /**
      * @brief Undefined assignment operator
+     * @SINCE_1_0.0
      */
     Function& operator=( const Function& );
 
     /**
      * @brief Constructor used when copying the stored object.
      *
+     * @SINCE_1_0.0
      * @param[in]  object                     A newly copied object
      * @param[in]  memberFunction             The member function of the object.
      * @param[in]  dispatcher                 Used to call the actual object.
@@ -244,6 +260,7 @@ public:
     /**
      * @brief Constructor used when copying a simple stored function.
      *
+     * @SINCE_1_0.0
      * @param[in]  function   The function to call.
      */
     Function( CallbackBase::Function function )
@@ -262,11 +279,12 @@ public:
    *
    * The final value may be "baked" i.e. saved permanently.
    * Alternatively the constrained value may be discarded when the constraint is removed.
+   * @SINCE_1_0.0
    */
   enum RemoveAction
   {
-    Bake,   ///< When the constraint is fully-applied, the constrained value is saved.
-    Discard ///< When the constraint is removed, the constrained value is discarded.
+    Bake,   ///< When the constraint is fully-applied, the constrained value is saved. @SINCE_1_0.0
+    Discard ///< When the constraint is removed, the constrained value is discarded. @SINCE_1_0.0
   };
 
   static const RemoveAction  DEFAULT_REMOVE_ACTION;  ///< Bake
@@ -274,7 +292,8 @@ public:
   /**
    * @brief Create an uninitialized Constraint; this can be initialized with Constraint::New().
    *
-   * Calling member functions with an uninitialized Dali::Object is not allowed.
+   * Calling member functions with an uninitialized Constraint handle is not allowed.
+   * @SINCE_1_0.0
    */
   Constraint();
 
@@ -287,10 +306,12 @@ public:
    * @endcode
    *
    * Create the constraint with this function as follows:
+   *
    * @code
    *   Constraint constraint = Constraint::New< Vector3 >( handle, CONSTRAINING_PROPERTY_INDEX, &MyFunction );
    * @endcode
    *
+   * @SINCE_1_0.0
    * @param[in]  handle       The handle to the property-owning object.
    * @param[in]  targetIndex  The index of the property to constrain.
    * @param[in]  function     The function to call to set the constrained property value.
@@ -317,10 +338,12 @@ public:
    * @endcode
    *
    * Create the constraint with this object as follows:
+   *
    * @code
    *   Constraint constraint = Constraint::New< Vector3 >( handle, CONSTRAINING_PROPERTY_INDEX, MyObject() );
    * @endcode
    *
+   * @SINCE_1_0.0
    * @param[in]  handle       The handle to the property-owning object.
    * @param[in]  targetIndex  The index of the property to constrain.
    * @param[in]  object       The functor object whose functor is called to set the constrained property value.
@@ -348,10 +371,12 @@ public:
    * @endcode
    *
    * Create the constraint with this object as follows:
+   *
    * @code
    *   Constraint constraint = Constraint::New< Vector3 >( handle, CONSTRAINING_PROPERTY_INDEX, MyObject(), &MyObject::MyMethod );
    * @endcode
    *
+   * @SINCE_1_0.0
    * @param[in]  handle          The handle to the property-owning object.
    * @param[in]  targetIndex     The index of the property to constrain.
    * @param[in]  object          The object whose member function is called to set the constrained property value.
@@ -371,6 +396,7 @@ public:
   /**
    * @brief Creates a clones of this constraint for another object.
    *
+   * @SINCE_1_0.0
    * @param[in]  handle  The handle to the property-owning object this constraint is to be cloned for.
    *
    * @return The new constraint.
@@ -381,12 +407,14 @@ public:
    * @brief Destructor
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
+   * @SINCE_1_0.0
    */
   ~Constraint();
 
   /**
    * @brief This copy constructor is required for (smart) pointer semantics.
    *
+   * @SINCE_1_0.0
    * @param [in]  constraint  A reference to the copied handle
    */
   Constraint( const Constraint& constraint );
@@ -394,24 +422,27 @@ public:
   /**
    * @brief This assignment operator is required for (smart) pointer semantics.
    *
+   * @SINCE_1_0.0
    * @param [in] rhs  A reference to the copied handle
    * @return A reference to this
    */
   Constraint& operator=( const Constraint& rhs );
 
   /**
-   * @brief Downcast an Object handle to Constraint handle.
+   * @brief Downcast a handle to Constraint handle.
    *
    * If handle points to a Constraint object the
    * downcast produces valid handle. If not the returned handle is left uninitialized.
-   * @param[in]  baseHandle  to An object
-   * @return handle to a Constraint object or an uninitialized handle
+   * @SINCE_1_0.0
+   * @param[in] baseHandle BaseHandle to an object
+   * @return Handle to a Constraint object or an uninitialized handle
    */
   static Constraint DownCast( BaseHandle baseHandle );
 
   /**
    * @brief Adds a constraint source to the constraint
    *
+   * @SINCE_1_0.0
    * @param[in] source The constraint source input to add
    */
   void AddSource( ConstraintSource source );
@@ -419,6 +450,7 @@ public:
   /**
    * @brief Applies this constraint.
    *
+   * @SINCE_1_0.0
    * @pre The constraint must be initialized
    * @pre The target object must still be alive
    * @pre The source inputs should not have been destroyed
@@ -427,12 +459,14 @@ public:
 
   /**
    * @brief Removes this constraint.
+   * @SINCE_1_0.0
    */
   void Remove();
 
   /**
    * @brief Retrieve the object which this constraint is targeting.
    *
+   * @SINCE_1_0.0
    * @return The target object.
    */
   Handle GetTargetObject();
@@ -440,30 +474,33 @@ public:
   /**
    * @brief Retrieve the property which this constraint is targeting.
    *
+   * @SINCE_1_0.0
    * @return The target property.
    */
   Dali::Property::Index GetTargetProperty();
 
   /**
-   * @brief Set whether the constraint will "bake" a value when fully-applied.
+   * @brief Set the remove action. Constraint::Bake will "bake" a value when fully-applied.
    *
-   * Otherwise the constrained value will be discarded, when the constraint is removed.
+   * In case of Constraint::Discard, the constrained value will be discarded, when the constraint is removed.
    * The default value is Constraint::Bake.
+   * @SINCE_1_0.0
    * @param[in] action The remove-action.
    */
   void SetRemoveAction( RemoveAction action );
 
   /**
-   * @brief Query whether the constraint will "bake" a value when fully-applied.
+   * @brief Retrieve the remove action that will happen when the constraint is removed.
    *
-   * Otherwise the constrained value will be discarded, when the constraint is removed.
-   * @return The apply-action.
+   * @SINCE_1_0.0
+   * @return The remove-action.
    */
   RemoveAction GetRemoveAction() const;
 
   /**
    * @brief Set a tag for the constraint so it can be identified later
    *
+   * @SINCE_1_0.0
    * @param[in] tag An integer to identify the constraint
    */
   void SetTag( const unsigned int tag );
@@ -471,6 +508,7 @@ public:
   /**
    * @brief Get the tag
    *
+   * @SINCE_1_0.0
    * @return The tag
    */
   unsigned int GetTag() const;
@@ -478,7 +516,9 @@ public:
 public: // Not intended for use by Application developers
 
   /**
-   * @brief This constructor is used by Dali New() methods
+   * @internal
+   * @brief This constructor is used by Constraint::New() methods
+   * @SINCE_1_0.0
    * @param [in] constraint A pointer to a newly allocated Dali resource
    */
   explicit DALI_INTERNAL Constraint( Internal::ConstraintBase* constraint );
@@ -488,6 +528,7 @@ private: // Not intended for use by Application developers
   /**
    * @brief Construct a new constraint which targets a property.
    *
+   * @SINCE_1_0.0
    * @param[in]  handle       The handle to the property-owning object.
    * @param[in]  targetIndex  The index of the property to constrain.
    * @param[in]  targetType   Type The type of the constrained property.
@@ -497,6 +538,9 @@ private: // Not intended for use by Application developers
   static Constraint New( Handle handle, Property::Index targetIndex, Property::Type targetType, CallbackBase* function );
 };
 
+/**
+ * @}
+ */
 } // namespace Dali
 
 #endif // __DALI_CONSTRAINT_H__