c++ - How can I do a callback from FireBreath to JavaScript -
code sample:
bool mirrarornaments::onmousedown(fb::mousedownevent *evt, fb::pluginwindow *) { if(evt->m_btn == fb::mousebuttonevent::mousebutton_left) { //from here need function in javascript argument of fb::variant_list_of(evt->m_x)(evt->m_y)); } }
is possible?
trying return variant_list use in js,
but need bool anyway cos of:
begin_plugin_event_map() eventtype_case(fb::mousedownevent, onmousedown, fb::pluginwindow) end_plugin_event_map()
to have callback javascript first need pass callback input jsapi plugins.
you can follows:
in plugintestapi.cpp
registermethod("setcallback", make_method(this, &plugintestapi::setcallback)); int plugintestapi::setcallback(const fb::jsobjectptr& callback) { m_callback = callback; }
in plugintestapi.h
class plugintestapi { fb::jsobjectptr* m_pcallback; int setcallback(const fb::jsobjectptr& callback);
and in javascript pass function when setup:
function myjscallback (params) { } myplugin.setcallback(myjscallback);
then can call callback c++ code:
bool mirrarornaments::onmousedown(fb::mousedownevent *evt, fb::pluginwindow *) { if(evt->m_btn == fb::mousebuttonevent::mousebutton_left) { //from here need function in javascript argument of m_pcallback->invoke(fb::variant_list_of(evt->m_x)(evt->m_y)); } }
Comments
Post a Comment