Dali 3D User Interface Engine
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
Dali::Internal::Constrainer Class Referenceabstract

An abstract base class for constrainers. More...

#include <constrainer.h>

Inheritance diagram for Dali::Internal::Constrainer:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::Constrainer:
Collaboration graph
[legend]

Public Member Functions

 Constrainer ()
 Constructor. More...
 
virtual ~Constrainer ()
 Virtual destructor. More...
 
virtual unsigned int GetDefaultPropertyCount () const
 Query how many default properties the derived class supports. More...
 
virtual void GetDefaultPropertyIndices (Property::IndexContainer &indices) const
 Retrieve all the indices that are associated with the default properties supported by the derived class. More...
 
virtual const char * GetDefaultPropertyName (Property::Index index) const
 Query how many default properties the derived class supports. More...
 
virtual Property::Index GetDefaultPropertyIndex (const std::string &name) const
 Query the index of a default property. More...
 
virtual bool IsDefaultPropertyWritable (Property::Index index) const
 Query whether a default property is writable. More...
 
virtual bool IsDefaultPropertyAnimatable (Property::Index index) const
 Query whether a default property is animatable. More...
 
virtual bool IsDefaultPropertyAConstraintInput (Property::Index index) const
 Query whether a default property can be used as an input to a constraint. More...
 
virtual Property::Type GetDefaultPropertyType (Property::Index index) const
 Query the type of a default property. More...
 
virtual void SetDefaultProperty (Property::Index index, const Property::Value &propertyValue)
 Set the value of a default property. More...
 
virtual Property::Value GetDefaultProperty (Property::Index index) const
 Retrieve a default property value. More...
 
virtual const
SceneGraph::PropertyOwner
GetSceneObject () const
 Retrieve the scene-graph object added by this object. More...
 
virtual const
SceneGraph::PropertyBase
GetSceneObjectAnimatableProperty (Property::Index index) const
 Retrieve an animatable property owned by the scene-graph object. More...
 
virtual const PropertyInputImplGetSceneObjectInputProperty (Property::Index index) const
 Retrieve a constraint input-property owned by the scene-graph object. More...
 
virtual void SceneObjectAdded (Object &object)
 Called immediately after the object has created & passed ownership of a scene-graph object. More...
 
virtual void SceneObjectRemoved (Object &object)
 Called shortly before the object sends a message to remove its scene object. More...
 
virtual void ObjectDestroyed (Object &object)
 Called shortly before the object itself is destroyed; no further callbacks will be received. More...
 
virtual void Apply (Property target, Property source, const Vector2 &range, const Vector2 &wrap)=0
 Applies the constraint to the target property. More...
 
void Remove (Dali::Handle &target)
 Removes the constraint in the target object. More...
 
- Public Member Functions inherited from Dali::Internal::Object
 Object ()
 Constructor. More...
 
virtual void AddObserver (Observer &observer)
 Add an observer to the object. More...
 
virtual void RemoveObserver (Observer &observer)
 Remove an observer from the object. More...
 
virtual bool Supports (Capability capability) const
 Query whether an handle supports a given capability. More...
 
virtual unsigned int GetPropertyCount () const
 Query how many properties are provided by an handle. More...
 
virtual std::string GetPropertyName (Property::Index index) const
 Query the name of a property. More...
 
virtual Property::Index GetPropertyIndex (const std::string &name) const
 Query the index of a property. More...
 
virtual bool IsPropertyWritable (Property::Index index) const
 Query whether a property can be set using SetProperty(). More...
 
virtual bool IsPropertyAnimatable (Property::Index index) const
 Query whether a writable property can be the target of an animation or constraint. More...
 
virtual bool IsPropertyAConstraintInput (Property::Index index) const
 Query whether a property can be used as in input to a constraint. More...
 
virtual Property::Type GetPropertyType (Property::Index index) const
 Query the type of a property. More...
 
virtual void SetProperty (Property::Index index, const Property::Value &propertyValue)
 Set the value of an existing property. More...
 
virtual Property::Value GetProperty (Property::Index index) const
 Retrieve a property value. More...
 
virtual void GetPropertyIndices (Property::IndexContainer &indices) const
 Retrieve all the property indices for this object (including custom properties). More...
 
virtual Property::Index RegisterProperty (const std::string &name, const Property::Value &propertyValue)
 Register a new animatable property. More...
 
virtual Property::Index RegisterProperty (const std::string &name, const Property::Value &propertyValue, Property::AccessMode accessMode)
  More...
 
virtual Dali::PropertyNotification AddPropertyNotification (Property::Index index, int componentIndex, const Dali::PropertyCondition &condition)
 Add a property notification to this object. More...
 
virtual void RemovePropertyNotification (Dali::PropertyNotification propertyNotification)
 Remove a property notification from this object. More...
 
virtual void RemovePropertyNotifications ()
 Remove all property notifications from this object. More...
 
void AddUniformMapping (Property::Index propertyIndex, const std::string &uniformName) const
  More...
 
void RemoveUniformMapping (const std::string &uniformName)
  More...
 
void ApplyConstraint (ConstraintBase &constraint)
 Apply a constraint to an Object. More...
 
void RemoveConstraint (ConstraintBase &constraint)
 Remove one constraint from an Object. More...
 
void RemoveConstraints ()
 Remove all constraints from a Object. More...
 
void RemoveConstraints (unsigned int tag)
 Remove all constraints from a Object with a matching tag. More...
 
void SetTypeInfo (const TypeInfo *typeInfo)
 Called by TypeInfo to set the type-info that this object-impl is created by. More...
 
unsigned int CustomPropertyStartIndex ()
 
virtual int GetPropertyComponentIndex (Property::Index index) const
 Query whether the property is a component of a scene-graph property. More...
 
- Public Member Functions inherited from Dali::BaseObject
template<class T >
bool ConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, const T &functor)
 Connects a void() functor to a specified signal. More...
 
bool DoAction (const std::string &actionName, const Property::Map &attributes)
 Perform action on this object with the given action name and attributes. More...
 
const std::string & GetTypeName () const
 Returns the type name for the Handle. More...
 
bool GetTypeInfo (Dali::TypeInfo &info) const
 Returns the type info for the Handle. More...
 
bool DoConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functorDelegate)
 Not intended for application developers. More...
 
- Public Member Functions inherited from Dali::RefObject
void Reference ()
 Increment the object's reference count. More...
 
void Unreference ()
 Decrement the object's reference count. More...
 
int ReferenceCount ()
 Retrieve the object's reference count. More...
 

Protected Member Functions

void Observe (Dali::Handle &handle)
 Adds an object to the list of observed objects. More...
 
- Protected Member Functions inherited from Dali::Internal::Object
virtual ~Object ()
 A reference counted object may only be deleted by calling Unreference() More...
 
void OnSceneObjectAdd ()
 Called immediately by derived classes, after the scene-object has been created & passed to the scene-graph. More...
 
void OnSceneObjectRemove ()
 Called by derived classes, shortly before send a message to remove the scene-object. More...
 
virtual void OnPropertySet (Property::Index index, Property::Value propertyValue)
 For use in derived classes. More...
 
const TypeInfoGetTypeInfo () const
 Retrieves the TypeInfo for this object. More...
 
CustomPropertyMetadataFindCustomProperty (Property::Index index) const
 Helper to find custom property. More...
 
AnimatablePropertyMetadataFindAnimatableProperty (Property::Index index) const
 Helper to find animatable property. More...
 
Property::Index RegisterSceneGraphProperty (const std::string &name, Property::Index index, const Property::Value &propertyValue) const
 Helper to register a scene-graph property. More...
 
AnimatablePropertyMetadataRegisterAnimatableProperty (Property::Index index) const
 Check whether the animatable property is registered already, if not then register one. More...
 
EventThreadServicesGetEventThreadServices ()
 Get the event thread services object - used for sending messages to the scene graph Assert if called from the wrong thread. More...
 
const EventThreadServicesGetEventThreadServices () const
 Get the event thread services object - used for sending messages to the scene graph Assert if called from the wrong thread This is intentionally inline for performance reasons. More...
 
- Protected Member Functions inherited from Dali::BaseObject
 BaseObject ()
 Default constructor. More...
 
virtual ~BaseObject ()
 A reference counted object may only be deleted by calling Unreference(). More...
 
void RegisterObject ()
 Registers the object as created with the Object registry. More...
 
void UnregisterObject ()
 Unregisters the object from Object registry. More...
 
- Protected Member Functions inherited from Dali::RefObject
 RefObject ()
 Default constructor. More...
 
virtual ~RefObject ()
 RefObject is intended as a base class. More...
 
 RefObject (const RefObject &rhs)
 Copy constructor. More...
 
RefObjectoperator= (const RefObject &rhs)
 Assignment operator. More...
 
- Protected Member Functions inherited from Dali::Internal::Object::Observer
virtual ~Observer ()
 Virtual destructor. More...
 

Private Attributes

ObjectContainer mObservedObjects
 The list of object which have been constrained by the Constrainer. More...
 

Additional Inherited Members

- Public Types inherited from Dali::Internal::Object
typedef Dali::Handle::Capability Capability
 

Detailed Description

An abstract base class for constrainers.

Constrainer base class is responsible or observing constrained objects and remove all the constraints created when it is destroyed

Definition at line 39 of file constrainer.h.

Constructor & Destructor Documentation

Dali::Internal::Constrainer::Constrainer ( )

Constructor.

Definition at line 31 of file constrainer.cpp.

Dali::Internal::Constrainer::~Constrainer ( )
virtual

Virtual destructor.

Definition at line 36 of file constrainer.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), and mObservedObjects.

Here is the call graph for this function:

Member Function Documentation

virtual void Dali::Internal::Constrainer::Apply ( Property  target,
Property  source,
const Vector2 range,
const Vector2 wrap 
)
pure virtual

Applies the constraint to the target property.

Parameters
[in]targetProperty to be constrained
[in]sourceProperty used as parameter for the path
[in]rangeThe range of values in the source property which will be mapped to [0,1]
[in]wrapWrapping domain. Source property will be wrapped in the domain [wrap.x,wrap.y] before mapping to [0,1]

Implemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

virtual Property::Value Dali::Internal::Constrainer::GetDefaultProperty ( Property::Index  index) const
inlinevirtual

Retrieve a default property value.

Parameters
[in]indexThe index of the property.
Returns
The property value.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 103 of file constrainer.h.

References Dali::Property::Value().

Here is the call graph for this function:

virtual unsigned int Dali::Internal::Constrainer::GetDefaultPropertyCount ( ) const
inlinevirtual

Query how many default properties the derived class supports.

Returns
The number of default properties.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 58 of file constrainer.h.

virtual Property::Index Dali::Internal::Constrainer::GetDefaultPropertyIndex ( const std::string &  name) const
inlinevirtual

Query the index of a default property.

Parameters
[in]nameThe name of the property.
Returns
The index of the property, or Property::INVALID_INDEX if no default property exists with the given name.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 73 of file constrainer.h.

References Dali::Property::INVALID_INDEX.

virtual void Dali::Internal::Constrainer::GetDefaultPropertyIndices ( Property::IndexContainer indices) const
inlinevirtual

Retrieve all the indices that are associated with the default properties supported by the derived class.

Returns
A container of default property indices.
Note
The deriving class must not modify the existing elements in the container.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 63 of file constrainer.h.

virtual const char* Dali::Internal::Constrainer::GetDefaultPropertyName ( Property::Index  index) const
inlinevirtual

Query how many default properties the derived class supports.

Returns
The number of default properties.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 68 of file constrainer.h.

virtual Property::Type Dali::Internal::Constrainer::GetDefaultPropertyType ( Property::Index  index) const
inlinevirtual

Query the type of a default property.

Parameters
[in]indexThe index of the property.
Returns
The type of the property.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 93 of file constrainer.h.

References Dali::Property::NONE.

virtual const SceneGraph::PropertyOwner* Dali::Internal::Constrainer::GetSceneObject ( ) const
inlinevirtual

Retrieve the scene-graph object added by this object.

Returns
A pointer to the object, or NULL if no object has been added to the scene-graph.

Implements Dali::Internal::Object.

Definition at line 108 of file constrainer.h.

virtual const SceneGraph::PropertyBase* Dali::Internal::Constrainer::GetSceneObjectAnimatableProperty ( Property::Index  index) const
inlinevirtual

Retrieve an animatable property owned by the scene-graph object.

Precondition
-1 < index < GetPropertyCount().
Parameters
[in]indexThe index of the property.
Returns
A dereferenceable pointer to a property, or NULL if a scene-object does not exist with this property.

Implements Dali::Internal::Object.

Definition at line 113 of file constrainer.h.

virtual const PropertyInputImpl* Dali::Internal::Constrainer::GetSceneObjectInputProperty ( Property::Index  index) const
inlinevirtual

Retrieve a constraint input-property owned by the scene-graph object.

Precondition
-1 < index < GetPropertyCount().
Parameters
[in]indexThe index of the property.
Returns
A dereferenceable pointer to an input property, or NULL if a scene-object does not exist with this property.

Implements Dali::Internal::Object.

Definition at line 118 of file constrainer.h.

virtual bool Dali::Internal::Constrainer::IsDefaultPropertyAConstraintInput ( Property::Index  index) const
inlinevirtual

Query whether a default property can be used as an input to a constraint.

Parameters
[in]indexThe index of the property.
Returns
True if the property can be used as an input to a constraint.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 88 of file constrainer.h.

virtual bool Dali::Internal::Constrainer::IsDefaultPropertyAnimatable ( Property::Index  index) const
inlinevirtual

Query whether a default property is animatable.

This determines whether the property can be the target of an animation or constraint.

Parameters
[in]indexThe index of the property.
Returns
True if the property is animatable.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 83 of file constrainer.h.

virtual bool Dali::Internal::Constrainer::IsDefaultPropertyWritable ( Property::Index  index) const
inlinevirtual

Query whether a default property is writable.

Parameters
[in]indexThe index of the property.
Returns
True if the property is animatable.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 78 of file constrainer.h.

void Dali::Internal::Constrainer::ObjectDestroyed ( Object object)
virtual

Called shortly before the object itself is destroyed; no further callbacks will be received.

Parameters
[in]objectThe object object.

Implements Dali::Internal::Object::Observer.

Definition at line 51 of file constrainer.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::Vector< T, IsTrivialType >::Erase(), and mObservedObjects.

Here is the call graph for this function:

void Dali::Internal::Constrainer::Observe ( Dali::Handle handle)
protected

Adds an object to the list of observed objects.

Parameters
[in]handleA handle to the object to be observed

Definition at line 86 of file constrainer.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::GetImplementation(), mObservedObjects, and Dali::Vector< T, IsTrivialType >::PushBack().

Referenced by Dali::Internal::PathConstrainer::Apply(), and Dali::Internal::LinearConstrainer::Apply().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Constrainer::Remove ( Dali::Handle target)

Removes the constraint in the target object.

Parameters
[in]targetA handle to an object constrained by the Constrainer

Definition at line 65 of file constrainer.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::Vector< T, IsTrivialType >::Erase(), Dali::GetImplementation(), mObservedObjects, and Dali::Handle::RemoveConstraints().

Here is the call graph for this function:

virtual void Dali::Internal::Constrainer::SceneObjectAdded ( Object object)
inlinevirtual

Called immediately after the object has created & passed ownership of a scene-graph object.

Parameters
[in]objectThe object object.

Implements Dali::Internal::Object::Observer.

Definition at line 125 of file constrainer.h.

virtual void Dali::Internal::Constrainer::SceneObjectRemoved ( Object object)
inlinevirtual

Called shortly before the object sends a message to remove its scene object.

Parameters
[in]objectThe object object.

Implements Dali::Internal::Object::Observer.

Definition at line 130 of file constrainer.h.

virtual void Dali::Internal::Constrainer::SetDefaultProperty ( Property::Index  index,
const Property::Value propertyValue 
)
inlinevirtual

Set the value of a default property.

Precondition
The property types match i.e. propertyValue.GetType() is equal to GetPropertyType(index).
Parameters
[in]indexThe index of the property.
[in]propertyValueThe new value of the property.

Implements Dali::Internal::Object.

Reimplemented in Dali::Internal::LinearConstrainer, and Dali::Internal::PathConstrainer.

Definition at line 98 of file constrainer.h.

Member Data Documentation

ObjectContainer Dali::Internal::Constrainer::mObservedObjects
private

The list of object which have been constrained by the Constrainer.

Definition at line 167 of file constrainer.h.

Referenced by ObjectDestroyed(), Observe(), Remove(), and ~Constrainer().


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali