Handle<Value> ImageView::New(const Arguments& args) { HandleScope scope; if (!args.IsConstructCall()) return ThrowException(String::New("Cannot call constructor as function, you need to use 'new' keyword")); if (args[0]->IsExternal()) { //std::clog << "image view external!\n"; Local<External> ext = Local<External>::Cast(args[0]); void* ptr = ext->Value(); ImageView* im = static_cast<ImageView*>(ptr); im->Wrap(args.This()); return args.This(); } else { return ThrowException(String::New("Cannot create this object from Javascript")); } return Undefined(); }