Commit Graph

206 Commits

Author SHA1 Message Date
Nelson Campos
dc8331e641 Clean unnecessary code.
Clean tiled image's flip property and methods.
2018-10-19 15:49:27 +01:00
Nelson Campos
4fe5a84170 Fix flipped debug drawing context 2018-10-18 15:29:08 +01:00
Nelson Campos
2670f62892 Fix navigator flip transformation
Flip transformation wasn't correctly applied on navigator for all images when its tileSource is flipped by default.
2018-10-18 12:04:52 +01:00
Nelson Campos
132c68c8bb Create getFlip function to retrieve tiledImage flipped state 2018-10-17 12:45:10 +01:00
Nelson Campos
7a7ba07902 Moved flip call to the end of drawTiles method. Just code backup 2018-10-02 16:57:31 +01:00
Stefan Weil
0e2f5d49ef Fix some typos in comments (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-09-01 10:59:20 +02:00
Peter
9511cf2d00 Removed save/restore for canvas 2018-08-10 03:46:25 -04:00
Peter
d892dcfbc7 Repaired Minor issues 2018-08-08 20:05:46 -04:00
Peter
9968025782 Simplified imageSmoothingEnabled Option. The option can be set during viewer creation and also later with the function viewer.drawer.setImageSmoothingEnabled(). 2018-08-03 18:47:16 -04:00
Peter
17e25c0428 Revert "Added switch to smoothly or unsmoothly render images on the canvas: imageSmoothingEnabled (true (default), false). Medical images can thus be displayed in more pixelated, unsmoothed manner."
This reverts commit 19f7b80dca.
2018-08-03 17:29:48 -04:00
Peter
19f7b80dca Added switch to smoothly or unsmoothly render images on the canvas: imageSmoothingEnabled (true (default), false). Medical images can thus be displayed in more pixelated, unsmoothed manner. 2018-07-30 20:00:58 -04: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
f65dbd3a39 Changes back showFlipControl and showNavigator variables to false default state 2018-04-09 15:06:29 +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
Peter
910eaf6da6 changed indexOfImage to colorIndex 2017-07-31 17:43:10 -04:00
Peter
6265d389b9 remove BOM 2017-07-31 17:05:18 -04:00
Peter
175463a0f6 different colors for different tiled images in debug mode.
If there are multiple tiled images as overlay, it might be important to
see how they are loaded. Different colors in the debug mode for the
different tiledImages visualize that. DebugGridColors have to be given
as a sting array with a color for each tiledImage. However, shorter
arrays will be recycled without error. Also, single strings are treated
as single entry arrays, for backwards compatibility.
2017-07-26 10:57:17 -04:00
Ian Gilman
d71ceebd72 Fixed issue with transparent images disappearing on Safari 2017-06-15 17:28:04 -07:00
Antoine Vandecreme
63a8a2ffa6 Allow tiled image rotation outside the 0 to 360 range 2017-01-21 20:13:32 +01:00
Antoine Vandecreme
fc69c6568d Animate rotation 2017-01-21 19:40:21 +01:00
Antoine Vandecreme
de25b68b43 Add eslint and hound 2017-01-16 21:41:07 +01:00
Antoine Vandecreme
43bd0e972f Fix sketch canvas not resizing properly. Fix #973 2017-01-08 11:13:32 +01:00
Ian Gilman
eb8b9ccd50 Merge pull request #1006 from avandecreme/master
Tiled image rotation
2016-10-26 09:58:12 -07:00
Antoine Vandecreme
4b48717010 Rollback sketchCanvas scaling when tiled image rotated 2016-10-25 21:41:42 +02:00
Antoine Vandecreme
5ac1502ccd Take pixelDensityRatio into account when rotating 2016-10-24 22:03:31 +02:00
Antoine Vandecreme
2821c8f67b Partialy fix edge smoothing. 2016-10-06 22:18:32 +02:00
A
e38c53ff31 Use canvas instead of sketchCanvas 2016-09-23 16:19:08 -04:00
A
c24e8ceedf Fix IndexSizeError on IE and Edge #1033
Internet Explorer and Microsoft Edge throw IndexSizeError when you call context.drawImage with negative x or y or width or height greater than the canvas width or height respectively.
2016-09-23 15:57:35 -04:00
Antoine Vandecreme
2e3f57401f Fix tiles missing with rotation + rotate around center 2016-08-28 12:10:35 +02:00
Antoine Vandecreme
a9f5e7ec73 Add unit test and fix code review comments. 2016-08-21 12:54:33 +02:00
Antoine Vandecreme
65b59c08d6 First draft of tiled image rotation. 2016-08-17 15:43:08 +02:00
Antoine Vandecreme
684029bc79 Optimize sketch canvas clearing and blending. 2016-04-27 11:08:44 -04:00
Ian Gilman
a244d7ef86 Merge pull request #825 from avandecreme/rotation
Fix edge smoothing with rotation.
2016-01-28 11:27:31 -08:00
Antoine Vandecreme
e10eced7d0 Use self instead of _this. 2016-01-26 19:30:09 -05:00
Antoine Vandecreme
43bb0d7741 Only use a larger sketch canvas if the viewport get rotated. 2016-01-26 12:04:34 -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
33021ac24f Merge. 2016-01-23 18:49:58 -05:00
Antoine Vandecreme
c639dd5123 Fix edge smoothing with rotation. 2016-01-23 18:40:53 -05:00
Mei-Hui Su
69cce5770c simplify the checks on compositeOperation 2016-01-20 09:48:15 -08:00
Mei-Hui Su
ac0438e07b Fix the optional check to include null 2016-01-19 22:36:19 -08:00
Mei-Hui Su
41ee1e27fd put back the 'options.' 2016-01-19 14:29:15 -08:00
Mei-Hui Su
c214e2f0c4 change option compositeOperation default to null instead of 'source-over' 2016-01-19 14:17:52 -08:00
Mei-Hui Su
efc9098ce4 Make setting of globalCompositeOperation optional in drawer.js 2016-01-19 11:49:04 -08:00
Mei-Hui Su
e89d1f4c97 fix couple of typos 2016-01-14 12:42:02 -08:00
Mei-Hui Su
3cfe8ecac2 Merge https://github.com/openseadragon/openseadragon 2016-01-14 12:32:54 -08:00
Mei-Hui Su
ea833a780c Update to allow setting of globalCompositeOperation when
html <canvas> is used to process multiple tiledImages to blend
is a specific way.
(special handling,
   when compositeOperation is 'source-over' and opacity is 1,
   useSketch is false, otherwise useSketch is true
)
Valid values are 'source-atop', 'source-in', 'source-out',
  'destination-over', 'destination-atop', 'destination-in',
  'destination-out', 'lighter', 'copy' or 'xor'
http://www.w3schools.com/tags/canvas_globalcompositeoperation.asp
2016-01-06 07:58:36 -08:00
Antoine Vandecreme
ebbf4ea4a0 Rename scale functions with NoRotate suffix. 2015-12-22 18:19:22 -05:00
Antoine Vandecreme
52f8ad6aa2 Fix coordinates conversion with rotation. 2015-12-11 19:07:23 -05:00
Petar Petrov
8bee1e7b8b doc tweak for edge smoothing changes - #755 2015-11-06 08:55:30 +02:00