This commit adds full support for a new OpenSeaDragon(OSD) feature - Mirror/Flip.
In order to fully support this new feature, the following OSD objects had to be modified:
- drawer.js:
- navigator
- openseadragon
- strings
- tiledImage
- viewer
Additionally, a new flip button was created (similar to the existing ones).
Flip Logic
Whenever the state is flip button is pressed, flip state is toogled, inverting all the controls and displays (the rotation direction is inverted as well).
This means that all viewer coordinates (including user inputs) must me inverted too.
Summary of modifications
- drawer.js: modified _offsetForRotation to invert rotation angle on flipped state. Added a _flip method to scale/mirror canvas context.
- navigator.js: adds full flip support and inverts nagivator inputs.
- openseadragon.js: new buttons, flip state variable and showFlipControl variable.
- strings.js: flip tool help tips.
- tiledImage.js: flips the actual drawing canvas.
- viewer.js: Added keyboardshortcuts to rotate 90degrees (r/R) and flip image (f/F). flip button state is stored here and flip order is set.
The flipped state is stored on viewer object.
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.