mercredi 1 février 2017

How to send mouseWheelEvent to SWF, loaded to QWebView

I have a program, written in C++, using Qt 5.5.1 (can't switch to another version), running under Windows (7 or 10, doesn't matter).

So I have some FlashWidget, subclassed from QWebView. It loads html file, parses it and replaces %1 with appropriate path to *.swf

<object 
    class="flashPlayer"
    width=90%
    height=100% 
    type="application/x-shockwave-flash"
    id="bridgemovie"
    data="%1"  >
    <param name="allowScriptAccess" value="always"/>
</object>

SWF file has event listeners on mouse events: mouse down, up and mouse wheel

    addEventListener(MouseEvent.MOUSE_WHEEL, zoom); //"zoom" is just some internal function
    addEventListener(MouseEvent.MOUSE_DOWN, mouseDown1);
    addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

Problem: Dragging and clicking works pretty well, but loaded SWF doesn't receive wheel events. I can't modify SWF code, only C++ and HTML parts. So, how I can natively pass mouseWheel event from JS (or, perhaps, QWebView, if allowed so) to the loaded SWF file?

P.S. I've tried loading SWF with QAxWidget, and wheelEvent is received, but there are some rendering problems, so I'm trying to repair solution with QWebView.

Aucun commentaire:

Enregistrer un commentaire