> I use "leave" event as workaround. 

That's what I do too at the moment, but compared to the mouse capture on 
native platform it doesn't feel great for UI applications, for instance 
when grabbing a UI slider and accidentally moving the mouse outside the 
window, you suddenly lose the slider and need to grab it again.

On Tuesday, 8 February 2022 at 17:20:59 UTC+1 caiiiycuk wrote:

> I use "leave" event as workaround. When "pressed" pointer leaves canvas it 
> automatically became unpressed. It works fine in most cases for me.
>
> вт, 8 февр. 2022 г. в 20:29, Floh <[email protected]>:
>
>> oops typos:
>>
>> > setCapture()/releaseCapture() event pair
>>
>> ...this should be "function pair". Don't know why I got that wrong 
>> *twice* :)
>>
>> On Tuesday, 8 February 2022 at 14:28:30 UTC+1 Floh wrote:
>>
>>> First...I don't mean pointer-lock (which works fine), but instead the 
>>> setCapture() (old) or setPointerCapture() (new) functionality.
>>>
>>> For example, if I drag a Dear ImGui window and the mouse pointer goes 
>>> out of the browser window, mouse events are no longer reported. Releasing 
>>> the mouse button outside the window means that the ImGui window now sticks 
>>> to the mouse button when the mouse is moved back inside, because the 
>>> application still thinks the mouse button is pressed.
>>>
>>> In the olden times, there was a setCapture()/releaseCapture() event 
>>> pair, which doesn't work in Chrome.
>>>
>>> In modern times, there's a new 
>>> setPointerCapture()/releasePointerCapture() event pair, but this requires a 
>>> 'pointerId' parameter, which isn't part of the regular mouse events, but of 
>>> the derived 'pointer events'.
>>>
>>> Long story short, has anybody managed to hack this somehow with the 
>>> emscripten_*() functions? I tinkered around with calling an EM_JS() 
>>> function from within the mouse button event handlers, which then calls 
>>> setPointerCapture/releasePointerCapture, but that isn't successful because 
>>> those functions want an actual, active "pointerId" object, not just some 
>>> random number :D
>>>
>>> I guess that emscripten/html5.h needs a new set of event functions for 
>>> pointer events (
>>> https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events), 
>>> instead of regular mouse events?
>>>
>>> Thanks!
>>> -Floh.
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/6f17bf5e-5c08-4e8b-996c-437d62d0fa1fn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/6f17bf5e-5c08-4e8b-996c-437d62d0fa1fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/7e7c436b-cd16-449c-9fba-3d99e39d94d0n%40googlegroups.com.

Reply via email to