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
Luke Murray
68f9d675fc
fix: calling viewer.destroy() multiple times throw an error. And a simple destroy to mousetracker
2013-08-08 17:49:24 +10:00
ethan.li
0bb9c5be97
issue:
...
canvas pans when tap on touch screen
reason:
onTouchStart calls onMouseDown which registers 'mousemove' event handler.
when I tap on touch screen, even though browser did not dispatch 'touchmove' event, it dispatched 'mousemove' event.
therefore, the 'mousemove' handler pans canvas.
fix:
stop onTouchStart handler registering 'mousemove' handler as onMouseMove will be properly triggered by onTouchMove
2013-07-23 16:40:04 +10:00
ethan.li
0ef98be0b7
for fix I made to onTouchEnd:
...
1. remove IE8 related code as it does not support touch anyway
2. use event.changedTouches [ 0 ] rather than event
2013-07-12 10:29:44 +10:00
ethan.li
8108009ba7
fix issue:
...
onTouchEnd did not call the correct mouse up handler
2013-07-09 11:07:18 +10:00
Kevin Ewing
248852c15f
Implementing OpenSeadragon.now()
...
Replacing both `+new Date()` and `new Date().getTime()` with `$.now()`
2013-06-20 13:15:04 -07:00
Chris Adams
9f6f164d9f
Remove all whitespace
...
The results of running this command::
find . -name \*.js -print0 | xargs -0 perl -p -i -e "s|[ \t]+$||"
(Split from #136 )
2013-06-19 13:33:27 -04:00
Benjamin Gilbert
fcc119bb84
Add file-specific descriptions to file headers
2013-05-14 00:00:24 -04:00
Benjamin Gilbert
17a6ee15b1
Include 2010 in "OpenSeadragon contributors" copyright dates
...
This Git repository starts in 2011, but the CodePlex Mercurial repository
has commits from 2010.
2013-05-13 23:32:09 -04:00
Benjamin Gilbert
2f2eba8df2
Add "OpenSeadragon contributors" copyright statement
...
The license text will be provided on the website, etc., and it seems
strange to list no copyright date newer than the original CodePlex
copyright from the AJAX Control Toolkit. Add a blanket copyright
statement for contributions to the OpenSeadragon project, stating that
copyright is held by the authors of each contribution. This blanket
statement is not intended to preclude individual contributors from
attaching their own copyright statements to their modifications.
2013-05-12 17:12:26 -04:00
Benjamin Gilbert
be20645876
Add BSD license block and CodePlex copyright to each source file
...
See discussion in #10 .
2013-05-10 00:16:55 -04:00
thatcher
361052656c
patch for pinch zoom point. initial two point touch midpoint is used for duration of pinch-zoom operation. references #17
2013-02-27 06:57:06 -05:00
Hal Blackburn
3eac183d8c
Fix handling of touchmove events on Android
...
Dragging the canvas did not work on Android devices as the === check for
lastTouch and the current event was always evaluating to false.
Presumably Safari on iOS re-uses the same Touch object for touchmove
events with the same finger, whereas Chrome/Firefox on Android creates
new Touch objects for each event (so the === evaluates false). The code
now compares Touch.identifier to ensure the new touch event is from the
same finger as the initiating touchstart.
2013-02-26 11:50:11 +00:00
Ian Gilman
9569ff1215
Removed JS Hint globals comment, since it's now in grunt
2013-02-14 12:04:47 -08:00
thatcher
a0fd2b3324
added inital support for moving to a nodejs build with grunt. build only includes concant and lint. fixed all lint warning where appropriate and added lint inline ignores where appropriate. when build script is complete we will start transition to new repo. also currently researching how to prune unfriendly portion of history that make repo large due to large binary files in web app. I like git well enough but using branches for web apps unrelated to code base has made me weary once again of social web fads that force convention without long term consideration of cost.
2013-02-12 22:40:08 -05:00
Ian Gilman
7a55b6cf77
JS Hint work (mostly semicolons at this point)
2013-01-29 09:32:58 -08:00
thatcher
e595ad2381
Adding ability to bind to buttons to custom interface elements, also use screen size detection to avoid using canvas on small devices since is more cpu intensive. Added version check for IE specific implementations to avoid using them for IE 9 and made most IE implementation differences a one-time process instead of an if/else which is evaulated on every call to the function.
2012-04-10 17:02:24 -04:00
thatcher
05f3c1d811
several bug fixes and enhancements. legacy tile source issue discovered and corrected for images with width greater than height. adding basic support for sequenced tile sources including previous and next buttons. added mouse drag and scroll interactions for viewport navigator.
2012-04-03 03:08:27 -04:00
thatcher
94247b7225
Additional patches for keyboard accessibility
2012-03-20 21:58:23 -04:00
thatcher
825023aaf6
IE specific patch for navigator (styleFloat), also keyboard accessibility patches for firefox
2012-03-20 15:30:29 -04:00
thatcher
6443d57e09
corrected major performance issue discovered in navigator becuase minPixelRatio was set to Zero. This caused images to be loaded ad infinitum in the navigator, oops.
2012-03-19 19:03:58 -04:00
thatcher
ddaddb7f42
keyboard accessibile buttons finally
2012-03-16 11:36:28 -04:00
thatcher
5245698864
removed window.location.hash debug message accidently left when committing touch event support
2012-02-09 22:54:27 -05:00
thatcher
05b8cb82fd
finished support for touch events, works great on the ipad, a little slow on iphone (I think we can scale drag and zoom better based on viewport size). Awesome
2012-02-09 22:16:09 -05:00
thatcher
1739294700
Cleaned up more of MouseTracker making properties intended to be private, private, and similarly with methods. saved documentation on meaning of private properties and methods where it was already done. MouseTracker api is proably clean enough to try to add touch screen event support now.
2012-02-02 19:12:45 -05:00
thatcher
ec77bb2a78
finally managed to clean up MouseTracker, actually uses the prototype pattern. probably too many public methods but that can be cleaned up later.
2012-02-01 16:56:04 -05:00
thatcher
5cba11c91c
replaced all references of elmt with element ( or Elmt with Element )
2012-01-31 21:01:37 -05:00
thatcher
012255d622
added jsdoc some files to project, added 'doc' task to build, started to annotate code with docs
2012-01-25 14:14:02 -05:00
thatcher
d38bc75180
moved all functions in OpenSeadragon.Utils to OpenSeadragon object literal to remove 'utility' anti-pattern. removed src/utils.js from build and deleted physical file. added important TODO notes to avoid overhead from browser vendor/version checks in functions, defining them once instead. incremented build id to 0.8.18
2012-01-17 18:30:41 -05:00
thatcher
345e5f3e6c
completed first pass at refactor of buttons.js, next will be mousetracker so we can attack some significant anti-patterns that spill over into places like buttons.js because the MouseTracker doesnt have an idiomatic constructor. It may also be worth applying the MouseTracker as a mixin to avoid the extra .tracker property indirection.
2011-12-20 07:39:02 -05:00
thatcher
7f7589e939
minor refactor of mousetracker.js
2011-12-13 20:04:38 -05:00
thatcher
916ada5f02
Added simple ant build. Broke main file into composite parts in src directory. Concatenated release is still included in the project as a release artifact.
2011-12-05 22:50:25 -05:00