+bool GetPolicyFromValue( const Property::Value& value, Vector2& policy )
+{
+ bool success = false;
+ if( value.Get( policy ) )
+ {
+ success = true;
+ }
+ else
+ {
+ Property::Array* array = value.GetArray();
+ if( array && array->Size() == 2 )
+ {
+ Toolkit::Visual::Transform::Policy::Type xPolicy = static_cast< Toolkit::Visual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes
+ Toolkit::Visual::Transform::Policy::Type yPolicy = static_cast< Toolkit::Visual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes
+
+ if( Scripting::GetEnumerationProperty< Toolkit::Visual::Transform::Policy::Type >( array->GetElementAt( 0 ), POLICY_TABLE, POLICY_TABLE_COUNT, xPolicy ) &&
+ Scripting::GetEnumerationProperty< Toolkit::Visual::Transform::Policy::Type >( array->GetElementAt( 1 ), POLICY_TABLE, POLICY_TABLE_COUNT, yPolicy ) )
+ {
+ policy.x = xPolicy;
+ policy.y = yPolicy;
+ success = true;
+ }
+ }
+ }
+ return success;
+}
+