Mark Salsbery
e7a62c2717
Enhanced pointer capture implementation, IE bug workarounds
2020-07-30 21:08:02 -07:00
Mark Salsbery
2d4a723854
MouseTracker enhancements, improved IE <=10 support
2020-07-25 18:30:06 -07:00
Mark Salsbery
d2bb480363
Browser sniffing and pointer events fixes and enhancements
2020-07-24 20:05:39 -07:00
Mark Salsbery
c4351f64e8
stricter linting
2020-06-25 16:01:14 -07:00
Ian Gilman
c01887f3e3
Updated NPM packages
2019-12-30 10:46:44 -08:00
SangYeob Yu
4a3f79e305
prevent multi-points errors on ipad
2019-12-18 16:48:15 +09:00
SangYeob Yu
831c06c499
fix iPadOS 13 multi-touch issue
2019-12-10 16:29:20 +09:00
Ian Gilman
ca4550d76e
Doc comment fixes
2017-07-18 16:22:26 -07:00
Ian Gilman
28f9e9e35e
Merge pull request #1244 from LarissaSmith/master
...
Fix more issues with tracking multiple pointers.
2017-07-12 16:00:38 -07:00
larissasmith
0bded9f8e1
Correct docs and add check for contact count.
2017-07-12 11:21:52 -06:00
Jose
aabfa32595
Merge conflict resolved
2017-07-10 23:01:04 +02:00
larissasmith
c3a65bab38
Replace filter with a for loop.
2017-07-10 13:54:20 -06:00
larissasmith
d9bda20e59
Fix more issues with tracking multiple pointers.
2017-07-07 16:50:03 -06:00
larissasmith
ad206a7738
Add reference to github discussion on mouse tracking bug fix.
2017-06-20 16:35:00 -06:00
larissasmith
319d27f0c0
Fix image stuck to mouse when right-clicking and left-clicking simultaneously.
...
Mouseup and mousedown events are lost when two buttons are pressed at the same time. Pressing buttons in the order left-button down, right-button down (ignored), left-button up (ignored), right-button up was leaving drag state active.
2017-06-16 14:05:35 -06:00
Jose
70bdc8839e
Some issues solved
2017-02-20 20:23:25 +01:00
Jose
d5b62aabcd
Patch to fix issue #697 , also contains improvements when panning under certain constrains
2017-02-19 17:36:53 +01:00
Antoine Vandecreme
de25b68b43
Add eslint and hound
2017-01-16 21:41:07 +01:00
Daniel Zimmermann
c25bf0a239
Correctly handle touch PointerEvents
...
`onPointerDown/Up` may call `capture/releasePointer`
with `"touch"` as the pointerType, which would result
in a bug as `touchCount` would be `undefined`.
`capture/releasePointer` should just default to a
count of `1` if not specified. This properly retains
the existing behaviour for non-TouchEvent handling.
2016-05-16 06:26:52 +10:00
Daniel Zimmermann
a4dbae0754
Handle simultaneous touch events
...
Found and tested on an iPhone 5s w/ iOS 9.2.
Not sure about other devices.
Fixes #877
2016-05-16 06:26:52 +10:00
Antoine Vandecreme
a12b74ec17
Fix @lends for new JSDoc. Fix polymorphic functions doc ( #824 ).
2016-01-24 16:09:18 -05:00
Sebastian Öberg
8f9d2a9bfe
Converted jsdoc to plain comments
2015-12-09 18:28:41 +01:00
Sebastian Öberg
2ab6f18cee
Changed isInIframe to a variable for caching
2015-12-09 11:04:37 +01:00
Sebastian Öberg
703f922ed8
Fixed drag release outside of iframe when the iframe is on the same domain.
2015-12-08 11:22:29 +01:00
Javier Quevedo
f20d2ffa4d
Fixed issue in iOS devices that would cause all touch events to fail after a Multitasking Gesture was triggered. The fix works by aborting all touch contacts after a touch has been cancelled, since the Multitasking Gestures in iOS trigger the TouchCancel event on those touches which were active..
2015-10-16 15:52:20 +02:00
Antoine Vandecreme
606d25dbe6
Merge upstream.
2015-06-08 10:38:16 -04:00
Mark Salsbery
1da57564df
Merge branch 'master' into mousetracker_defaulton
...
Conflicts:
changelog.txt
src/navigator.js
2015-01-21 11:18:52 -08:00
Mark Salsbery
545997bace
MouseTracker now defaults to tracking on ( #558 )
2015-01-20 18:35:58 -08:00
Mark Salsbery
912f82d36d
IE 11 fix and Merge branch 'master' into mousetracker_MSPointerEvent
...
Conflicts:
changelog.txt
2015-01-20 13:28:30 -08:00
Mark Salsbery
3b01014ac8
Fixed pointer event model detection for IE 10 ( #571 )
2015-01-20 10:26:14 -08:00
Mark Salsbery
e87020cf78
Removed 'position' property from MouseTracker keyDownHandler/keyUpHandler/keyHandler functions
...
Positional data is not available in the corresponding DOM event objects
2015-01-20 09:48:28 -08:00
Mark Salsbery
2831771af5
MouseTracker - keyboard handling
...
1) MouseTracker - added keydown and keyup handlers
2) Modifier keys ignored in keyboard navigation handlers (#503 )
3) Arrow key navigation fixed across platforms (#565 )
2015-01-16 16:26:30 -08:00
Mark Salsbery
8e5e2168c8
Ensure capture released in abortTouchContacts()
2015-01-16 08:33:34 -08:00
Mark Salsbery
cb56e352cf
Mousetracker Improvements
...
1) MouseTracker - Simulated touchenter/touchleave events now bubble to parent element MouseTrackers
2) MouseTracker - Improved multitouch support in enter/exit event handlers
3) MouseTracker - orphaned tracked touch pointers removed (fix for #539 )
4) MouseTracker - removed touchenter/touchleave event support since the events don't exist on any known platform and have been removed from the W3C specification
5) Removed Viewer onContainerPress/onContainerRelease handlers (and the associated 'container-release' event ) that were never fired due to the canvas (child) element capturing the DOM events
6) Added 'canvas-enter', 'canvas-exit', and 'canvas-press' events to Viewer
7) ButtonGroup - removed obsolete MouseTracker event handlers
2015-01-15 12:15:22 -08:00
Mark Salsbery
d26d3f9393
MouseTracker - Improved IE 9+ compatibility
2015-01-14 08:44:14 -08:00
Mark Salsbery
0d6fca35c1
Fix pointer type passed to capturePointer/releasePointer in pointer events model.
...
Remembered to change the test shim as well.
2015-01-12 16:08:26 -08:00
Mark Salsbery
83ff365121
Revert "capturePointer()/releasePointer() call fix for pointer event model"
...
This reverts commit d582a9563f
.
2015-01-12 15:33:51 -08:00
Mark Salsbery
1c465ec59c
Revert "Second attempt: capturePointer()/releasePointer() call fix for pointer event model"
...
This reverts commit 1bdb83dc58
.
2015-01-12 15:33:18 -08:00
Mark Salsbery
1bdb83dc58
Second attempt: capturePointer()/releasePointer() call fix for pointer event model
2015-01-12 12:56:18 -08:00
Mark Salsbery
d582a9563f
capturePointer()/releasePointer() call fix for pointer event model
2015-01-12 12:26:38 -08:00
Mark Salsbery
755854d3f7
Renamed non-primary button events/handlers
2015-01-12 11:02:54 -08:00
Mark Salsbery
30b5ec04c6
MouseTracker Improvements
...
* Exposed secondary pointer button (middle, right, etc.) events from MouseTracker and through viewer (#479 )
* MouseTracker - Improved IE 8 compatibility
2015-01-10 14:49:02 -08:00
Mark Salsbery
b39d31a845
MouseTracker - Added explicit pointer capture for touch event model events
2014-12-31 14:30:10 -08:00
Mark Salsbery
8d4c776cd0
MouseTracker fixes for #502 , #518 , #527 , #539
2014-12-30 12:57:17 -08:00
Ben Delarre
1d1b9bf01a
Added support for pointer API so this now works in IE11.
2014-09-23 14:31:53 -07:00
Ben Delarre
f07108ec2d
Updated implementation to better pass tests, still not 100% though.
2014-09-23 11:26:42 -07:00
Ben Delarre
7278793e5c
Fixed notation for travis build.
2014-09-12 16:22:55 -07:00
Ben Delarre
2a8cb43d02
Fixes issue #464 by adding mouseout handler to document and calling mouseUp handler
2014-09-12 16:01:19 -07:00
Mark Salsbery
ee3ab70025
Combined redundant captureMouse()/capturePointer() and releaseMouse()/releasePointer() functions
2014-08-06 10:49:42 -07:00
Mark Salsbery
be13d25a26
Removed debug code
2014-08-05 16:17:40 -07:00
Mark Salsbery
3521bac90e
Fixed pointer event capture, Cleaned up debug code
2014-08-05 13:56:18 -07:00
Mark Salsbery
c6bea68b4e
Merge branch 'master' into IE9-MouseTracker-Clicks
2014-08-05 07:00:05 -07:00
Mark Salsbery
e11095968c
Mousetracker Over/Out Tracking Fixes
2014-08-04 21:41:07 -07:00
Henri Astre
a563bdb658
fix .close() called after .destroy() + spacing
2014-06-18 10:35:23 -07:00
Henri Astre
764fa3e34a
Fix memory leak while destroying the viewer.
2014-06-17 17:26:10 -07:00
esmondb
59ab6562d3
Removes unnecessary trailing commas which stops google's closure compiler.
2014-06-14 10:15:40 +01:00
Mark Salsbery
5b995eb04b
Removed mousenter/mouseleave DOM Event Handling
...
Fixes #394
mouseenter/mouseleave are not implemented in Webkit very well, so
reverted to mouseover/mouseout.
2014-05-02 23:01:38 -07:00
Mark Salsbery
8232546d51
Merged upstream changes, fixed conflicts
2014-04-24 12:40:49 -07:00
Mark Salsbery
7567a657bd
Add Double-Click/Tap Gesture to MouseTracker ( #300 )
...
Fix for enhancement #300
Added double-click/tap gesture detection to MouseTracker.with
corresponding dblClickHandler event callback.
Added unit test for double-click detection.
Added Viewer dblClickHandler handling to optionally zoom on
double-click.
2014-04-22 09:23:56 -07:00
Mark Salsbery
5860167d65
MouseTracker Touch Fixes - Flick Defaults and Bubbling
...
Flick gesture settings defaults set to better values.
Removed touch event model bubble cancelling so viewer controls show on
touch contact.
2014-04-20 18:19:32 -07:00
Mark Salsbery
8e119d66e5
Minor naming changes
2014-04-16 06:40:19 -07:00
Mark Salsbery
c2e7b376b0
pinchToZoom gesture option added, misc. fixes
...
changelog update.
pinchToZoom gesture option added.
Event unit tests cleaned up.
2014-04-15 19:19:47 -07:00
Mark Salsbery
9b15ca090b
Fallback to mouseover/mouseout,
2014-04-15 13:04:08 -07:00
Mark Salsbery
09bfd55add
MouseTracker fixes and tests
...
Separated event-model/device specific event handling code from
event-model/device agnostic event handling code.
Use enter/leave events instead of over/out events.
Updated unit tests for above changes.
Added unit tests for mouse gestures.
Updated changelog for breaking changes and deprecations.
2014-04-14 18:17:18 -07:00
Mark Salsbery
dc48a31412
Exposed gesture settings as options
2014-04-03 08:50:25 -07:00
Mark Salsbery
b8ea87d3f8
MouseTracker Fixes
...
Fixed mouse capture, should work on IE8 without IE8-specific code.
2014-04-01 18:27:54 -07:00
Mark Salsbery
2c8af72f5e
Multi-Touch MouseTracker Fixes
...
Removed zoom on click for touch.
Added an isPrimary flag to gesture points.
Fixed documentation error and updated documentation and comments.
Implemented the stopHandler for mouse events.
2014-04-01 09:32:04 -07:00
Mark Salsbery
d324aea761
Multi-Touch MouseTracker Update
...
Refactored, fixed a couple bugs, unit tests working.
Issuing a pull request.
2014-03-31 12:54:37 -07:00
Mark Salsbery
1475f5865d
Multi-Touch MouseTracker Update
...
Ready to pull request, merging upstream changes and running tests.
2014-03-29 17:02:24 -07:00
Mark Salsbery
f6dfe9b079
Multi-Touch MouseTracker Update
2014-03-21 11:45:20 -07:00
Mark Salsbery
d52df4a9bf
Multi-Touch MouseTracker Update
...
Pinch gesture fixups
2014-03-15 17:12:13 -07:00
Mark Salsbery
7aa0df1b66
Multi-Touch MouseTracker Update
...
Pinch zoom update
2014-03-14 14:15:09 -07:00
Mark Salsbery
38cae86659
Multi-Touch MouseTracker Update
2014-03-14 10:42:22 -07:00
Mark Salsbery
c7ea247baa
Initial commit - Multi-touch, pointer event MouseTracker
2014-03-10 11:49:51 -07:00
Mark Salsbery
930e8c4dfd
Updated Doclets
2013-11-25 08:48:44 -08:00
Mark Salsbery
54049927f0
Updated doclets
...
Changed event docs:
Changed userData properties from optional to nullable.
Removed optional type from preventDefaultAction properties.
2013-11-18 06:56:32 -08:00
Mark Salsbery
70b91d57ec
Updated doclets for jsdoc3
...
Updated so jsdoc3 parser picks everything up.
Added event docs.
Lots of documentation content needed...
2013-11-15 22:19:53 -08:00
Mark Salsbery
8e325a3748
Added preventDefaultAction flag to MouseTracker
...
Added a boolean preventDefaultAction property (default false) to the
event object passed to MouseTracker handler methods. Implemented in the
following MouseTracker subscribers:
* Viewer.keyboardCommandArea.innerTracker.focusHandler:
preventDefaultAction == true prevents scrolling viewer into view
* Viewer.keyboardCommandArea.innerTracker.keyHandler:
preventDefaultAction == true prevents viewer keyboard navigation
* Viewer.innerTracker.clickHandler: preventDefaultAction == true
prevents viewer zoom on click
* Viewer.innerTracker.dragHandler: preventDefaultAction == true prevents
viewer panning with mouse/touch
* Viewer.innerTracker.scrollHandler: preventDefaultAction == true
prevents viewer zooming on mousewheel/pinch
2013-11-04 12:41:45 -08:00
iangilman
047129e817
Merge pull request #262 from avandecreme/mousestop
...
Add mouse stop event
2013-11-01 11:14:57 -07:00
Antoine Vandecreme
3f5db8f8de
Fix mousestop event on IE
2013-10-31 16:16:08 -04:00
Antoine Vandecreme
542d5f5aeb
Remove cancelEvent + fix typos
2013-10-30 21:28:10 -04:00
Mark Salsbery
0f8ac4cfab
Added 'MozMousePixelScroll' event handling
...
For older Firefox versions
2013-10-24 13:39:00 -07:00
Mark Salsbery
755c4752c0
'wheel' Event Support Fixes
...
Whitespace, cancel handling
2013-10-23 13:55:52 -07:00
Mark Salsbery
e76c9e65ab
Added 'wheel' Event Support
...
Also improved OpenSeadragon.addEvent()/OpenSeadragon.removeEvent()
2013-10-23 12:58:36 -07:00
Antoine Vandecreme
8debb26d61
Add mouse stop event
2013-10-22 16:54:04 -04:00
Mark Salsbery
d574700b3d
Event Handler Signatures Changed to 'fn(event)'
...
All event handler signatures changed to 'fn(event)'
eventSource property added to the event object passed
Redundant event source properties removed ('button' and 'viewer'
Documentation updated in MouseTracker
changelog.txt updated
2013-10-10 17:00:15 -07:00
Mark Salsbery
1c17ea8afa
Merge branch 'master' into Pinch-Zoom-Fix
...
Conflicts:
changelog.txt
2013-10-07 08:44:29 -07:00
Mark Salsbery
d55b2e7703
Pinch zoom fix
...
The existing code failed on iPhone Safari iOS 6.x - event.detail was
always 0 causing only zoom out behavior.
2013-10-03 15:30:40 -07:00
Mark Salsbery
9928a6d925
Fix for touch event issue #240
2013-10-03 12:11:33 -07:00
Mark Salsbery
c27481546a
MouseTracker Original Events in Handlers
...
Whitespace fixes on un-empty [] brackets
2013-09-20 09:58:18 -07:00
Mark Salsbery
56ef12e850
Original Events in Handlers
...
Documentation fixes
isTouchEvent property removed from eventData where not used
'eventOrTouchPoint' var name used and 'originalEvent' var name restored
to 'event'
2013-09-12 10:05:50 -07:00
Mark Salsbery
af078f8f19
MouseTracker Original Events in Handlers
...
Renamed insideElementRelease to insideElementReleased.
2013-09-10 17:31:51 -07:00
Mark Salsbery
1dc2d7e011
MouseTracker Original Events in Handlers
...
Touch events bug fix. Now uses touch object(s) properly when calculating
positions.
2013-09-10 17:23:19 -07:00
Mark Salsbery
13415b36f3
MouseTracker Original Events in Handlers
...
Misc name changes, indentation/whitespace fixes.
Still TODO: Fix documentation, evaluate presence of key handler in a
mouse tracker, evaluate whether isTouchEvent flag should be in all
eventData objects or not.
2013-09-09 14:27:58 -07:00
Mark Salsbery
d60224b615
MouseTracker Original Events in Handlers
...
Pass original touch events to handlers.
2013-09-06 13:12:11 -07:00
Mark Salsbery
56f5b9fb74
MouseTracker Original Events in handlers
...
Comment & Formatting fixes
2013-09-06 10:43:39 -07:00
Mark Salsbery
b3fa8f1184
MouseTracker original events in handlers
...
Implemented "Expose original event in handlers" (#23 ) for MouseTracker
Added OpenSeadragon.getElementOffset() method. Element-relative mouse
coordinates should be correct even if the element and/or page is
scrolled (#131 )
2013-09-05 17:20:17 -07:00
iangilman
d2353746c9
Merge pull request #179 from lukemurray/destroy
...
Add a destroy function on the viewer to clean up and remove elements
2013-08-19 10:03:12 -07:00
Ian Gilman
96c14f7617
Ignoring touchMove if we didn't get the touchStart
2013-08-16 10:09:49 -07:00
Luke Murray
0c662b8a8d
fix: comment updates and add a simple test for viewer.destroy
2013-08-12 16:38:37 +10:00