mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-22 05:06:09 +03:00
09bfd55add
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.
205 lines
14 KiB
Plaintext
205 lines
14 KiB
Plaintext
OPENSEADRAGON CHANGELOG
|
|
=======================
|
|
|
|
1.1.0: (in progress)
|
|
|
|
* BREAKING CHANGE: the openseadragon-canvas element now has two child divs. This means: (#298)
|
|
* The drawer element is no longer accessible via viewer.canvas.firstChild but via viewer.drawersContainer.firstChild or viewer.drawer.canvas.
|
|
* The overlays elements are no longer accessible via viewer.canvas.childNodes but via viewer.overlaysContainer.childNodes or viewer.currentOverlays[i].element.
|
|
* BREAKING CHANGE: Pseudo full screen mode on IE<11 using activex has been dropped. OpenSeadragon will run in full page if full screen mode is requested.
|
|
* BREAKING CHANGE: MouseTracker touch pinch gestures are no longer converted to scroll events. MouseTracker.pinchHandler should be used instead. (#369)
|
|
* BREAKING CHANGE: MouseTracker now uses pointer enter/leave DOM events instead of pointer over/out DOM events for generating enterHandler/exitHandler events and for tracking pointers inside the hit-test bounds of the tracked element. (#369)
|
|
* DEPRECATION: overlay functions have been moved from Drawer to Viewer (#331)
|
|
* DEPRECATION: OpenSeadragon.cancelFullScreen has been renamed OpenSeadragon.exitFullScreen (#358)
|
|
* DEPRECATION: The 'isTouchEvent' property passed in MouseTracker events is deprecated and has been replaced with 'pointerType', which is a String value "mouse", "touch", "pen", etc. to support multiple simultaneous pointing devices (#369)
|
|
* DEPRECATION: The 'buttonDownAny' property passed in MouseTracker enter and exit events (enterHandler/exitHandler) is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
|
|
* DEPRECATION: The 'buttonDownAny' property passed in Viewer's 'container-enter' and 'container-exit' events is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
|
|
* Added layers support. Multiple images can now been displayed on top of each other with transparency via the Viewer.addLayer method (#298)
|
|
* Improved overlay functions (#331)
|
|
* Fixed: Nav button highlight states aren't quite aligned on Firefox (#303)
|
|
* Added ControlAnchor options for default controls (#304)
|
|
* Enabled basic cross-domain tile loading without tainting canvas (works in Chrome and Firefox) (#308)
|
|
* Added crossOriginPolicy drawer configuration to enable or disable CORS image requests (#364)
|
|
* Added a ControlAnchor.ABSOLUTE enumeration. Enables absolute positioning of control elements in the viewer (#310)
|
|
* Added a 'navigator-scroll' event to Navigator. Fired when mousewheel events occur in the navigator (#310)
|
|
* Added a navigatorMaintainSizeRatio option. If set to true, the navigator minimap resizes when the viewer element is resized (#310)
|
|
* Added 'ABSOLUTE' as a navigatorPosition option, along with corresponding navigatorTop, navigatorLeft options. Allows the navigator minimap to be placed anywhere in the viewer (#310)
|
|
* Enhanced the navigatorTop, navigatorLeft, navigatorHeight, and navigatorWidth options to allow a number for pixel units or a string for other element units (%, em, etc.) (#310)
|
|
* Additional enhancements for IIIF support (#315)
|
|
* Fixed: Setting degrees in Viewer constructor has no effect (#336)
|
|
* Added pre-draw event for tiles to allow applications to alter the image (#348)
|
|
* Added optional Rotate Left/Right buttons to standard controls (#341)
|
|
* Added optimization for large numbers of overlays: `checkResize = false` option for OpenSeadragon.Overlay (#365)
|
|
* Updated full screen API, adding support for Opera and IE11 and allowing keyboard input in Chrome (#358)
|
|
* Enhanced MouseTracker for multi-touch (#369)
|
|
* Added support for tracking multiple touch-points on multiple/simultaneous pointing devices
|
|
* Added support for the W3C Pointer Events event model. Enables touch/multi-touch on IE10+
|
|
* Added a dragEndHandler event callback, called when a drag gesture ends
|
|
* Added a pinchHandler event callback, called as a pinch gesture (2 touch points) is occurring
|
|
* Added real-time velocity (speed and direction) tracking to drag operations. 'speed' and 'direction' values are passed in the dragHandler and dragEndHandler event data
|
|
* Enhanced Viewer for multi-touch (#369)
|
|
* Added pinch zoom with the new MouseTracker pinchHandler
|
|
* Added a "canvas-pinch" event fired by the pinch event handler
|
|
* Added flick gesture with the new MouseTracker dragEndHandler
|
|
* Added a "canvas-drag-end" event fired by the drag-end event handler
|
|
* Added a GestureSettings class for per-device gesture options. Currently has settings to enable/disable zoom-on-scroll, zoom-on-click, and flick gesture settings.
|
|
* Added GestureSettings objects for mouse, touch, and pen devices to the Viewer options giving users the ability to customize gesture handling in the viewer
|
|
* Added velocity (speed and direction) properties to the "canvas-drag" event
|
|
|
|
1.0.0:
|
|
|
|
NOTE: This version has a number of breaking changes to the API, mostly in event handling. See below.
|
|
|
|
* BREAKING CHANGE: All EventSource and MouseTracker event handler method signatures changed to 'handlerMethod(event)' where event == { eventSource, userData, ... } (#251) (Also fixes #23, #224, #239)
|
|
* The new eventSource property in the event object replaces the old eventSource parameter that was passed to handler methods.
|
|
* Where the event object duplicated the eventSource value, those properties have been removed. This affects the following events:
|
|
* All Button events - 'button' property removed
|
|
* All Viewer (Viewer, Drawer, Viewport) events - 'viewer' property removed
|
|
* BREAKING CHANGE: Renamed EventHandler to EventSource (#225)
|
|
* BREAKING CHANGE: Event names changed for consistency: changed to lower case, compound names hyphenated, and "on" prefixes removed (#226):
|
|
* Viewer "animationstart" changed to "animation-start"
|
|
* Viewer "animationfinish" changed to "animation-finish"
|
|
* Button "onPress" changed to "press"
|
|
* Button "onRelease" changed to "release"
|
|
* Button "onClick" changed to "click"
|
|
* Button "onEnter" changed to "enter"
|
|
* Button "onExit" changed to "exit"
|
|
* Button "onFocus" changed to "focus"
|
|
* Button "onBlur" changed to "blur"
|
|
* BREAKING CHANGE: Numerous improvements to fullPage/fullScreen (#256):
|
|
* Retains zoom/pan position better when switching into and out of fullPage.
|
|
* Retains scroll position when switching back out.
|
|
* More resilient to styling variations on the page.
|
|
* setFullPage no longer automatically engages fullScreen; there's now a separate setFullScreen.
|
|
* 'fullpage' event is now 'full-page'.
|
|
* The `fullpage` property of the 'full-page' event is now `fullPage`.
|
|
* There is now a 'full-screen' event with a `fullScreen` property (true if it has gone to full screen).
|
|
* There are now 'pre-full-page' and 'pre-full-screen' events that include a `preventDefaultAction` property you can set in your handler to cancel. They also have `fullPage` and `fullScreen` properties respectively, to indicate if they are going into or out of the mode.
|
|
* BREAKING CHANGE: Removed the 'onPageChange' callback from the viewer options. Viewer.goToPage() now raises the 'page' event only (#285)
|
|
* Major documentation improvements (#281)
|
|
* MouseTracker now passes the original event objects to its handler methods (#23)
|
|
* MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215)
|
|
* Added stopHandler to MouseTracker. (#262)
|
|
* Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131)
|
|
* Fixed: Pinch zoom event issue, regressive issue from previous event system changes (#244)
|
|
* Added IIIF Image API 1.1 Tile Source (#230)
|
|
* IIIF 1.0 now uses pixel based syntax (#249)
|
|
* Fixed: Touch event issue where no canvas-click events were being raised (#240)
|
|
* Check that zoom reference point is valid before using it in zoomTo and zoomBy (#247)
|
|
* Added a number of easier coordinate conversion methods to viewport (#243)
|
|
* Added the ability to create a viewer and start at a specified page (#252)
|
|
* Fixed image resolve issue with collection mode (#255)
|
|
* DOM events are now passed through as 'event.originalEvent' in viewer and button events where appropriate. (#257) Affects the following events:
|
|
* Viewer: 'canvas-release', 'canvas-click', 'canvas-drag', 'canvas-scroll', 'container-enter', 'container-exit', 'container-release'
|
|
* Button: 'enter', 'exit', 'press', 'release', 'focus', 'blur', 'click'
|
|
* Fixed: IE 10 not reading DZI file correctly in certain circumstances (#218)
|
|
* Added support for the 'wheel' DOM mousewheel event (#261)
|
|
* Fix for non-canvas tile rendering at large size (#264)
|
|
* Drawer now uses an HTML5 canvas element whenever it's available. Can be overridden with the Viewer.useCanvas option (#191)
|
|
* Added a boolean preventDefaultAction property (default false) to the event object passed to MouseTracker handler methods. (#270) 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
|
|
* Fixed: IE8 error with custom buttons - "Object doesn't support this action" (#279)
|
|
* Support IIIF servers that don't report tile dimensions (#286)
|
|
* Added an autoResize option. Default is true. When set to false, the viewer takes no action when its container element is resized. (#291)
|
|
* Added a static 'version' property to OpenSeadragon. Useful for plugins that require specific OpenSeadragon versions. (#292)
|
|
|
|
0.9.131:
|
|
|
|
* Fixed: canvas-click event shouldn't fire as you drag (#198)
|
|
* Fixed: LegacyTileSource doesn't fail gracefully when no supported file formats are found (#202)
|
|
* Added an optional userData argument to EventHandler.addHandler() which is passed unchanged to the handler method (#203)
|
|
* Fixed AJAX error reporting on IE8 (#208)
|
|
* Added viewportToImageRectangle method, and updated imageToViewportRectangle, imageToViewportCoordinates, and viewportToImageCoordinates to be more flexible with params (#212)
|
|
* Fixed: Viewer is not responsive (css) after returning from full screen (#222)
|
|
|
|
0.9.130:
|
|
|
|
* Added partial support for rotation (just 90 degree increments for now). (#185)
|
|
* Hiding and restoring broke the viewer; fixed (#177)
|
|
* You can now provide an onDraw function for overlays to do custom overlay manipulation (#160)
|
|
* Added a destroy function on the viewer to clean up and remove elements (#179)
|
|
* Fixed: navigatorPosition option corrected. (#163)
|
|
* OpenSeadragon.now() returned undefined the first time; fixed
|
|
* onTouchEnd did not call the correct mouse up handler; fixed (#159)
|
|
* Touch events no longer capture mouse (was causing issues on devices that support both) (#168)
|
|
* Clicking on a button control no longer refreshes page (#184)
|
|
* Drawer now works when the page is rtl (#187)
|
|
* Fixed a situation that could throw errors in touch handling (#188)
|
|
|
|
0.9.129:
|
|
|
|
* Fixed: navigator image not updating when base zoom image is changed (#147)
|
|
* Fixed tile rendering issue at lower zoom levels with the IIIF TileSource (#55)
|
|
* On IE, ajax errors would cause an exception to be thrown; fixed (#144)
|
|
* Faster and more consistent millisecond getter (#138)
|
|
* Fixed an error when using navPrevNextWrap on single images (#135)
|
|
* Various fixes to our timer handling (#133)
|
|
* Now generating source map for openseadragon.min.js (#51)
|
|
* Fix for calculating overlay width / height (#142)
|
|
* JSHint tidying (#136)
|
|
* Improved Ajax method (#149)
|
|
* Overhauled AJAX error reporting (#151)
|
|
|
|
0.9.128:
|
|
|
|
* The navigator is now off by default (#102)
|
|
* Reverted minPixelRatio to 0.5 for better quality (#116)
|
|
* Sometimes tiles wouldn't resolve if you used the blendTime option; fixed. (#95)
|
|
* You can now choose to have previous and next buttons wrap using the config.navPrevNextWrap. (#114)
|
|
* You can now specify an ID for a div to hold the navigator (#46)
|
|
* You can now click in the navigator to go to a new location (#46)
|
|
* Keyboard handling is now done in the viewer rather than navigator (#46)
|
|
* Additional navigator fixes (#46)
|
|
* Drawer events now fire properly (#94)
|
|
* Fixed an error in EventHandler.removeHandler() (#48)
|
|
* Better requestAnimationFrame detection on older Firefox (#103)
|
|
* More efficient navigator loading (#115)
|
|
* Simplified element opacity setting implementation (#123)
|
|
|
|
0.9.127:
|
|
|
|
* Fixed a problem with getString when the string property is a sub-property. (#64)
|
|
* Fixed: Tooltips for Navigation Controls not displaying (#63)
|
|
* Cleaned up some diagnostic code that was broken.
|
|
* Added fullpage class to viewer element when in fullpage mode (#61)
|
|
* Reverted to original New BSD license; cleaned up license declarations (#89)
|
|
|
|
0.9.126:
|
|
|
|
* DZI JSONp was broken; fixed.
|
|
|
|
0.9.125:
|
|
|
|
* Fully deprecated OpenSeadragon.createFromDZI, safely deprecated Viewer.openTileSource and
|
|
Viewer.openDZI to use Viewer.open internally. (#53 & #54).
|
|
* Full page bug fix for when viewer is child of document body (#43).
|
|
* Overlays for DZI bug fix (#45).
|
|
* DziTileSource: avoid changing relative paths (#56).
|
|
* Fix typo in preserveViewport handling (#77).
|
|
* Fix updateMulti timer leak after multiple Viewer.open() calls (#76).
|
|
* Minor documentation fixes.
|
|
|
|
0.9.124:
|
|
|
|
* Performance enhancements.
|
|
|
|
|
|
0.9.123:
|
|
|
|
* Real fullscreen support.
|
|
|
|
|
|
0.9.122:
|
|
|
|
* Performance enhancements.
|
|
|
|
|
|
0.9.121:
|
|
|
|
* Touch pan now works on Android.
|
|
* Pinch zoom is better on all devices.
|