* master:
Re-added the OpenSeadragon.setElementPointerEventsNone() function
removeContact only on existing tracked pointer
cleanup debug code
Removed test for move-leave (fly-over, no enter event)
changelog update
Workaround for WebKit Pointer Event Implicit Capture Bug #1962
Fixed legacy mouse and touch event handling
* master: (27 commits)
Changelog for #1968
Fixing issue where the ajaxHeaders were not being set for image requests
Changelog for #1865
Changelog for #1937
Changelog for #1903
refactor: moved methods that belongs together closer
Make setFlip() update the navigator
refactor: use pixelDensityRatio in getPixelRatio()
fix: removes resize event on destroy
docs: fixed typo and corrected the comment
fix: made updatePixelDensityRatio private
Improve the flipping example
Tidy up the tile/image flip check
Force reload tiles when the tile's flip doesn't match the image
Add a basic setFlip method to TiledImage
Add flipping example
Correctly set the rightmost tile property when flipped
Render the flipped columns in reverse order
Store the flipped state in each tile and render it as such
Introduce getTileBounds method for tiledImage
...
Makes setFlip() raise a bounds change, and makes the navigator copy
the image flip in addition to the other properties, when receiving
the bounds signal.
Adds tiled images to the viewer at creation so that they are properly
centred.
This also checks the current state of the test checkboxes on loading.
Some browsers, notably Firefox, will remember the value of checkboxes
across reloads. This can lead to the checkboxes being out of sync with
with viewer after a reload.
An alternative is to set autocomplete="off" on each checkbox element.
This will force the browser to reset the field to the default specified
in the HTML. However I think checking the actual value is preferable
as it means the defaults are only specified in one place.
Flipping an image changes the bounds of each tile. The existing
code assumes that cannot happen. getTile() calculates the tile
bounds the first time it is asked for a particular tile. It then
caches and returns the same time on every subsequent call.
getTile() has a check to test if a tile exists in the cache. If
it does not, the tile is created and inserted. In order to make
tiles be rebuilt after a flip, we only need to check if the tile's
flip matches the image's flip. If not, we can recreate the tile
as if it did not exist.
To make this a bit clearer, the tile's flipped flag is now set
in getTile() rather than positionTile().
This makes setFlip() work.
This completes the per-image flip implementation. Tile bounds are
re-positioned within the image. When rendering, the x ordinals are
remapped to the flipped ones.
To use, set "flipped" on the image instead of the viewer. The code
is compatible with rotations and wrapping.
Implements #1553
This will flip each individual tile on a per image bases. However
the tiles are now drawn in the wrong locations. Clipping etc works.
this is implemented for Canvas and HTML renderers.
This wraps the implementation in tileSource but provides support for
wrapping. It does not support getting the source bounds.
Using this function instead of the tileSource version allows the
viewport clipping optimization to work with wrapping.