我如何做一个回调从FireBreath到JavaScript
How can I do a callback from FireBreath to JavaScript
代码示例:
bool MirrarOrnaments::onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *)
{
if(evt->m_Btn == FB::MouseButtonEvent::MouseButton_Left)
{
//from here i need to function in my JavaScript with argument of FB::variant_list_of(evt->m_x)(evt->m_y));
}
}
有可能吗?
试图简单地返回variant_list在JS中使用它,
但是它必须是bool值因为:
BEGIN_PLUGIN_EVENT_MAP()
EVENTTYPE_CASE(FB::MouseDownEvent, onMouseDown, FB::PluginWindow)
END_PLUGIN_EVENT_MAP()
要在JavaScript中有一个回调,您首先需要将回调作为输入传递给JSAPI插件。
你可以这样做:
在PluginTestAPI.cppregisterMethod("SetCallback", make_method(this, &PluginTestAPI::SetCallback));
int PluginTestAPI::SetCallback(const FB::JSObjectPtr& callback)
{
m_CallBack = callback;
}
在PluginTestAPI.h class PluginTestAPI
{
FB::JSObjectPtr* m_pCallback;
int SetCallback(const FB::JSObjectPtr& callback);
,然后在JavaScript中传递这个函数,当你设置:
function myJSCallback (params) {
}
myplugin.SetCallBack(myJSCallback);
然后你可以从c++代码中调用这个回调:
bool MirrarOrnaments::onMouseDown(FB::MouseDownEvent *evt, FB::PluginWindow *)
{
if(evt->m_Btn == FB::MouseButtonEvent::MouseButton_Left)
{
//from here i need to function in my JavaScript with argument of
m_pCallback->Invoke(FB::variant_list_of(evt->m_x)(evt->m_y));
}
}
相关文章:
- 在java中解决这段代码时面临循环中的问题
- 尝试用java代码编译和运行c++代码
- 在这种情况下,java对象是否可以调用本机函数
- 在java中读取c++字节的位字段
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 使用已使用 java 编码的 openssl 解码数据
- SWIG Java 在使用 -DSWIGWORDSIZE64 时将int64_t转换为 jlong
- Android Java USB for native cpp
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- C++ equivalent to Java Map getOrDefault?
- C++ 中的 Java 样式枚举
- 是否有技术原因阻止 Java 中的 final C++ 像 const 一样严格?
- 加密在 Windows、C++ 和 Java 中传输中的数据
- Java从C++回调到C++回调
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 用C++包装 Java 库 (JNI)
- 使用 TreeSet Java 对反转进行计数
- 在Firebreath中使用Java Apis
- 如何在Firebreath插件框架中使用基于Java的项目
- 使用 firebreath 插件打开文件夹对话框并异步返回文件夹选择,这样 java 脚本就不会被阻止