#include <dali/public-api/math/radian.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/devel-api/actors/actor-devel.h>
-#include <dali/devel-api/object/weak-handle.h>
#include <dali/devel-api/scripting/scripting.h>
#include <dali/internal/common/internal-constants.h>
#include <dali/internal/event/common/event-thread-services.h>
DALI_PROPERTY( "maximumSize", VECTOR2, true, false, false, Dali::Actor::Property::MAXIMUM_SIZE )
DALI_PROPERTY( "inheritPosition", BOOLEAN, true, false, false, Dali::Actor::Property::INHERIT_POSITION )
DALI_PROPERTY( "clippingMode", STRING, true, false, false, Dali::Actor::Property::CLIPPING_MODE )
+DALI_PROPERTY( "layoutDirection", STRING, true, false, false, Dali::Actor::Property::LAYOUT_DIRECTION )
+DALI_PROPERTY( "inheritLayoutDirection", BOOLEAN, true, false, false, Dali::Actor::Property::INHERIT_LAYOUT_DIRECTION )
DALI_PROPERTY( "siblingOrder", INTEGER, true, false, false, Dali::DevelActor::Property::SIBLING_ORDER )
DALI_PROPERTY( "opacity", FLOAT, true, true, true, Dali::DevelActor::Property::OPACITY )
DALI_PROPERTY( "screenPosition", VECTOR2, false, false, false, Dali::DevelActor::Property::SCREEN_POSITION )
DALI_PROPERTY( "positionUsesAnchorPoint", BOOLEAN, true, false, false, Dali::DevelActor::Property::POSITION_USES_ANCHOR_POINT )
-DALI_PROPERTY( "layoutDirection", STRING, true, false, false, Dali::DevelActor::Property::LAYOUT_DIRECTION )
-DALI_PROPERTY( "inheritLayoutDirection", BOOLEAN, true, false, false, Dali::DevelActor::Property::INHERIT_LAYOUT_DIRECTION )
DALI_PROPERTY_TABLE_END( DEFAULT_ACTOR_PROPERTY_START_INDEX )
// Signals
DALI_ENUM_TO_STRING_TABLE_END( CLIPPING_MODE )
DALI_ENUM_TO_STRING_TABLE_BEGIN( LAYOUT_DIRECTION )
-DALI_ENUM_TO_STRING_WITH_SCOPE( DevelActor::LayoutDirection, LTR )
-DALI_ENUM_TO_STRING_WITH_SCOPE( DevelActor::LayoutDirection, RTL )
+DALI_ENUM_TO_STRING_WITH_SCOPE( LayoutDirection, LEFT_TO_RIGHT )
+DALI_ENUM_TO_STRING_WITH_SCOPE( LayoutDirection, RIGHT_TO_LEFT )
DALI_ENUM_TO_STRING_TABLE_END( LAYOUT_DIRECTION )
bool GetAnchorPointConstant( const std::string& value, Vector3& anchor )
{
StagePtr stage = Stage::GetCurrent();
Vector3 worldPosition = mNode->GetWorldPosition( GetEventThreadServices().GetEventBufferIndex() );
- Vector3 actorSize = GetCurrentSize() * GetCurrentScale();
+ Vector3 actorSize = GetCurrentSize() * GetCurrentWorldScale();
Vector2 halfStageSize( stage->GetSize() * 0.5f ); // World position origin is center of stage
Vector3 halfActorSize( actorSize * 0.5f );
Vector3 anchorPointOffSet = halfActorSize - actorSize * ( mPositionUsesAnchorPoint ? GetCurrentAnchorPoint() : AnchorPoint::TOP_LEFT );
}
}
-void Actor::EmitLayoutDirectionChangedSignal( DevelActor::LayoutDirection::Type type )
+void Actor::EmitLayoutDirectionChangedSignal( LayoutDirection::Type type )
{
if( ! mLayoutDirectionChangedSignal.Empty() )
{
return mVisibilityChangedSignal;
}
-DevelActor::LayoutDirectionChangedSignalType& Actor::LayoutDirectionChangedSignal()
+Dali::Actor::LayoutDirectionChangedSignalType& Actor::LayoutDirectionChangedSignal()
{
return mLayoutDirectionChangedSignal;
}
mPositionUsesAnchorPoint( true ),
mVisible( true ),
mInheritLayoutDirection( true ),
- mLayoutDirection( DevelActor::LayoutDirection::LTR ),
+ mLayoutDirection( LayoutDirection::LEFT_TO_RIGHT ),
mDrawMode( DrawMode::NORMAL ),
mPositionInheritanceMode( Node::DEFAULT_POSITION_INHERITANCE_MODE ),
mColorMode( Node::DEFAULT_COLOR_MODE ),
break;
}
- case Dali::DevelActor::Property::LAYOUT_DIRECTION:
+ case Dali::Actor::Property::LAYOUT_DIRECTION:
{
- Dali::DevelActor::LayoutDirection::Type direction = mLayoutDirection;
+ Dali::LayoutDirection::Type direction = mLayoutDirection;
+ mInheritLayoutDirection = false;
- if( Scripting::GetEnumerationProperty< DevelActor::LayoutDirection::Type >( property, LAYOUT_DIRECTION_TABLE, LAYOUT_DIRECTION_TABLE_COUNT, direction ) )
+ if( Scripting::GetEnumerationProperty< LayoutDirection::Type >( property, LAYOUT_DIRECTION_TABLE, LAYOUT_DIRECTION_TABLE_COUNT, direction ) )
{
- mInheritLayoutDirection = false;
InheritLayoutDirectionRecursively( this, direction, true );
}
break;
}
- case Dali::DevelActor::Property::INHERIT_LAYOUT_DIRECTION:
+ case Dali::Actor::Property::INHERIT_LAYOUT_DIRECTION:
{
bool value = false;
if( property.Get( value ) )
break;
}
- case Dali::DevelActor::Property::LAYOUT_DIRECTION:
+ case Dali::Actor::Property::LAYOUT_DIRECTION:
{
value = mLayoutDirection;
break;
}
- case Dali::DevelActor::Property::INHERIT_LAYOUT_DIRECTION:
+ case Dali::Actor::Property::INHERIT_LAYOUT_DIRECTION:
{
value = IsLayoutDirectionInherited();
break;
ActorContainer& siblings = *(mParent->mChildren);
if( siblings.front() != this ) // If not already at beginning
{
- for( size_t i=0; i<siblings.size(); ++i )
+ for( size_t i=1; i<siblings.size(); ++i )
{
if( siblings[i] == this )
{
return mInheritLayoutDirection;
}
-void Actor::InheritLayoutDirectionRecursively( ActorPtr actor, Dali::DevelActor::LayoutDirection::Type direction, bool set )
+void Actor::InheritLayoutDirectionRecursively( ActorPtr actor, Dali::LayoutDirection::Type direction, bool set )
{
if( actor && ( actor->mInheritLayoutDirection || set ) )
{