Example #1
0
v8::Handle<v8::Object> ImageWrapper::WrapImage(v8::Isolate* isolate, const Dali::Image& image, ImageType imageType )
{
    v8::EscapableHandleScope handleScope( isolate );
    v8::Local<v8::ObjectTemplate> objectTemplate;

    objectTemplate = GetImageTemplate( isolate, imageType);

    // create an instance of the template
    v8::Local<v8::Object> localObject = objectTemplate->NewInstance();

    // create the Image wrapper
    ImageWrapper* pointer =  new ImageWrapper( image, Dali::V8Plugin::DaliWrapper::Get().GetDaliGarbageCollector() );

    // assign the JavaScript object to the wrapper.
    // This also stores the Image object, in an internal field inside the JavaScript object.
    pointer->SetJavascriptObject( isolate, localObject );

    return handleScope.Escape( localObject );
}