Summary: | NEWT: Support 'Continue Drag on Exit' | ||
---|---|---|---|
Product: | [JogAmp] Newt | Reporter: | Sven Gothel <sgothel> |
Component: | core | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | ||
Priority: | --- | ||
Version: | 1 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: |
88f6e0012b36ca69dedaadb4e403e2a424b20cbf
|
Workaround: | --- |
Description
Sven Gothel
2013-11-13 19:15:36 CET
On X11 no extra native code was required, i.e. drag events are received even if pointer is in exterior of the window. Windows behaves different: - Native code for touch processing is required to deal w/ exterior dragging - Mouse move/release when exterior of the window is not 'just' received. OSX: TBD .. (In reply to comment #1) > On X11 no extra native code was required, i.e. drag events are received > even if pointer is in exterior of the window. > > Windows behaves different: > - Native code for touch processing is required to deal w/ exterior dragging > - Mouse move/release when exterior of the window is not 'just' received. We have to SetCapture(HWND) on MOUSE_MOVE if BUTTON is PRESSED and ReleaseCapture() when no more buttons are pressed or leaving focus. > > OSX: TBD .. (In reply to comment #2) > > > > OSX: TBD .. On OSX no extra native code was required either, i.e. drag events are received even if pointer is in exterior of the window. - Support 'Continue Drag on Exit' - Track dragging operation, allow exterior dragging - Hence track EXIT (see below) - Windows: - Capture mouse for exterior dragging - Only 'NewtWindows_trackPointerLeave' if 'entering' - Simplify touch: No 'inside' check - Not required. - Consistent Mouse ENTER/EXIT - Track ENTER/EXIT and synthesize if required, drop duplicate - OSX benefits, since it never produced ENTER/EXIT events - AWT (or other TK) translated events beahve equal now. - Required for EXIT event after ending exterior dragging and final RELEASE Tests: Passed unit tests 'junit.run.newt.event' on - GNU/Linux - Windows7 - OSX 10.7 Tested exterior tracking manually w/ NEWT TestGearsES2NEWT and TestGearsES2NewtCanvasAWT: - GNU/Linux - Windows7 (mouse) - Windows8.1 (touch) - OSX 10.7 |