*/
// INTERNAL INCLUDES
-#include <dali/public-api/animation/active-constraint.h>
#include <dali/public-api/animation/constraint.h>
#include <dali/public-api/common/dali-vector.h>
#include <dali/public-api/common/vector-wrapper.h>
#include <dali/public-api/object/base-object.h>
#include <dali/public-api/object/handle.h>
#include <dali/public-api/object/property.h>
+#include <dali/public-api/object/property-index-ranges.h>
#include <dali/public-api/object/property-input.h>
#include <dali/public-api/object/property-notification.h>
#include <dali/internal/common/owner-container.h>
namespace Internal
{
-class Constraint;
+class ConstraintBase;
class EventThreadServices;
class Handle;
class PropertyCondition;
class PropertyOwner;
}
-typedef std::vector< Dali::ActiveConstraint > ActiveConstraintContainer;
-typedef ActiveConstraintContainer::iterator ActiveConstraintIter;
-typedef ActiveConstraintContainer::const_iterator ActiveConstraintConstIter;
+typedef std::vector< Dali::Constraint > ConstraintContainer;
+typedef ConstraintContainer::iterator ConstraintIter;
+typedef ConstraintContainer::const_iterator ConstraintConstIter;
/**
* A base class for objects which optionally provide properties.
// Constraints
/**
- * Apply a constraint to a Object.
+ * Apply a constraint to an Object.
* @param[in] constraint The constraint to apply.
*/
- Dali::ActiveConstraint ApplyConstraint( Constraint& constraint );
+ void ApplyConstraint( ConstraintBase& constraint );
/**
- * Apply a constraint to a Object.
- * @param[in] constraint The constraint to apply.
- * @param[in] weightObject An object with a "weight" float property.
- */
- Dali::ActiveConstraint ApplyConstraint( Constraint& constraint, Dali::Handle weightObject );
-
- /**
- * Remove one constraint from a Object.
- * @param[in] activeConstraint The active constraint to remove.
+ * Remove one constraint from an Object.
+ * @param[in] constraint The constraint to remove.
*/
- void RemoveConstraint( Dali::ActiveConstraint activeConstraint );
+ void RemoveConstraint( ConstraintBase& constraint );
/**
* Remove all constraints from a Object.
/**
* For use in derived classes.
- * This is called after a non animatable custom property is set.
+ * This is called after a property is set.
* @param [in] index The index of the property.
* @param [in] propertyValue The value of the property.
*/
*/
AnimatablePropertyMetadata* FindAnimatableProperty( Property::Index index ) const;
+ /**
+ * Helper to register a scene-graph property
+ * @param [in] name The name of the property.
+ * @param [in] index The index of the property
+ * @param [in] value The value of the property.
+ * @return The index of the registered property or Property::INVALID_INDEX if registration failed.
+ */
+ Property::Index RegisterSceneGraphProperty(const std::string& name, Property::Index index, const Property::Value& propertyValue) const;
+
private: // Default property extensions for derived classes
/**
void DisablePropertyNotifications();
/**
- * Helper for ApplyConstraint overloads.
- * @param[in] constraint The constraint to apply.
- * @param[in] weightObject An object with a "weight" float property, or an empty handle.
- * @return The new active-constraint which is owned by Object.
- */
- ActiveConstraintBase* DoApplyConstraint( Constraint& constraint, Dali::Handle weightObject );
-
- /**
- * Helper to remove active constraints
- */
- void RemoveConstraint( ActiveConstraint& constraint, bool isInScenegraph );
-
- /**
* Get the value of the property.
* @param [in] entry An entry from the property lookup container.
* @return The new value of the property.
*/
virtual void SetSceneGraphProperty( Property::Index index, const PropertyMetadata& entry, const Property::Value& value );
- /**
- * Helper to register a scene-graph property
- * @param [in] name The name of the property.
- * @param [in] index The index of the property
- * @param [in] value The value of the property.
- * @return The index of the registered property or Property::INVALID_INDEX if registration failed.
- */
- Property::Index RegisterSceneGraphProperty(const std::string& name, Property::Index index, const Property::Value& propertyValue) const;
-
protected:
/**
* Get the event thread services object - used for sending messages to the scene graph
Dali::Vector<Observer*> mObservers;
- ActiveConstraintContainer* mConstraints; ///< Container of owned active-constraints.
+ ConstraintContainer* mConstraints; ///< Container of owned -constraints.
typedef std::vector< Dali::PropertyNotification > PropertyNotificationContainer;
typedef PropertyNotificationContainer::iterator PropertyNotificationContainerIter;