// Flags for the constructor
enum ControlBehaviour
{
- CONTROL_BEHAVIOUR_NONE = 0,
- REQUIRES_TOUCH_EVENTS = 1<<1, ///< True if the OnTouchEvent() callback is required.
- REQUIRES_STYLE_CHANGE_SIGNALS = 1<<2, ///< True if needs to monitor style change signals such as theme/font change
- NO_SIZE_NEGOTIATION = 1<<3, ///< True if control does not need size negotiation, i.e. it can be skipped in the algorithm
- REQUIRES_HOVER_EVENTS = 1<<4, ///< True if the OnHoverEvent() callback is required.
- REQUIRES_MOUSE_WHEEL_EVENTS = 1<<5 ///< True if the OnMouseWheelEvent() callback is required.
+ REQUIRES_STYLE_CHANGE_SIGNALS = 1 << ( CustomActorImpl::ACTOR_FLAG_COUNT + 0 ), ///< True if needs to monitor style change signals such as theme/font change
+ REQUIRES_KEYBOARD_NAVIGATION_SUPPORT = 1 << ( CustomActorImpl::ACTOR_FLAG_COUNT + 1 ), ///< True if needs to support keyboard navigation
+
+ LAST_CONTROL_BEHAVIOUR_FLAG
};
+ static const int CONTROL_BEHAVIOUR_FLAG_COUNT = Log< LAST_CONTROL_BEHAVIOUR_FLAG - 1 >::value + 1; ///< Total count of flags
+
/**
* @brief Create a Control.
*
/**
* @copydoc Dali::CustomActorImpl::RelayoutDependentOnChildren()
*/
- virtual bool RelayoutDependentOnChildren( Dimension dimension = ALL_DIMENSIONS );
+ virtual bool RelayoutDependentOnChildren( Dimension::Type dimension = Dimension::ALL_DIMENSIONS );
private:
/**
* @copydoc Dali::CustomActorImpl::OnCalculateRelayoutSize()
*/
- virtual void OnCalculateRelayoutSize( Dimension dimension );
+ virtual void OnCalculateRelayoutSize( Dimension::Type dimension );
/**
* @copydoc Dali::CustomActorImpl::OnLayoutNegotiated()
*/
- virtual void OnLayoutNegotiated( float size, Dimension dimension );
+ virtual void OnLayoutNegotiated( float size, Dimension::Type dimension );
/**
* @copydoc Dali::CustomActorImpl::OnRelayout()
/**
* @copydoc Dali::CustomActorImpl::OnSetResizePolicy()
*/
- virtual void OnSetResizePolicy( ResizePolicy policy, Dimension dimension );
+ virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension );
/**
* @copydoc Dali::CustomActorImpl::CalculateChildSize()
*/
- virtual float CalculateChildSize( const Dali::Actor& child, Dimension dimension );
+ virtual float CalculateChildSize( const Dali::Actor& child, Dimension::Type dimension );
// From CustomActorImpl, derived classes should NOT override these.