Commit Graph

148 Commits

Author SHA1 Message Date
Nelson Campos
84dc60632c code simplification and impro^Cments on toggleFlip function 2018-04-11 18:24:01 +01:00
Nelson Campos
b8a4f7e7a0 Reorganizes code to match standard calls of viewport object methods.
A new viewport function was created (toggleFlip()) to change viewport's flip state and demand new viewers drawing.

The onFlip function exists on openseadragon to handle flip control button press and demand viewport toggle flip.
2018-04-11 11:25:46 +01:00
Nelson Campos
7e5c9e1897 Changes flip store object from viewer to viewport.
More than changing the store object of flip state, the code was simplified and the onFlip function from openseadragon was changed to receive a viewer argument.
TiledImage had a flipped variable wrongly stored.

From now on, flipped state must be read from the viewport object.
2018-04-10 11:51:06 +01:00
Nelson Campos
6e4012976b Adds two helpers for style formating and updates onCanvasKeyPress method.
There were created a new helper method "setDisplayTransform" to change navigator styling.
Also, a new general function "setElementTransform" was created to help on element styling.

For this commit, I also made some changes on viewer onCanvasKeyPress method:
- r is rotating the image clockwise;
- R is rotating the image counter clockwise;
- Freed "F" keycode to other purposes (like filters or others).
2018-04-06 11:52:10 +01:00
Nelson Campos
71fd747051 Adds flip/mirror slides feature.
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.
2018-04-04 16:08:13 +01:00
Ian Gilman
97c839b9f3 Updated viewport.getConstrainedBounds so it takes in current instead of immediately 2017-07-11 13:25:58 -07:00
Jose
aabfa32595 Merge conflict resolved 2017-07-10 23:01:04 +02:00
Jose
0fe5dad769 zoom methods calls removed 2017-07-01 00:12:41 +02:00
Ian Gilman
de2fcb1b74 Changelog for #1184 2017-05-11 10:19:43 -07:00
Antoine Vandecreme
8e755c389a Fix zoomTo/zoomBy with ref point and immediately to true. Fix #800 2017-05-07 17:22:44 +02:00
David Baker
a8dba2a494 Documents the return type for imageToViewportRectangle 2017-04-12 16:12:47 -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
Antoine Vandecreme
65b59c08d6 First draft of tiled image rotation. 2016-08-17 15:43:08 +02:00
Victor Rodriguez Gil
36264c44ef simplified constraint code 2016-06-14 17:31:21 +00:00
Victor Rodriguez Gil
c91039b545 Code that fixes #890, new test passes. Events.js test needed fixing with good value, unrelated to actual test. 2016-06-13 23:07:17 +00:00
Antoine Vandecreme
8951ac3f5b Fix fitBounds with extreme zoom values. 2016-05-17 14:27:28 -04:00
Antoine Vandecreme
14069a64e1 Fix applyConstraints with rotation. 2016-05-12 18:47:35 -04:00
Antoine Vandecreme
07d66ce655 Restore applyConstraints to avoid panning when clicking at max zoom. 2016-05-12 18:01:18 -04:00
Antoine Vandecreme
e4c29d649b Remove code duplication in Viewport.applyConstraints. 2016-05-10 18:49:55 -04:00
Antoine Vandecreme
521e020b9a Viewport getBounds and fitBounds methods now take rotation into account. Fix #924 2016-05-04 22:26:33 -04:00
Ian Gilman
66ffa03132 Merge pull request #923 from avandecreme/fitbounds
Fix Viewport.update with zoomPoint.
2016-04-22 11:10:34 -07:00
Ian Gilman
5785d10cbb Merge pull request #910 from avandecreme/home-clip
Fix home bounds with clipping. Fix #891
2016-04-22 11:01:05 -07:00
Antoine Vandecreme
79977b09a0 Fix Viewport.update with zoomPoint. 2016-04-21 16:06:07 -04:00
Antoine Vandecreme
65a95d4a49 Add asserts on this.viewer. 2016-04-21 10:57:39 -04:00
Antoine Vandecreme
b1a0abd104 Add this.viewer test. 2016-04-19 18:13:12 -04:00
Antoine Vandecreme
55e0811294 Merge remote-tracking branch 'upstream/master' into doc 2016-04-10 18:37:11 -04:00
Antoine Vandecreme
ea86237a4a Merge branch 'master' of https://github.com/openseadragon/openseadragon into home-clip 2016-04-09 11:16:16 -04:00
Antoine Vandecreme
bd4cabaec2 Fix JSDoc. 2016-04-05 20:00:35 -04:00
Antoine Vandecreme
9e68f6c27b Fix home bounds with clipping. Fix #891 2016-04-05 17:51:50 -04:00
Antoine Vandecreme
5f9053fb6e Fix Overlay.getBounds with BOUNDING_BOX rotation mode. 2016-04-01 15:46:43 -04:00
Antoine Vandecreme
f6c09ca716 Add viewport.viewportToViewerElementRectangle 2016-03-28 17:07:47 -04:00
Antoine Vandecreme
015b1ca266 Rename worldContentSize to contentSizeNoRotate. 2016-02-17 18:08:26 -05:00
Antoine Vandecreme
0725645344 Fix applyConstraints. Fix #833. 2016-02-15 17:09:31 -05:00
Antoine Vandecreme
eaab4fb4c5 Replace call to viewport.setHomeBounds by viewport._setContentBounds 2016-02-13 11:39:40 -05:00
Antoine Vandecreme
925ba8a78e Rename viewport.contentAspectX to viewport.contentAspectRatio. Remove viewport.contentAspectY. 2016-02-13 11:20:34 -05:00
Antoine Vandecreme
4634d90715 Rename this.homeBounds to this._contentBounds. 2016-02-11 20:14:49 -05:00
Antoine Vandecreme
a12b74ec17 Fix @lends for new JSDoc. Fix polymorphic functions doc (#824). 2016-01-24 16:09:18 -05:00
Antoine Vandecreme
ebbf4ea4a0 Rename scale functions with NoRotate suffix. 2015-12-22 18:19:22 -05:00
Antoine Vandecreme
13bfb4ecfc Fix conversion methods doc. 2015-12-14 18:36:18 -05:00
Antoine Vandecreme
52f8ad6aa2 Fix coordinates conversion with rotation. 2015-12-11 19:07:23 -05:00
Antoine Vandecreme
1d04ceadff Fix home bounds with rotation. Fix #567 and #463 2015-12-05 19:18:56 -05:00
Ian Gilman
6b208f8a75 * You can now change viewport margins after the viewer is created (#721) 2015-10-29 14:29:59 -07:00
Ian Gilman
332b28ab2d * Now animating zoom spring exponentially 2015-03-30 14:50:37 -07:00
Ian Gilman
b395f1793d Logarithmic option for springs; used for zoomSpring 2015-03-17 16:43:25 -07:00
Ian Gilman
19ade7d76d Improved zoom and pan constraints 2015-03-11 15:41:36 -07:00
Ian Gilman
2172da6aaa * Fixed an error in fitBounds that occurred sometimes with immediately = true 2015-01-20 17:19:13 -08:00
Ian Gilman
2b9a51036f Fixed change detection for viewport (after recent spring change) 2015-01-20 16:09:54 -08:00
Ian Gilman
3232ba4fe5 * Fixed an error in fitBounds if the new and old bounds were extremely close in size 2015-01-14 17:06:18 -08:00