minko 、「html オーバーレイ」機能を使用して、html から c++ コードにイベントを送信することは可能ですか?
フレームワークを使用して提供された例では、イベントを c++ から html に送信する方法を明確に示しています (カウンターをインクリメントして html に反映させることにより)。通信を逆にすることは可能ですか?
はい。
HTML DOM イベントはラップされ、C++ シグナルとして利用可能になります。したがって、次のようなことができます:
dom->getElementById("my-element-id")->onclick()->connect(
[](dom::AbstractDOMMouseEvent::Ptr event)
{
// do something...
}
);
実際には同じ例で行われます: https://github.com/aerys/minko/blob/master/example/html-overlay/src/Main.cpp#L110
AbstractDOM::sendMessage()
C++ のメソッドまたはMinko.sendMessage()
JS の関数を使用して、双方向の「メッセージ」を送受信することもできます。AbstractDOM::onmessage()
これらのメッセージは、C++ およびを使用して聞くことができますMinko.addEventListener("message", yourCallbackFunction)
。
AbstractDOM::eval()
C++ コードを呼び出して JavaScript コードを実行することもできます。これは、実際にほとんどのことを実装した方法です。