Commit Graph

197 Commits

Author SHA1 Message Date
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
Ian Gilman
e4c3dfc8dd Added Rect.union; allowed minZoomLevel greater than home zoom 2015-01-13 15:31:52 -08:00
Ian Gilman
a7d9f7dcd5 Fixed broken defaultZoomLevel and homeFillsViewer options 2015-01-02 11:44:35 -08:00
Ian Gilman
2de44c752d Using "viewport coordinates" instead of "world coordinates" 2014-11-24 11:59:06 -08:00
Ian Gilman
66517dab8d Coordinate conversion rounding errors were causing test breakages; fixed 2014-11-24 11:46:33 -08:00
Ian Gilman
d5c345970c Coordinate conversion functions for TiledImage 2014-11-21 16:32:04 -08:00
Ian Gilman
2a5fd0b0f7 Fixed "toImage" converters 2014-11-21 15:18:25 -08:00
Ian Gilman
8bdc55bd63 Fixed fitVertically and fitHorizontally 2014-11-05 15:57:44 -08:00
Ian Gilman
8466a91470 One more doc fix 2014-11-04 11:57:58 -08:00
Ian Gilman
d346d165f8 Updated documentation 2014-11-04 11:53:39 -08:00
Ian Gilman
46cd2ab800 Fixed issue with top/left margins; cleaned up naming 2014-10-21 17:11:09 -07:00
Ian Gilman
a14bea39aa More margins work 2014-10-17 14:27:24 -07:00
Ian Gilman
2a7f48ef60 Cleanup and docs for margins 2014-10-16 15:19:05 -07:00
Ian Gilman
2d8652046a First stab at margins 2014-10-16 14:00:07 -07:00
Ian Gilman
63996a7d92 Merge branch 'master' into collections
fixed Conflicts:
	src/viewport.js
2014-09-17 16:05:23 -07:00
nein09
2712484e1e Incorporate code review feedback for Openseadragon isue 127. Added appropriate default values and docs to openseadragon.js; restored a blank line that I accidentally deleted. 2014-09-12 15:09:19 -07:00
nein09
f0f6e93915 Adding functionality for https://github.com/openseadragon/openseadragon/issues/127 - option for home button to fill rather than fit.
- Added a option to pass to the OpenSeadragon constructor called homeFillsViewer, which defaults to false. If true, the home button will fill the viewer with the image, centered on the image's center, zoomed to fill the viewer at the image's smallest dimension, and clipped at the image's largest dimension. For example, a very tall, thin image in a 4:3 aspect ratio viewer will zoom so that the width of the image fills the viewer, and most of the height of the image is clipped.
2014-09-12 15:09:18 -07:00
Ian Gilman
6f0f23e728 Fixed constraints for when homeBounds.x or y is negative 2014-08-26 15:12:49 -07:00
Ian Gilman
5a1a41428b Merge branch 'master' into collections
fixed Conflicts:
	src/drawer.js
2014-08-26 11:53:03 -07:00
Dominik Picheta
e9382ffbf7 Fixes doc comment. 2014-08-26 14:56:24 +01:00
Ian Gilman
1f13d1f909 Moved update-viewport event 2014-08-19 15:43:36 -07:00
Dominik Picheta
a8b6c8d0e1 Merge branch 'master' into free-hand-rotation 2014-08-19 10:00:12 +01:00
Ian Gilman
8efad6f3a0 Fixed home/constraints for multi-image. 2014-08-18 16:04:49 -07:00
Ian Gilman
26e9575f41 Merge branch 'collections' into ian 2014-08-15 14:50:19 -07:00
Ian Gilman
1cc29db432 Merge branch 'master' into collections
fixed Conflicts:
	src/viewport.js
2014-08-15 14:49:56 -07:00
Dominik Picheta
01303787ce Cleanup. 2014-08-15 09:46:27 +01:00
Dominik Picheta
3353bd5f69 Support other rotation angles. 2014-08-13 15:52:20 +01:00
Dominik Picheta
873135b492 Adds rotate event. Fixes #454. 2014-08-13 10:53:52 +01:00
Ian Gilman
5c7c1d5b6c Moved Viewport.goHome to Viewer.goHome. 2014-08-12 16:44:53 -07:00
Dominik Picheta
afd8b48d6b Fixes #192.
Navigator can now rotate together with the viewer.
2014-08-12 15:27:16 +01:00
Mark Salsbery
4152b8b866 Trailing whitespace fixes 2014-08-05 07:13:06 -07:00
Ian Gilman
f97202833f Merge branch 'master' into ian
fixed Conflicts:
	src/viewport.js
2014-07-24 09:40:43 -07:00
Ian Gilman
ea6ee54136 Added x and y to drawer. 2014-07-17 16:24:28 -07:00
Henri Astre
318071d3ce Cleanup for PR comments
- raise 'constrain' event inside applyBoundaryConstraints
- fix demo title/filename
- various fixes (default immediately to false + add private for
documentation)
2014-06-23 16:10:01 -07:00
Henri Astre
9e6c46d484 Revert "hiding properly _ functions."
This reverts commit 118c2b2c87.
2014-06-23 15:40:36 -07:00
Henri Astre
118c2b2c87 hiding properly _ functions. 2014-06-20 17:53:07 -07:00
Henri Astre
e67f6b4003 First attempt at removing duplicated code
I've created _applyBoundaryConstraints() and _fitBounds() to remove
duplicated code.
2014-06-20 13:44:59 -07:00
Henri Astre
48aded3824 add fitBoundsWithConstraints() to the viewport. 2014-06-18 11:11:34 -07:00
Antoine Vandecreme
ba10c392a1 Merge branch 'master' into layers
Conflicts:
	src/drawer.js
	src/viewer.js
	test/test.html
2014-03-19 16:24:48 -04:00
Antoine Vandecreme
ed5eae9a73 Fix imageToViewerElementCoordinates method and corresponding unit tests. 2014-02-04 17:02:11 -05:00
Antoine Vandecreme
0c2af6550a Add support to add/remove layers and change their levels. 2013-12-09 09:26:36 -05:00
Mark Salsbery
bb836768f8 Merged upstream changes, fixed conflicts 2013-11-26 10:21:59 -08:00
Mark Salsbery
930e8c4dfd Updated Doclets 2013-11-25 08:48:44 -08:00
Mark Salsbery
c7971419e2 Added pollForResize option
Defaults to true.
2013-11-22 17:07:44 -08:00
Mark Salsbery
7f60184b9a Updated Doclets
Found another @fires
2013-11-21 19:43:45 -08:00
Mark Salsbery
ece76925a6 Updated Doclets
Lots of changes, most notably event documentation (@event and @fires)
2013-11-21 12:19:07 -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
Antoine Vandecreme
54d02ada78 Replace viewport.getImageZoomRatio by conversion methods between viewport zoom and image zoom 2013-10-18 15:16:49 -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
iangilman
9050a39387 Merge pull request #243 from avandecreme/master
Add coordinates conversion methods to viewport.
2013-10-10 10:38:09 -07:00
Antoine Vandecreme
3e5a9b52c9 Rollback basic.html and create coordinates.html.
Fix unit tests.
Fix documentation.
2013-10-05 10:21:12 -04:00