搜遍互联网未果,Google开发网站又连不上去,又没时间去研究Chrome源码,但最终还是被我试出来了,仅两个静态函数就能解决。
包装
1 | //External::Wrap(console)//console is fltk::Browser* |
3 | Handle<ObjectTemplate> o= ObjectTemplate::New(); |
4 | o->Set(String::New( "browser" ),External::Wrap(console)); |
5 | o->Set(String::New( "log" ),FunctionTemplate::New(CWrapConsoleGridAppendRowFunction)); |
7 | global->Set(String::New( "console" ),o); |
拆包
1 | //在CWrapConsoleGridAppendRowFunction函数中再解包出来 |
2 | Local<Object> self = args.Holder(); |
3 | Local<Value> browser = self->Get(String::New( "browser" )); |
4 | fltk::Browser* gridview = static_cast <fltk::Browser*> (External::Unwrap(browser)); |
实例