Tizen Native API
5.0
|
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_NONE |
Use if no change to default behaviour is needed.
|
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.