| 
    Tizen Native API
    5.5
    
   
   | 
  
  
  
 
CustomActorImpl is an abstract base class for custom control implementations. More...
  
 Public Member Functions | |
| CustomActor | Self () const | 
| Used by derived CustomActorImpl instances, to access the public Actor interface.   | |
| virtual void | OnStageConnection (int32_t depth)=0 | 
| Called after the actor has been connected to the stage.   | |
| virtual void | OnStageDisconnection ()=0 | 
| Called after the actor has been disconnected from Stage.   | |
| virtual void | OnChildAdd (Actor &child)=0 | 
| Called after a child has been added to the owning actor.   | |
| virtual void | OnChildRemove (Actor &child)=0 | 
| Called after the owning actor has attempted to remove a child (regardless of whether it succeeded or not).   | |
| virtual void | OnPropertySet (Property::Index index, Property::Value propertyValue) | 
| Called when the owning actor property is set.   | |
| virtual void | OnSizeSet (const Vector3 &targetSize)=0 | 
| Called when the owning actor's size is set e.g. using Actor::SetSize().   | |
| virtual void | OnSizeAnimation (Animation &animation, const Vector3 &targetSize)=0 | 
| Called when the owning actor's size is animated e.g. using Animation::AnimateTo( Property( actor, Actor::Property::SIZE ), ... ).   | |
| virtual bool | OnTouchEvent (const TouchEvent &event) DALI_DEPRECATED_API=0 | 
| Called after a touch-event is received by the owning actor.   | |
| virtual bool | OnHoverEvent (const HoverEvent &event)=0 | 
| Called after a hover-event is received by the owning actor.   | |
| virtual bool | OnKeyEvent (const KeyEvent &event)=0 | 
| Called after a key-event is received by the actor that has had its focus set.   | |
| virtual bool | OnWheelEvent (const WheelEvent &event)=0 | 
| Called after a wheel-event is received by the owning actor.   | |
| virtual void | OnRelayout (const Vector2 &size, RelayoutContainer &container)=0 | 
| Called after the size negotiation has been finished for this control.   | |
| virtual void | OnSetResizePolicy (ResizePolicy::Type policy, Dimension::Type dimension)=0 | 
| Notification for deriving classes.   | |
| virtual Vector3 | GetNaturalSize ()=0 | 
| Returns the natural size of the actor.   | |
| virtual float | CalculateChildSize (const Dali::Actor &child, Dimension::Type dimension)=0 | 
| Calculates the size for a child.   | |
| virtual float | GetHeightForWidth (float width)=0 | 
| This method is called during size negotiation when a height is required for a given width.   | |
| virtual float | GetWidthForHeight (float height)=0 | 
| This method is called during size negotiation when a width is required for a given height.   | |
| virtual bool | RelayoutDependentOnChildren (Dimension::Type dimension=Dimension::ALL_DIMENSIONS)=0 | 
| Determines if this actor is dependent on its children for relayout.   | |
| virtual void | OnCalculateRelayoutSize (Dimension::Type dimension)=0 | 
| Virtual method to notify deriving classes that relayout dependencies have been met and the size for this object is about to be calculated for the given dimension.   | |
| virtual void | OnLayoutNegotiated (float size, Dimension::Type dimension)=0 | 
| Virtual method to notify deriving classes that the size for a dimension has just been negotiated.   | |
| virtual Extension * | GetExtension () | 
| Retrieves the extension for this control.   | |
| void | Initialize (Internal::CustomActor &owner) | 
| Initializes a CustomActor.   | |
| Internal::CustomActor * | GetOwner () const | 
| Gets the owner.   | |
| bool | RequiresTouchEvents () const | 
| Returns whether the OnTouchEvent() callback is required.   | |
| bool | RequiresHoverEvents () const | 
| Returns whether the OnHoverEvent() callback is required.   | |
| bool | RequiresWheelEvents () const | 
| Returns whether the OnWheelEvent() callback is required.   | |
| bool | IsRelayoutEnabled () const | 
| Returns whether relayout is enabled.   | |
Protected Types | |
| enum | ActorFlags | 
| Enumeration for the constructor flags.  More... | |
Protected Member Functions | |
| virtual | ~CustomActorImpl () | 
| Forward declare future extension interface.   | |
| CustomActorImpl (ActorFlags flags) | |
| Creates a CustomActorImpl.   | |
| void | RelayoutRequest () | 
| Requests a relayout, which means performing a size negotiation on this actor, its parent and children (and potentially whole scene).   | |
| float | GetHeightForWidthBase (float width) | 
| Provides the Actor implementation of GetHeightForWidth.   | |
| float | GetWidthForHeightBase (float height) | 
| Provides the Actor implementation of GetWidthForHeight.   | |
| float | CalculateChildSizeBase (const Dali::Actor &child, Dimension::Type dimension) | 
| Calculates the size for a child using the base actor object.   | |
| bool | RelayoutDependentOnChildrenBase (Dimension::Type dimension=Dimension::ALL_DIMENSIONS) | 
| Determines if this actor is dependent on its children for relayout from the base class.   | |
Static Protected Attributes | |
| static const int32_t | ACTOR_FLAG_COUNT = Log< LAST_ACTOR_FLAG - 1 >::value + 1 | 
| Value for deriving classes to continue on the flag enum.  | |
CustomActorImpl is an abstract base class for custom control implementations.
This provides a series of pure virtual methods, which are called when actor-specific events occur. And CustomActorImpl is typically owned by a single CustomActor instance; see also CustomActor::CustomActor( CustomActorImpl &implementation ).
enum Dali::CustomActorImpl::ActorFlags [protected] | 
        
Enumeration for the constructor flags.
| ACTOR_BEHAVIOUR_DEFAULT | 
 Use to provide default behaviour (size negotiation is on, event callbacks are not called). 
  | 
| DISABLE_SIZE_NEGOTIATION | 
 True if control does not need size negotiation, i.e. it can be skipped in the algorithm. 
  | 
| REQUIRES_TOUCH_EVENTS | 
 True if the OnTouchEvent() callback is required. 
  | 
| REQUIRES_HOVER_EVENTS | 
 True if the OnHoverEvent() callback is required. 
  | 
| REQUIRES_WHEEL_EVENTS | 
 True if the OnWheelEvent() callback is required. 
  | 
| LAST_ACTOR_FLAG | 
 Special marker for last actor flag. 
  | 
| virtual Dali::CustomActorImpl::~CustomActorImpl | ( | ) |  [protected, virtual] | 
        
Forward declare future extension interface.
Virtual destructor
| Dali::CustomActorImpl::CustomActorImpl | ( | ActorFlags | flags | ) |  [protected] | 
        
Creates a CustomActorImpl.
| [in] | flags | Bitfield of ActorFlags to define behaviour | 
| virtual float Dali::CustomActorImpl::CalculateChildSize | ( | const Dali::Actor & | child, | 
| Dimension::Type | dimension | ||
| ) |  [pure virtual] | 
        
Calculates the size for a child.
| [in] | child | The child actor to calculate the size for | 
| [in] | dimension | The dimension to calculate the size for. E.g. width or height | 
Implemented in Dali::Toolkit::Internal::Control.
| float Dali::CustomActorImpl::CalculateChildSizeBase | ( | const Dali::Actor & | child, | 
| Dimension::Type | dimension | ||
| ) |  [protected] | 
        
Calculates the size for a child using the base actor object.
| [in] | child | The child actor to calculate the size for | 
| [in] | dimension | The dimension to calculate the size for. E.g. width or height | 
| virtual Extension* Dali::CustomActorImpl::GetExtension | ( | ) |  [virtual] | 
        
Retrieves the extension for this control.
| virtual float Dali::CustomActorImpl::GetHeightForWidth | ( | float | width | ) |  [pure virtual] | 
        
This method is called during size negotiation when a height is required for a given width.
Derived classes should override this if they wish to customize the height returned.
| [in] | width | Width to use | 
Implemented in Dali::Toolkit::Internal::Control.
| float Dali::CustomActorImpl::GetHeightForWidthBase | ( | float | width | ) |  [protected] | 
        
Provides the Actor implementation of GetHeightForWidth.
| [in] | width | Width to use | 
| virtual Vector3 Dali::CustomActorImpl::GetNaturalSize | ( | ) |  [pure virtual] | 
        
Returns the natural size of the actor.
Implemented in Dali::Toolkit::Internal::Control.
| Internal::CustomActor* Dali::CustomActorImpl::GetOwner | ( | ) | const | 
Gets the owner.
This method is needed when creating additional handle objects to existing objects. Owner is the Dali::Internal::CustomActor that owns the implementation of the custom actor inside core. Creation of a handle to Dali public API Actor requires this pointer.
| virtual float Dali::CustomActorImpl::GetWidthForHeight | ( | float | height | ) |  [pure virtual] | 
        
This method is called during size negotiation when a width is required for a given height.
Derived classes should override this if they wish to customize the width returned.
| [in] | height | Height to use | 
Implemented in Dali::Toolkit::Internal::Control.
| float Dali::CustomActorImpl::GetWidthForHeightBase | ( | float | height | ) |  [protected] | 
        
Provides the Actor implementation of GetWidthForHeight.
| [in] | height | Height to use | 
| void Dali::CustomActorImpl::Initialize | ( | Internal::CustomActor & | owner | ) | 
Initializes a CustomActor.
| [in] | owner | The owning object | 
| bool Dali::CustomActorImpl::IsRelayoutEnabled | ( | ) | const | 
Returns whether relayout is enabled.
| virtual void Dali::CustomActorImpl::OnCalculateRelayoutSize | ( | Dimension::Type | dimension | ) |  [pure virtual] | 
        
Virtual method to notify deriving classes that relayout dependencies have been met and the size for this object is about to be calculated for the given dimension.
| [in] | dimension | The dimension that is about to be calculated | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnChildAdd | ( | Actor & | child | ) |  [pure virtual] | 
        
Called after a child has been added to the owning actor.
| [in] | child | The child which has been added | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnChildRemove | ( | Actor & | child | ) |  [pure virtual] | 
        
Called after the owning actor has attempted to remove a child (regardless of whether it succeeded or not).
| [in] | child | The child being removed | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual bool Dali::CustomActorImpl::OnHoverEvent | ( | const HoverEvent & | event | ) |  [pure virtual] | 
        
Called after a hover-event is received by the owning actor.
| [in] | event | The hover event | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual bool Dali::CustomActorImpl::OnKeyEvent | ( | const KeyEvent & | event | ) |  [pure virtual] | 
        
Called after a key-event is received by the actor that has had its focus set.
| [in] | event | The Key Event | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnLayoutNegotiated | ( | float | size, | 
| Dimension::Type | dimension | ||
| ) |  [pure virtual] | 
        
Virtual method to notify deriving classes that the size for a dimension has just been negotiated.
| [in] | size | The new size for the given dimension | 
| [in] | dimension | The dimension that was just negotiated | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnPropertySet | ( | Property::Index | index, | 
| Property::Value | propertyValue | ||
| ) |  [virtual] | 
        
Called when the owning actor property is set.
| [in] | index | The Property index that was set | 
| [in] | propertyValue | The value to set | 
Reimplemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnRelayout | ( | const Vector2 & | size, | 
| RelayoutContainer & | container | ||
| ) |  [pure virtual] | 
        
Called after the size negotiation has been finished for this control.
The control is expected to assign this given size to itself/its children.
Should be overridden by derived classes if they need to layout actors differently after certain operations like add or remove actors, resize or after changing specific properties.
| [in] | size | The allocated size | 
| [in,out] | container | The control should add actors to this container that it is not able to allocate a size for | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnSetResizePolicy | ( | ResizePolicy::Type | policy, | 
| Dimension::Type | dimension | ||
| ) |  [pure virtual] | 
        
Notification for deriving classes.
| [in] | policy | The policy being set | 
| [in] | dimension | The dimension the policy is being set for | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnSizeAnimation | ( | Animation & | animation, | 
| const Vector3 & | targetSize | ||
| ) |  [pure virtual] | 
        
Called when the owning actor's size is animated e.g. using Animation::AnimateTo( Property( actor, Actor::Property::SIZE ), ... ).
| [in] | animation | The object which is animating the owning actor | 
| [in] | targetSize | The target size. Note that this target size may not match the size returned via Actor::GetTargetSize | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnSizeSet | ( | const Vector3 & | targetSize | ) |  [pure virtual] | 
        
Called when the owning actor's size is set e.g. using Actor::SetSize().
| [in] | targetSize | The target size. Note that this target size may not match the size returned via Actor::GetTargetSize | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual void Dali::CustomActorImpl::OnStageConnection | ( | int32_t | depth | ) |  [pure virtual] | 
        
Called after the actor has been connected to the stage.
When an actor is connected, it will be directly or indirectly parented to the root Actor.
| [in] | depth | The depth in the hierarchy for the actor | 
       A (parent)
      / \
     B   C
    / \   \
   D   E   F
| [in] | depth | The depth in the hierarchy for the actor | 
| virtual void Dali::CustomActorImpl::OnStageDisconnection | ( | ) |  [pure virtual] | 
        
Called after the actor has been disconnected from Stage.
If an actor is disconnected, it either has no parent or is parented to a disconnected actor.
       A (parent)
      / \
     B   C
    / \   \
   D   E   F
Implemented in Dali::Toolkit::Internal::Control.
| virtual bool Dali::CustomActorImpl::OnTouchEvent | ( | const TouchEvent & | event | ) |  [pure virtual] | 
        
Called after a touch-event is received by the owning actor.
| [in] | event | The touch event | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual bool Dali::CustomActorImpl::OnWheelEvent | ( | const WheelEvent & | event | ) |  [pure virtual] | 
        
Called after a wheel-event is received by the owning actor.
| [in] | event | The wheel event | 
Implemented in Dali::Toolkit::Internal::Control.
| virtual bool Dali::CustomActorImpl::RelayoutDependentOnChildren | ( | Dimension::Type | dimension = Dimension::ALL_DIMENSIONS | ) |  [pure virtual] | 
        
Determines if this actor is dependent on its children for relayout.
| [in] | dimension | The dimension(s) to check for | 
Implemented in Dali::Toolkit::Internal::Control.
| bool Dali::CustomActorImpl::RelayoutDependentOnChildrenBase | ( | Dimension::Type | dimension = Dimension::ALL_DIMENSIONS | ) |  [protected] | 
        
Determines if this actor is dependent on its children for relayout from the base class.
| [in] | dimension | The dimension(s) to check for | 
| void Dali::CustomActorImpl::RelayoutRequest | ( | ) |  [protected] | 
        
Requests a relayout, which means performing a size negotiation on this actor, its parent and children (and potentially whole scene).
This method can also be called from a derived class every time it needs a different size. At the end of event processing, the relayout process starts and all controls which requested Relayout will have their sizes (re)negotiated.
| bool Dali::CustomActorImpl::RequiresHoverEvents | ( | ) | const | 
Returns whether the OnHoverEvent() callback is required.
| bool Dali::CustomActorImpl::RequiresTouchEvents | ( | ) | const | 
Returns whether the OnTouchEvent() callback is required.
| bool Dali::CustomActorImpl::RequiresWheelEvents | ( | ) | const | 
Returns whether the OnWheelEvent() callback is required.
| CustomActor Dali::CustomActorImpl::Self | ( | ) | const | 
Used by derived CustomActorImpl instances, to access the public Actor interface.