{
case Dali::Property::BOOLEAN:
case Dali::Property::INTEGER:
- case Dali::Property::UNSIGNED_INTEGER:
case Dali::Property::STRING:
case Dali::Property::FLOAT:
{
v8Value = v8::Integer::New( isolate, value.Get<int>());
break;
}
- case Dali::Property::UNSIGNED_INTEGER:
- {
- v8Value = v8::Integer::New( isolate, value.Get<unsigned int>());
- break;
- }
case Dali::Property::STRING:
{
std::string string = value.Get< std::string >();
}
if(16 == len )
{
- ret = Dali::Matrix( out[0] );
+ ret = Dali::Matrix( out );
}
else if ( 9 == len )
{
{
daliPropertyValue = Dali::Property::Value( v8Value->Int32Value() ) ;//static_cast<int>( V8Utils::GetNumberValue( isolate, v8Value) ));
}
- break;
- }
- case Dali::Property::UNSIGNED_INTEGER:
- {
- if( v8Value->IsUint32() )
+ else if( V8Utils::IsStringPrimitiveOrObject( v8Value) ) // Take string as value for properties that internally convert the string to an enum
{
- daliPropertyValue = Dali::Property::Value( v8Value->Uint32Value() );//static_cast<unsigned int>( V8Utils::GetNumberValue( isolate, v8Value) ));
+ daliPropertyValue = Dali::Property::Value( V8Utils::GetStringValue( isolate, v8Value) );
}
break;
}
daliPropertyValue = ArrayFromV8Array( isolate, v8Value );
break;
}
+ case Dali::Property::MAP:
+ {
+ if( v8Value->IsObject() )
+ {
+ v8::Local<v8::Object> object = v8::Handle<v8::Object>::Cast(v8Value);
+ Dali::Property::Map propertyMap = V8Utils::GetPropertyMapFromObject(isolate, object);
+ daliPropertyValue = Dali::Property::Value( propertyMap );
+ }
+ else if( V8Utils::IsStringPrimitiveOrObject( v8Value) )
+ {
+ // There are special cases where a property with property map type can accept a string value,
+ // so we do the additional check here.
+ daliPropertyValue = Dali::Property::Value( V8Utils::GetStringValue( isolate, v8Value) );
+ }
+
+ break;
+ }
case Dali::Property::NONE:
- case Dali::Property::TYPE_COUNT:
default:
{
break;
}
- } // switch type
+ } // switch type
- return daliPropertyValue;
+ return daliPropertyValue;
}
void PropertyValueWrapper::NewRotation( const v8::FunctionCallbackInfo< v8::Value >& args)