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

A base class for objects which optionally provide properties. More...

#include <object-impl.h>

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

Classes

class  Observer
 

Public Types

typedef Dali::Handle::Capability Capability
 

Public Member Functions

 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 const
SceneGraph::PropertyOwner
GetSceneObject () const =0
 Retrieve the scene-graph object added by this object. More...
 
virtual const
SceneGraph::PropertyBase
GetSceneObjectAnimatableProperty (Property::Index index) const =0
 Retrieve an animatable property owned by the scene-graph object. More...
 
virtual const PropertyInputImplGetSceneObjectInputProperty (Property::Index index) const =0
 Retrieve a constraint input-property owned by the scene-graph object. More...
 
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

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...
 

Private Types

typedef OwnerContainer
< PropertyMetadata * > 
PropertyMetadataLookup
 
typedef std::vector
< Dali::PropertyNotification
PropertyNotificationContainer
 
typedef
PropertyNotificationContainer::iterator 
PropertyNotificationContainerIter
 
typedef
PropertyNotificationContainer::const_iterator 
PropertyNotificationContainerConstIter
 

Private Member Functions

virtual unsigned int GetDefaultPropertyCount () const =0
 Query how many default properties the derived class supports. More...
 
virtual void GetDefaultPropertyIndices (Property::IndexContainer &indices) const =0
 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 =0
 Query how many default properties the derived class supports. More...
 
virtual Property::Index GetDefaultPropertyIndex (const std::string &name) const =0
 Query the index of a default property. More...
 
virtual bool IsDefaultPropertyWritable (Property::Index index) const =0
 Query whether a default property is writable. More...
 
virtual bool IsDefaultPropertyAnimatable (Property::Index index) const =0
 Query whether a default property is animatable. More...
 
virtual bool IsDefaultPropertyAConstraintInput (Property::Index index) const =0
 Query whether a default property can be used as an input to a constraint. More...
 
virtual Property::Type GetDefaultPropertyType (Property::Index index) const =0
 Query the type of a default property. More...
 
virtual void SetDefaultProperty (Property::Index index, const Property::Value &propertyValue)=0
 Set the value of a default property. More...
 
virtual Property::Value GetDefaultProperty (Property::Index index) const =0
 Retrieve a default property value. More...
 
virtual const
SceneGraph::PropertyOwner
GetPropertyOwner () const
 
virtual void NotifyScenePropertyInstalled (const SceneGraph::PropertyBase &newProperty, const std::string &name, unsigned int index) const
 Notify derived class of installation of a new scene-object property. More...
 
 Object (const Object &rhs)
 
Objectoperator= (const Object &rhs)
 
void EnablePropertyNotifications ()
 Enable property notifications in scene graph. More...
 
void DisablePropertyNotifications ()
 Enable property notifications in scene graph. More...
 
Property::Value GetPropertyValue (const PropertyMetadata *entry) const
 Get the value of the property. More...
 
virtual void SetSceneGraphProperty (Property::Index index, const PropertyMetadata &entry, const Property::Value &value)
 Set the value of scene graph property. More...
 

Private Attributes

EventThreadServicesmEventThreadServices
 
PropertyMetadataLookup mCustomProperties
 Used for accessing custom Node properties. More...
 
PropertyMetadataLookup mAnimatableProperties
 Used for accessing animatable Node properties. More...
 
TypeInfo const * mTypeInfo
 The type-info for this object, mutable so it can be lazy initialized from const method if it is required. More...
 
Dali::Vector< Observer * > mObservers
 
ConstraintContainermConstraints
 Container of owned -constraints. More...
 
PropertyNotificationContainermPropertyNotifications
 Container of owned property notifications. More...
 

Detailed Description

A base class for objects which optionally provide properties.

The concrete derived class is responsible for implementing the property system methods. Classes may derive from Dali::BaseObject, until any properties are required.

An object for a property-owning object in the scene-graph. This provides an interface for observing the addition/removal of scene-objects.

The concrete derived class is responsible for: 1) Adding & removing an object from the scene-graph. The OnSceneObjectAdd() and OnSceneObjectRemove() methods should be called by the derived class, to trigger observer callbacks. 3) Implementing the GetSceneObject() methods, used to access the scene-object. 4) Providing access to properties stored by the scene-graph object. These should match the properties reported by the base Dali::Internal::Object methods.

Definition at line 79 of file object-impl.h.

Member Typedef Documentation

Definition at line 83 of file object-impl.h.

Definition at line 518 of file object-impl.h.

Definition at line 527 of file object-impl.h.

typedef PropertyNotificationContainer::const_iterator Dali::Internal::Object::PropertyNotificationContainerConstIter
private

Definition at line 529 of file object-impl.h.

typedef PropertyNotificationContainer::iterator Dali::Internal::Object::PropertyNotificationContainerIter
private

Definition at line 528 of file object-impl.h.

Constructor & Destructor Documentation

Dali::Internal::Object::Object ( )

Constructor.

Definition at line 57 of file object-impl.cpp.

Dali::Internal::Object::~Object ( )
protectedvirtual

A reference counted object may only be deleted by calling Unreference()

Definition at line 1202 of file object-impl.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), mConstraints, mObservers, and mPropertyNotifications.

Here is the call graph for this function:

Dali::Internal::Object::Object ( const Object rhs)
private

Member Function Documentation

void Dali::Internal::Object::AddObserver ( Observer observer)
virtual
Dali::PropertyNotification Dali::Internal::Object::AddPropertyNotification ( Property::Index  index,
int  componentIndex,
const Dali::PropertyCondition condition 
)
virtual

Add a property notification to this object.

.0

Parameters
[in]indexThe index of the property.
[in]conditionThe notification will be triggered when this condition is satisfied.
Returns
A handle to the newly created PropertyNotification

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 658 of file object-impl.cpp.

References Dali::ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX, Dali::ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, Dali::VectorBase::Count(), DALI_ASSERT_ALWAYS, Dali::DEFAULT_PROPERTY_MAX_COUNT, FindCustomProperty(), Dali::PropertyTypes::Get(), Dali::Internal::PropertyMetadata::IsAnimatable(), mCustomProperties, mPropertyNotifications, Dali::Internal::PropertyNotification::New(), Dali::PROPERTY_REGISTRATION_MAX_INDEX, and RegisterAnimatableProperty().

Referenced by Dali::Handle::AddPropertyNotification().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::AddUniformMapping ( Property::Index  propertyIndex,
const std::string &  uniformName 
) const
void Dali::Internal::Object::ApplyConstraint ( ConstraintBase constraint)

Apply a constraint to an Object.

Parameters
[in]constraintThe constraint to apply.

Definition at line 1126 of file object-impl.cpp.

References mConstraints.

Referenced by Dali::Internal::ConstraintBase::Apply().

Here is the caller graph for this function:

unsigned int Dali::Internal::Object::CustomPropertyStartIndex ( )
inline
Returns
the index from which custom properties start

Definition at line 260 of file object-impl.h.

References Dali::PROPERTY_CUSTOM_START_INDEX.

void Dali::Internal::Object::DisablePropertyNotifications ( )
private

Enable property notifications in scene graph.

Definition at line 748 of file object-impl.cpp.

References Dali::GetImplementation(), and mPropertyNotifications.

Referenced by OnSceneObjectRemove().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::EnablePropertyNotifications ( )
private

Enable property notifications in scene graph.

Definition at line 734 of file object-impl.cpp.

References Dali::GetImplementation(), and mPropertyNotifications.

Referenced by OnSceneObjectAdd().

Here is the call graph for this function:

Here is the caller graph for this function:

AnimatablePropertyMetadata * Dali::Internal::Object::FindAnimatableProperty ( Property::Index  index) const
protected
CustomPropertyMetadata * Dali::Internal::Object::FindCustomProperty ( Property::Index  index) const
protected
virtual Property::Value Dali::Internal::Object::GetDefaultProperty ( Property::Index  index) const
privatepure virtual
virtual unsigned int Dali::Internal::Object::GetDefaultPropertyCount ( ) const
privatepure virtual
virtual Property::Index Dali::Internal::Object::GetDefaultPropertyIndex ( const std::string &  name) const
privatepure virtual
virtual void Dali::Internal::Object::GetDefaultPropertyIndices ( Property::IndexContainer indices) const
privatepure virtual

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.

Implemented in Dali::Internal::Actor, Dali::Internal::RenderTask, Dali::Internal::ImageActor, Dali::Internal::PanGestureDetector, Dali::Internal::Layer, Dali::Internal::ShaderEffect, Dali::Internal::CameraActor, Dali::Internal::Renderer, Dali::Internal::GestureDetector, Dali::Internal::LinearConstrainer, Dali::Internal::PathConstrainer, Dali::Internal::Material, Dali::Internal::Geometry, Dali::Internal::Path, Dali::Internal::Shader, Dali::Internal::CustomObject, and Dali::Internal::Constrainer.

Referenced by GetPropertyIndices().

Here is the caller graph for this function:

virtual const char* Dali::Internal::Object::GetDefaultPropertyName ( Property::Index  index) const
privatepure virtual
virtual Property::Type Dali::Internal::Object::GetDefaultPropertyType ( Property::Index  index) const
privatepure virtual
EventThreadServices& Dali::Internal::Object::GetEventThreadServices ( )
inlineprotected

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.

Returns
The event thread services object

Definition at line 494 of file object-impl.h.

References DALI_ASSERT_DEBUG, Dali::Internal::EventThreadServices::IsCoreRunning(), and mEventThreadServices.

Referenced by Dali::Internal::Actor::AddRenderer(), Dali::Internal::Material::AddTexture(), AddUniformMapping(), Dali::Internal::Geometry::AddVertexBuffer(), Dali::Internal::CameraActor::BuildPickingRay(), Dali::Internal::Material::Connect(), Dali::Internal::Renderer::Connect(), Dali::Internal::Actor::ConnectToSceneGraph(), Dali::Internal::RenderTask::CreateSceneObject(), Dali::Internal::CustomObject::CustomObject(), Dali::Internal::Renderer::Disconnect(), Dali::Internal::Renderer::EnablePreMultipliedAlpha(), Dali::Internal::RenderTask::GetClearColor(), Dali::Internal::Actor::GetCurrentColor(), Dali::Internal::Actor::GetCurrentOpacity(), Dali::Internal::Actor::GetCurrentOrientation(), Dali::Internal::Actor::GetCurrentPosition(), Dali::Internal::Actor::GetCurrentScale(), Dali::Internal::Actor::GetCurrentSize(), Dali::Internal::RenderTask::GetCurrentViewportPosition(), Dali::Internal::RenderTask::GetCurrentViewportSize(), Dali::Internal::Actor::GetCurrentWorldColor(), Dali::Internal::Actor::GetCurrentWorldMatrix(), Dali::Internal::Actor::GetCurrentWorldOrientation(), Dali::Internal::Actor::GetCurrentWorldPosition(), Dali::Internal::Actor::GetCurrentWorldScale(), GetPropertyValue(), Dali::Internal::RenderTask::GetViewport(), Dali::Internal::Shader::Initialize(), Dali::Internal::Geometry::Initialize(), Dali::Internal::Material::Initialize(), Dali::Internal::Renderer::Initialize(), Dali::Internal::Actor::Initialize(), Dali::Internal::Actor::IsVisible(), Dali::Internal::Actor::RayActorTest(), Dali::Internal::Actor::RaySphereTest(), RegisterSceneGraphProperty(), Dali::Internal::Actor::RemoveRenderer(), Dali::Internal::Material::RemoveTexture(), RemoveUniformMapping(), Dali::Internal::Geometry::RemoveVertexBuffer(), Dali::Internal::Actor::RotateBy(), Dali::Internal::Actor::ScaleBy(), Dali::Internal::Actor::ScreenToLocal(), Dali::Internal::Actor::SetAnchorPoint(), Dali::Internal::Layer::SetBehavior(), Dali::Internal::Renderer::SetBlendColor(), Dali::Internal::Renderer::SetBlendEquation(), Dali::Internal::Renderer::SetBlendFunc(), Dali::Internal::Renderer::SetBlendMode(), Dali::Internal::RenderTask::SetClearColor(), Dali::Internal::RenderTask::SetClearEnabled(), Dali::Internal::Layer::SetClipping(), Dali::Internal::Layer::SetClippingBox(), Dali::Internal::Actor::SetColor(), Dali::Internal::Actor::SetColorBlue(), Dali::Internal::Actor::SetColorGreen(), Dali::Internal::Actor::SetColorMode(), Dali::Internal::Actor::SetColorRed(), Dali::Internal::RenderTask::SetCullMode(), Dali::Internal::Geometry::SetDefaultProperty(), Dali::Internal::Renderer::SetDefaultProperty(), Dali::Internal::Actor::SetDepth(), Dali::Internal::Renderer::SetDepthIndex(), Dali::Internal::Layer::SetDepthTestDisabled(), Dali::Internal::Actor::SetDrawMode(), Dali::Internal::RenderTask::SetExclusive(), Dali::Internal::Renderer::SetFaceCullingMode(), Dali::Internal::Renderer::SetGeometry(), Dali::Internal::Geometry::SetGeometryType(), Dali::Internal::Actor::SetHeight(), Dali::Internal::Geometry::SetIndexBuffer(), Dali::Internal::Actor::SetInheritOrientation(), Dali::Internal::Actor::SetInheritScale(), Dali::Internal::Renderer::SetMaterial(), Dali::Internal::Actor::SetOpacity(), Dali::Internal::Actor::SetOrientation(), Dali::Internal::Actor::SetParent(), Dali::Internal::Actor::SetParentOrigin(), Dali::Internal::Actor::SetPosition(), Dali::Internal::Actor::SetPositionInheritanceMode(), Dali::Internal::RenderTask::SetRefreshRate(), Dali::Internal::Geometry::SetRequiresDepthTesting(), Dali::Internal::Actor::SetScale(), Dali::Internal::Actor::SetScaleX(), Dali::Internal::Actor::SetScaleY(), Dali::Internal::Actor::SetScaleZ(), Dali::Internal::Shader::SetSceneGraphProperty(), Dali::Internal::Geometry::SetSceneGraphProperty(), Dali::Internal::Material::SetSceneGraphProperty(), Dali::Internal::Renderer::SetSceneGraphProperty(), SetSceneGraphProperty(), Dali::Internal::Actor::SetSceneGraphProperty(), Dali::Internal::Material::SetShader(), Dali::Internal::Actor::SetSizeInternal(), Dali::Internal::Layer::SetSortFunction(), Dali::Internal::RenderTask::SetTargetFrameBuffer(), Dali::Internal::Material::SetTextureImage(), Dali::Internal::Material::SetTextureSampler(), Dali::Internal::Material::SetTextureUniformName(), Dali::Internal::RenderTask::SetViewportPosition(), Dali::Internal::RenderTask::SetViewportSize(), Dali::Internal::Actor::SetVisible(), Dali::Internal::Actor::SetWidth(), Dali::Internal::Actor::SetX(), Dali::Internal::Actor::SetY(), Dali::Internal::Actor::SetZ(), Dali::Internal::Actor::TranslateBy(), Dali::Internal::Actor::~Actor(), Dali::Internal::CustomObject::~CustomObject(), Dali::Internal::Geometry::~Geometry(), Dali::Internal::Material::~Material(), Dali::Internal::Renderer::~Renderer(), and Dali::Internal::Shader::~Shader().

Here is the call graph for this function:

const EventThreadServices& Dali::Internal::Object::GetEventThreadServices ( ) const
inlineprotected

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.

Returns
The event thread services object

Definition at line 507 of file object-impl.h.

References DALI_ASSERT_DEBUG, Dali::Internal::EventThreadServices::IsCoreRunning(), and mEventThreadServices.

Here is the call graph for this function:

Property::Value Dali::Internal::Object::GetProperty ( Property::Index  index) const
virtual
int Dali::Internal::Object::GetPropertyComponentIndex ( Property::Index  index) const
virtual
unsigned int Dali::Internal::Object::GetPropertyCount ( ) const
virtual

Query how many properties are provided by an handle.

This may vary between instances of a class, if dynamic properties are supported. .0

Returns
The number of properties.

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 137 of file object-impl.cpp.

References Dali::VectorBase::Count(), DALI_LOG_INFO, GetDefaultPropertyCount(), Dali::Internal::TypeInfo::GetPropertyCount(), GetTypeInfo(), and mCustomProperties.

Referenced by Dali::Handle::GetPropertyCount(), and Dali::TypeInfo::GetPropertyCount().

Here is the call graph for this function:

Here is the caller graph for this function:

Property::Index Dali::Internal::Object::GetPropertyIndex ( const std::string &  name) const
virtual

Query the index of a property.

Returns the first property index that matches the given name exactly.

.0

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

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 192 of file object-impl.cpp.

References Dali::ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX, Dali::ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, Dali::Vector< T, IsTrivialType >::Begin(), Dali::VectorBase::Count(), Dali::Vector< T, IsTrivialType >::End(), GetDefaultPropertyIndex(), Dali::Internal::TypeInfo::GetPropertyIndex(), GetTypeInfo(), Dali::Property::INVALID_INDEX, mCustomProperties, Dali::Internal::CustomPropertyMetadata::name, Dali::PROPERTY_CUSTOM_START_INDEX, and RegisterAnimatableProperty().

Referenced by Dali::Handle::GetPropertyIndex(), Dali::Internal::TypeInfo::GetPropertyIndex(), and RegisterProperty().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::GetPropertyIndices ( Property::IndexContainer indices) const
virtual

Retrieve all the property indices for this object (including custom properties).

.0

Parameters
[out]indicesA container of property indices for this object.
Note
the added container is cleared

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 492 of file object-impl.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::Clear(), Dali::VectorBase::Count(), Dali::Vector< T, IsTrivialType >::End(), GetDefaultPropertyIndices(), Dali::Internal::TypeInfo::GetPropertyIndices(), GetTypeInfo(), mCustomProperties, Dali::PROPERTY_CUSTOM_START_INDEX, Dali::Vector< T, IsTrivialType >::PushBack(), Dali::Vector< T, IsTrivialType >::Reserve(), and Dali::VectorBase::Size().

Referenced by Dali::TypeInfo::GetPropertyIndices(), and Dali::Handle::GetPropertyIndices().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string Dali::Internal::Object::GetPropertyName ( Property::Index  index) const
virtual
virtual const SceneGraph::PropertyOwner* Dali::Internal::Object::GetPropertyOwner ( ) const
inlineprivatevirtual
Todo:
this is virtual so that for now actor can override it, it needs to be removed and only have GetSceneObject but that requires changing actor and constraint logic 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.

Reimplemented in Dali::Internal::Actor, Dali::Internal::Renderer, Dali::Internal::Material, Dali::Internal::Geometry, and Dali::Internal::Shader.

Definition at line 438 of file object-impl.h.

References GetSceneObject().

Referenced by AddUniformMapping(), and RegisterSceneGraphProperty().

Here is the call graph for this function:

Here is the caller graph for this function:

Property::Type Dali::Internal::Object::GetPropertyType ( Property::Index  index) const
virtual
Property::Value Dali::Internal::Object::GetPropertyValue ( const PropertyMetadata entry) const
private
virtual const SceneGraph::PropertyOwner* Dali::Internal::Object::GetSceneObject ( ) const
pure virtual
virtual const SceneGraph::PropertyBase* Dali::Internal::Object::GetSceneObjectAnimatableProperty ( Property::Index  index) const
pure virtual

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.

Implemented in Dali::Internal::Actor, Dali::Internal::RenderTask, Dali::Internal::PanGestureDetector, Dali::Internal::ShaderEffect, Dali::Internal::Renderer, Dali::Internal::CameraActor, Dali::Internal::GestureDetector, Dali::Internal::Material, Dali::Internal::Geometry, Dali::Internal::Shader, Dali::Internal::Path, Dali::Internal::Constrainer, and Dali::Internal::CustomObject.

Referenced by Dali::Internal::Constraint< PropertyType >::ConnectConstraint(), Dali::Internal::Constraint< float >::ConnectConstraint(), and Dali::Internal::AnimatorConnector< PropertyType >::CreateAnimator().

Here is the caller graph for this function:

virtual const PropertyInputImpl* Dali::Internal::Object::GetSceneObjectInputProperty ( Property::Index  index) const
pure virtual
const TypeInfo * Dali::Internal::Object::GetTypeInfo ( ) const
protected

Retrieves the TypeInfo for this object.

Only retrieves it from the type-registry once and then stores a pointer to it locally there-after. The type info will not change during the life-time of the application.

Returns
The type-info for this object (Can be NULL)

Definition at line 1109 of file object-impl.cpp.

References Dali::Internal::TypeRegistry::Get(), Dali::GetImplementation(), Dali::Internal::TypeRegistry::GetTypeInfo(), and mTypeInfo.

Referenced by GetProperty(), GetPropertyComponentIndex(), GetPropertyCount(), GetPropertyIndex(), GetPropertyIndices(), GetPropertyName(), GetPropertyType(), Dali::TypeRegistry::GetTypeInfo(), Dali::BaseHandle::GetTypeInfo(), IsPropertyWritable(), RegisterAnimatableProperty(), and SetProperty().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool Dali::Internal::Object::IsDefaultPropertyAConstraintInput ( Property::Index  index) const
privatepure virtual
virtual bool Dali::Internal::Object::IsDefaultPropertyAnimatable ( Property::Index  index) const
privatepure virtual

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.

Implemented in Dali::Internal::Actor, Dali::Internal::RenderTask, Dali::Internal::ImageActor, Dali::Internal::PanGestureDetector, Dali::Internal::Layer, Dali::Internal::ShaderEffect, Dali::Internal::Renderer, Dali::Internal::CameraActor, Dali::Internal::GestureDetector, Dali::Internal::LinearConstrainer, Dali::Internal::PathConstrainer, Dali::Internal::Material, Dali::Internal::Geometry, Dali::Internal::Path, Dali::Internal::Shader, Dali::Internal::CustomObject, and Dali::Internal::Constrainer.

Referenced by IsPropertyAnimatable().

Here is the caller graph for this function:

virtual bool Dali::Internal::Object::IsDefaultPropertyWritable ( Property::Index  index) const
privatepure virtual
bool Dali::Internal::Object::IsPropertyAConstraintInput ( Property::Index  index) const
virtual

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

.0

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

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 302 of file object-impl.cpp.

References Dali::ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX, Dali::ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, DALI_ASSERT_ALWAYS, Dali::DEFAULT_PROPERTY_MAX_COUNT, FindCustomProperty(), Dali::Property::INVALID_INDEX, IsDefaultPropertyAConstraintInput(), Dali::PROPERTY_REGISTRATION_MAX_INDEX, and Dali::PROPERTY_REGISTRATION_START_INDEX.

Referenced by Dali::Internal::Constraint< PropertyType >::ConnectConstraintFunction(), Dali::Internal::Constraint< float >::ConnectConstraintFunction(), and Dali::Handle::IsPropertyAConstraintInput().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::Object::IsPropertyAnimatable ( Property::Index  index) const
virtual
bool Dali::Internal::Object::IsPropertyWritable ( Property::Index  index) const
virtual
virtual void Dali::Internal::Object::NotifyScenePropertyInstalled ( const SceneGraph::PropertyBase newProperty,
const std::string &  name,
unsigned int  index 
) const
inlineprivatevirtual

Notify derived class of installation of a new scene-object property.

This method is called after the message is to sent to install the property

Parameters
[in]newPropertyA newly allocated scene-object property. Ownership is obviously not passed.
[in]nameThe name allocated to this custom property.
[in]indexThe index allocated to this custom property.

Definition at line 450 of file object-impl.h.

Referenced by RegisterSceneGraphProperty().

Here is the caller graph for this function:

virtual void Dali::Internal::Object::OnPropertySet ( Property::Index  index,
Property::Value  propertyValue 
)
inlineprotectedvirtual

For use in derived classes.

This is called after a property is set.

Parameters
[in]indexThe index of the property.
[in]propertyValueThe value of the property.

Reimplemented in Dali::Internal::CustomActor.

Definition at line 320 of file object-impl.h.

Referenced by SetProperty(), Dali::Internal::Shader::SetSceneGraphProperty(), Dali::Internal::Material::SetSceneGraphProperty(), and Dali::Internal::Renderer::SetSceneGraphProperty().

Here is the caller graph for this function:

void Dali::Internal::Object::OnSceneObjectAdd ( )
protected

Called immediately by derived classes, after the scene-object has been created & passed to the scene-graph.

Definition at line 89 of file object-impl.cpp.

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

Referenced by Dali::Internal::Actor::ConnectToSceneGraph().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::OnSceneObjectRemove ( )
protected

Called by derived classes, shortly before send a message to remove the scene-object.

Definition at line 101 of file object-impl.cpp.

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

Referenced by Dali::Internal::Actor::DisconnectFromSceneGraph().

Here is the call graph for this function:

Here is the caller graph for this function:

Object& Dali::Internal::Object::operator= ( const Object rhs)
private
AnimatablePropertyMetadata * Dali::Internal::Object::RegisterAnimatableProperty ( Property::Index  index) const
protected
Property::Index Dali::Internal::Object::RegisterProperty ( const std::string &  name,
const Property::Value propertyValue 
)
virtual

Register a new animatable property.

.0

Parameters
[in]nameThe name of the property.
[in]propertyValueThe new value of the property.
Returns
The index of the property or Property::INVALID_INDEX if registration failed
Precondition
The object supports dynamic properties i.e. Supports(Handle::DYNAMIC_PROPERTIES) returns true. Property names are expected to be unique, but this is not enforced. Property indices are unique to each registered custom property in a given object. returns Property::INVALID_INDEX if registration failed. This can happen if you try to register animatable property on an object that does not have scene graph object.
Note
Only the following types can be animated:
If a property with the desired name already exists, then the value given is just set.

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 625 of file object-impl.cpp.

References Dali::Property::ANIMATABLE.

Referenced by Dali::Handle::RegisterProperty(), and Dali::Internal::ImageActor::UpdateTexureRect().

Here is the caller graph for this function:

Property::Index Dali::Internal::Object::RegisterProperty ( const std::string &  name,
const Property::Value propertyValue,
Property::AccessMode  accessMode 
)
virtual
Property::Index Dali::Internal::Object::RegisterSceneGraphProperty ( const std::string &  name,
Property::Index  index,
const Property::Value propertyValue 
) const
protected
void Dali::Internal::Object::RemoveConstraint ( ConstraintBase constraint)

Remove one constraint from an Object.

Parameters
[in]constraintThe constraint to remove.

Definition at line 1135 of file object-impl.cpp.

References mConstraints.

Referenced by Dali::Internal::ConstraintBase::Remove().

Here is the caller graph for this function:

void Dali::Internal::Object::RemoveConstraints ( )

Remove all constraints from a Object.

Definition at line 1148 of file object-impl.cpp.

References Dali::GetImplementation(), GetSceneObject(), Dali::Internal::Stage::IsInstalled(), and mConstraints.

Referenced by Dali::Handle::RemoveConstraints().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::RemoveConstraints ( unsigned int  tag)

Remove all constraints from a Object with a matching tag.

Definition at line 1169 of file object-impl.cpp.

References Dali::GetImplementation(), Dali::Internal::ConstraintBase::GetTag(), Dali::Internal::Stage::IsInstalled(), and mConstraints.

Here is the call graph for this function:

void Dali::Internal::Object::RemoveObserver ( Observer observer)
virtual
void Dali::Internal::Object::RemovePropertyNotification ( Dali::PropertyNotification  propertyNotification)
virtual

Remove a property notification from this object.

.0

Parameters
[in]propertyNotificationThe propertyNotification to be removed.

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 697 of file object-impl.cpp.

References Dali::GetImplementation(), and mPropertyNotifications.

Referenced by Dali::Handle::RemovePropertyNotification().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::RemovePropertyNotifications ( )
virtual

Remove all property notifications from this object.

.0

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 717 of file object-impl.cpp.

References Dali::GetImplementation(), and mPropertyNotifications.

Referenced by Dali::Handle::RemovePropertyNotifications().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::RemoveUniformMapping ( const std::string &  uniformName)

Definition at line 803 of file object-impl.cpp.

References GetEventThreadServices(), GetSceneObject(), and Dali::Internal::SceneGraph::RemoveUniformMapMessage().

Here is the call graph for this function:

virtual void Dali::Internal::Object::SetDefaultProperty ( Property::Index  index,
const Property::Value propertyValue 
)
privatepure virtual

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.

Implemented in Dali::Internal::Actor, Dali::Internal::RenderTask, Dali::Internal::ImageActor, Dali::Internal::PanGestureDetector, Dali::Internal::Layer, Dali::Internal::ShaderEffect, Dali::Internal::CameraActor, Dali::Internal::Renderer, Dali::Internal::GestureDetector, Dali::Internal::LinearConstrainer, Dali::Internal::PathConstrainer, Dali::Internal::Material, Dali::Internal::Geometry, Dali::Internal::Path, Dali::Internal::Shader, Dali::Internal::CustomObject, and Dali::Internal::Constrainer.

Referenced by SetProperty().

Here is the caller graph for this function:

void Dali::Internal::Object::SetProperty ( Property::Index  index,
const Property::Value propertyValue 
)
virtual

Set the value of an existing property.

Property should be write-able. Setting a read-only property is a no-op. .0

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

Reimplemented in Dali::Internal::ShaderEffect.

Definition at line 366 of file object-impl.cpp.

References Dali::ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX, Dali::ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, DALI_ASSERT_ALWAYS, DALI_LOG_ERROR, Dali::DEFAULT_PROPERTY_MAX_COUNT, FindCustomProperty(), GetTypeInfo(), Dali::Property::INVALID_INDEX, Dali::Internal::PropertyMetadata::IsAnimatable(), Dali::Internal::CustomPropertyMetadata::IsWritable(), OnPropertySet(), Dali::PROPERTY_REGISTRATION_MAX_INDEX, Dali::PROPERTY_REGISTRATION_START_INDEX, RegisterAnimatableProperty(), SetDefaultProperty(), Dali::Internal::TypeInfo::SetProperty(), SetSceneGraphProperty(), and Dali::Internal::PropertyMetadata::value.

Referenced by RegisterProperty(), Dali::Handle::SetProperty(), and Dali::Internal::TypeInfo::SetProperty().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::SetSceneGraphProperty ( Property::Index  index,
const PropertyMetadata entry,
const Property::Value value 
)
privatevirtual

Set the value of scene graph property.

Parameters
[in]indexThe index of the property.
[in]entryAn entry from the property lookup container.
[in]valueThe new value of the property.

Reimplemented in Dali::Internal::Actor, Dali::Internal::Renderer, Dali::Internal::Material, Dali::Internal::Geometry, and Dali::Internal::Shader.

Definition at line 962 of file object-impl.cpp.

References Dali::Property::BOOLEAN, Dali::Internal::PropertyMetadata::componentIndex, DALI_ASSERT_DEBUG, Dali::Property::FLOAT, GetEventThreadServices(), Dali::Internal::PropertyMetadata::GetSceneGraphProperty(), Dali::Internal::PropertyMetadata::GetType(), Dali::Property::INTEGER, Dali::Property::MATRIX, Dali::Property::MATRIX3, Dali::Property::ROTATION, Dali::Property::VECTOR2, Dali::Property::VECTOR3, and Dali::Property::VECTOR4.

Referenced by SetProperty().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Object::SetTypeInfo ( const TypeInfo typeInfo)

Called by TypeInfo to set the type-info that this object-impl is created by.

Parameters
[in]typeInfoThe TypeInfo that creates this object-impl.

Definition at line 1197 of file object-impl.cpp.

References mTypeInfo.

Referenced by Dali::Internal::TypeInfo::CreateInstance().

Here is the caller graph for this function:

bool Dali::Internal::Object::Supports ( Capability  capability) const
virtual

Query whether an handle supports a given capability.

.0

Parameters
[in]capabilityThe queried capability.
Returns
True if the capability is supported.

Definition at line 132 of file object-impl.cpp.

References Dali::Internal::anonymous_namespace{object-impl.cpp}::SUPPORTED_CAPABILITIES.

Referenced by Dali::Handle::Supports().

Here is the caller graph for this function:

Member Data Documentation

PropertyMetadataLookup Dali::Internal::Object::mAnimatableProperties
mutableprivate

Used for accessing animatable Node properties.

Definition at line 520 of file object-impl.h.

Referenced by FindAnimatableProperty(), RegisterAnimatableProperty(), and RegisterSceneGraphProperty().

ConstraintContainer* Dali::Internal::Object::mConstraints
private

Container of owned -constraints.

Definition at line 525 of file object-impl.h.

Referenced by ApplyConstraint(), RemoveConstraint(), RemoveConstraints(), and ~Object().

PropertyMetadataLookup Dali::Internal::Object::mCustomProperties
mutableprivate
EventThreadServices& Dali::Internal::Object::mEventThreadServices
private

Definition at line 514 of file object-impl.h.

Referenced by GetEventThreadServices().

Dali::Vector<Observer*> Dali::Internal::Object::mObservers
private
PropertyNotificationContainer* Dali::Internal::Object::mPropertyNotifications
private
TypeInfo const* Dali::Internal::Object::mTypeInfo
mutableprivate

The type-info for this object, mutable so it can be lazy initialized from const method if it is required.

Definition at line 521 of file object-impl.h.

Referenced by GetTypeInfo(), and SetTypeInfo().


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