Tom
c77a7e7386
enhance performance demo. rename variables for clarity.
2023-07-28 17:49:24 -04:00
Aiosa
ca45e96142
Merge branch 'rotation-seams' into rotation-seams
2023-07-26 23:58:07 +02:00
Tom
1e37745764
sync webgldemodrawer with webgldrawer
2023-07-26 15:44:38 -04:00
Tom
f4ded1630f
code cleanup
2023-07-26 15:42:18 -04:00
Aiosa
3c3842bdce
Change comments TO DO -> TODO. Add automatic recognition of drawers. Matrix as an exposed class.
2023-07-26 20:01:26 +02:00
Tom
f510301922
add performance test demo page. reduce number of drawing calls drawing pipeline of webgl drawer.
2023-07-19 18:18:56 -04:00
Andrew Armbruster
be4d5ad7f7
Update grunt-contrib-qunit and extend FullScreen test
...
Update the package responsible for running tests, grunt-contrib-qunit.
The package change includes a significant bump to the puppeteer version used to run the tests (from v9 -> v19: https://github.com/gruntjs/grunt-contrib-qunit#release-history ).
Running the tests with the newer puppeteer version leads to issues running the FullScreen test when run in the 'old'/current default headless mode (the test fails with a timeout).
Updating to the 'new' headless mode (eventually to be the default anyway), seems to allow the fullscreen request to succeed.
Thus, go ahead and extend the FullScreen test to verify the correct values for a successful request, as well as an additional step to exit fullscreen mode.
2023-07-16 13:10:56 +02:00
Tom
6feed0a68e
Add clipping to demo. Update documentation and remove commented code. Change from get type to getType().
2023-07-09 12:05:17 -04:00
Tom
048b43e196
remove forced transparency from images in drawercomparison demo. change from context2d naming to canvas.
2023-06-30 16:06:17 -04:00
Tom
cc412f0a20
add documentation; remove unnecessary deprecated code
2023-06-29 21:55:59 -04:00
Tom
3a5a738508
remove viewer.destroy() from some tests
2023-06-29 17:06:45 -04:00
Tom
83ec2bb1f0
tiled image opacity works now with no overlapping regions at tile borders
2023-06-29 16:41:45 -04:00
Tom
24c4d2d2bc
Remove tile-drawn event and replace with tiled-image-drawn for webgl drawer, and update related tests.
2023-06-27 13:57:02 -04:00
Tom
2ec2c0f2c7
remove three.js and associated plugin renderer; fix demo
2023-06-26 21:44:03 -04:00
Tom
386ca85db8
implement native webgl renderer, and many associated changes related to drawing pipeline and testing
2023-06-26 21:29:08 -04:00
Tom
37b8ef9519
deprecate useCanvas option; add option for drawer and drawerOptions
2023-06-18 19:08:33 -04:00
Tom
2e248baf91
additional fixes to get tests to pass
2023-06-08 12:10:55 -07:00
Tom
354590a17a
convert DrawerBase and drawer implementations to classes; add html drawer to the demo page
2023-06-07 12:42:16 -07:00
Tom
8fda8ceae7
re-enable sequence mode demo viewer
2023-06-07 10:16:21 -04:00
Tom
8fe6a5f6e6
merging remote
2023-06-07 10:14:58 -04:00
Tom
1bc93be3f2
update tile drawing logic
2023-06-06 19:37:24 -04:00
Tom
36084703f0
conditional usage of draw() vs event handlers depending on initialization context
2023-06-06 18:08:53 -04:00
Tom
2a0af48bc1
updates to threejsdrawer, bugxfixes/improvements
2023-06-06 18:08:30 -04:00
Tom
dab8a9a3cd
move tile update logic back to TiledImage to keep drawing logic cleaner
2023-06-06 18:08:30 -04:00
Tom
2f3bef0865
split canvas from html rendering
2023-06-06 18:08:30 -04:00
Tom
467597e2c2
cleaning up drawer APIs
2023-06-06 18:08:30 -04:00
Tom
5eece7d73a
fix cropping when viewer is rotated
2023-06-06 18:08:30 -04:00
Tom
69c4ccf33e
revert debugging changes in overlay demo
2023-06-06 18:08:30 -04:00
Tom
5328761877
finished many implementation details and demo
2023-06-06 18:08:01 -04:00
Tom
f9ab63944b
ThreeJSRenderer nearly complete, starting refactor of core to support plugin drawers.
2023-06-06 18:05:17 -04:00
Andrew Armbruster
c7df7be7f1
Catch rejected Promise on failed fullscreen request
...
Add a `catch()` rejection of request for fullscreen (standard Fullscreen API implementation), as well as fullscreen exit. For now there is no actual handling, but we send a message to the internal error channel.
Motivation: The fullscreen request was causing certain tests to fail when run with newer versions of QUnit (starting in 2.5.0), which now fails tests that have unhandled Promise rejections (as we did here).
The exit case is not currently covered by tests, but works the same way (also returns a promise).
See: https://fullscreen.spec.whatwg.org/#ref-for-dom-element-requestfullscreen%E2%91%A0
2023-05-28 14:15:55 +02:00
Andrew A
ad1179b9db
Update to most recent QUnit
...
Update to most recent version of QUnit, which has been published under a new name for a while now.
Accordingly, replace the old package with the new one in both dependencies, as well as update references in test HTML files.
2023-05-27 13:16:28 +02:00
lcl45
7fb5744495
Resolved suggestions
...
- Avoid useless parameters _navigatorRotate since it already exists within the navigator;
- Automatically rotate the image in the demo page.
2023-05-24 08:45:15 +02:00
oro.niccolo
d897e5454f
Added navigator's region rotation
...
When the "navigatorRotate" option is set to false, rotate the navigator's region accordigly to the image rotation.
2023-05-23 09:27:32 +02:00
Uwe Schmidt
6fd828974d
Update navigator ajax headers
2023-05-12 21:46:16 +02:00
Uwe Schmidt
e51aa4a9c5
Refine setAjaxHeaders
...
- Allow null to clear headers (same as empty object)
- Add TiledImage._updateAjaxHeaders
- Add error message in case of invalid headers
2023-05-05 01:13:44 +02:00
Uwe Schmidt
182c11481e
Add tests for setAjaxHeaders
2023-05-05 00:03:22 +02:00
Ian Gilman
b1274515aa
Tiny basic.html tweak
2023-04-27 14:27:40 -07:00
Craig A. Berry
bff93af17e
Handle XML embedded in tilesource JSON
...
The existing check for whether the tilesource data is XML or JSON
looks for a tag anywhere in the response content, which incorrectly
flags the content as XML in the case where it is really JSON with
XML embedded in it.
This commit corrects that problem by requiring the tag to occur as
the first non-whitespace part of the content. This is basically a
poor person's well-formedness check since well-formed XML cannot
have non-whitespace content outside of the root node.
N.B. While malformed XML content with non-whitespace characters
before the first element has been getting identified as XML, it
has not been getting parsed correctly. With current parsing
infrastructure, the content has been getting replaced by a parsing
error message. With more up-to-date parsing infrastructure, it
will throw an error. Either way we're not losing anything by failing
to identify malformed XML as XML.
Addresses issue #2325 .
2023-03-30 16:38:35 -05:00
Tom
8a4c95ef4b
conditional usage of draw() vs event handlers depending on initialization context
2023-03-13 21:39:54 -04:00
Tom
6d1895364f
updates to threejsdrawer, bugxfixes/improvements
2023-03-13 17:43:35 -04:00
Tom
ade59513df
move tile update logic back to TiledImage to keep drawing logic cleaner
2023-03-13 15:56:04 -04:00
Tom
641951aaed
split canvas from html rendering
2023-03-12 11:42:03 -04:00
Tom
6159ca7c7c
cleaning up drawer APIs
2023-03-11 11:38:21 -05:00
Tom
a6e621b562
fix cropping when viewer is rotated
2023-03-06 14:29:39 -05:00
Tom
7c81d068e6
revert debugging changes in overlay demo
2023-03-05 16:12:30 -05:00
Tom
d1b8001adc
finished many implementation details and demo
2023-03-05 16:08:32 -05:00
Tom
376ee38d3c
ThreeJSRenderer nearly complete, starting refactor of core to support plugin drawers.
2023-02-21 18:59:40 -05:00
Aiosa
de00939d8d
Revert async support and event breaking support in EventSource.
2023-01-21 09:00:24 +01:00
Aiosa
c8dbb2c757
Implement support for async function and promise type recognition with $.type. Add $.Promise proxy. Implement support for promises in EventSource. Implement ability to abort events as well as prioritize events.
2023-01-17 11:13:48 +01:00
Ian Gilman
1351ac018a
Merge pull request #2256 from pearcetm/resize-listener
...
work in progress about viewer resize behavior
2022-12-16 13:48:45 -08:00
Ian Gilman
3342b7880d
Merge pull request #2249 from pearcetm/rotated-constraints-fix
...
fixed viewport constraint behavior when viewer is rotated
2022-12-15 13:57:44 -08:00
Tom
564121428c
removed polling vs resizeviewer option from demo
2022-12-14 11:31:12 -05:00
Tom
9daa8feec1
cleaning up changes; modified demo
2022-12-14 09:21:52 -05:00
Tom
9048abb05e
Merge branch 'master' into resize-listener
2022-12-13 18:31:42 -05:00
Tom
69297c0181
Updated resize behavior
2022-12-13 16:49:23 -05:00
Ian Gilman
ae70c88e52
Merge pull request #2259 from openseadragon/ig-test
...
Fixed fullyLoaded test when run in browser
2022-12-12 15:26:44 -08:00
Ian Gilman
e6341ac1e0
Fixed fullyLoaded test when run in browser
2022-12-12 15:21:56 -08:00
Tom
e122f372ba
enable all tests
2022-12-11 15:07:43 -05:00
Tom
48bcd75f1a
fixed logic of dragNavigatorBackToCenter method
2022-12-11 14:47:52 -05:00
Tom
37a024f023
bugfix in getCenter during zoom animation
2022-12-10 07:02:16 -05:00
Tom
86c105beaa
bugfix in getCenter during zoom animation
2022-12-10 06:57:53 -05:00
Tom
54af53cf4e
work in progress about viewer resize behavior
2022-12-07 17:46:25 -05:00
Tom
524b42c778
demo update
2022-12-06 17:21:03 -05:00
Tom
757bf8690e
fix Viewport._fixBounds to work with boundary constraints, and updated the demo page to show the behavior.
2022-12-06 16:42:13 -05:00
Tom
05997d359c
reverted Viewport.setRotation, created Viewport.setRotationWithPivot
2022-12-05 19:38:46 -05:00
Tom
78c6295acf
update unit tests
2022-12-02 22:08:15 -05:00
Ian Gilman
dfcfa4c02b
Temporarily disabling navigator tests
2022-12-02 16:27:43 -08:00
Ian Gilman
77030096e4
Fixing test failures
2022-12-02 15:52:53 -08:00
John Reagan
8ef5270d7f
#1970 : Update unit test to check for changed url behavior
2022-12-02 10:32:11 -05:00
John Reagan
601160e9fb
Add support for dynamic urls from tile source. Fixes #1970
2022-11-30 15:38:57 -05:00
Ian Gilman
d3ef767487
Merge pull request #2136 from jonasengelmann/master
...
Viewport rotation animation
2022-08-23 14:13:22 -07:00
jonasengelmann
5f50d9e59e
reworked setRotation to allow all degree values
2022-08-22 15:34:29 +02:00
jonasengelmann
3cdd94e465
constrained rotation to shortest path
2022-06-29 19:47:26 +02:00
Aiosa
bb1755613e
Merge branch 'master' of https://github.com/openseadragon/openseadragon into openseadragon-master
...
# Conflicts:
# src/tiledimage.js
2022-06-28 14:11:02 +02:00
Jirka
8a2c998cb9
Finish on image job now accepts request argument. Further comments cleanup. Deprecation message for image property in tile loaded event. Removal of downloadTileFinish(). More robust aborting that cleans up an image properties when aborted (not done until now).
2022-05-04 15:16:13 +02:00
Jirka
d82fd35323
Fix comments on #2148 : part 2. Better commens on the new TileSource API. Deprecation if 'tile-loaded' image event parameter. Unwrap ImageJob and add userData property.
2022-04-29 23:45:01 +02:00
Jirka
4f79f29238
Move cache creation, image downloading process and transparency deduction to the TileSource instance to allow custom data fetching, caching, processing.
2022-04-16 21:19:54 +02:00
Jirka
ec430779f4
Move open-failed error message to the handler, adjust test for the new message style. Add 'numberOfHandlers()' method for events.
2022-04-15 10:32:08 +02:00
jonasengelmann
eca51850e2
Merge branch 'master' of https://github.com/openseadragon/openseadragon
2022-04-01 11:14:55 +02:00
jonasengelmann
fb8bafc6a0
updated tests
2022-03-30 23:05:14 +02:00
Jirka
7f784835a7
Revert 'spacing change' for licence disclaimer (TiledImage), fix tests on drag-end event no longer firing when mouse does not move (PR #2064 )
2022-03-25 12:30:18 +01:00
Jirka
aa0119be45
Rewrite TiledImage closure functions to be private class members. Fix tests that expect error message to appear in 'log' instead of 'error'.
2022-03-23 14:05:58 +01:00
Ronny Mikalsen
01a9e3b168
fix: change tileSources in demo for iiif
...
Tile sources on wellcomelibrary.org is no longer available
2022-03-14 14:12:21 +01:00
Jirka
aacae1ca3f
Reverted .json configuration changes made by npm. Added tests for PUSH functionality, new flag 'allowPost' to explicitly enable POST data, remove (-1) in the URL splitting.
2022-01-12 22:31:13 +01:00
Jachimike Onuoha
0a06c5b6a4
Updated boolean logic for preventVerticalPan and preventHorizontalPan
2021-12-06 23:33:58 -05:00
Jachimike Onuoha
5b8a22e848
Merge branch 'openseadragon:master' into JachiOnuoha-ArrowKeysBug
2021-12-02 16:56:18 -05:00
Jachimike Onuoha
1fde705785
Fixed Arrowkey panning bug
2021-12-02 14:45:55 -05:00
Sanghoon Kim
3bde256d62
Modify the unit test for changing maxLevel
2021-12-01 10:17:10 +09:00
Jachimike Onuoha
2edf48e880
Temporary fix for arrow key panVertical bug
2021-11-30 17:43:11 -05:00
Jachimike Onuoha
0f1de455e2
Recreated panHorizontal & panVertical bug
2021-11-29 16:40:26 -05:00
Sanghoon Kim
63a4f87716
Fix getLevelScale to use image dimensions
2021-11-09 21:56:01 +09:00
superbland
57e97019d9
Update tests
2021-11-04 19:35:57 +00:00
superbland
45bdd87224
Tests for getRelativeSize
2021-10-09 16:30:13 +01:00
Hernán Cervera
b0fb8e836d
Add tests for OpenSeadragon.getViewer
2021-07-02 12:25:02 -05:00
Mark Salsbery
a53550ea0e
Removed test for move-leave (fly-over, no enter event)
2021-05-03 13:57:14 -07:00
Alistair Buxton
eebfdc1391
Improve the flipping example
...
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.
2021-03-23 03:22:13 +00:00
Alistair Buxton
7552806a47
Force reload tiles when the tile's flip doesn't match the image
...
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.
2021-03-22 06:45:26 +00:00
Alistair Buxton
3161808a9d
Add a basic setFlip method to TiledImage
...
This doesn't fully work - even raising a bounds-change doesn't seem
to be enough.
2021-03-19 17:16:25 +00:00
Alistair Buxton
53052c8c08
Add flipping example
...
This isn't complete - the flip toggles do not work as setFlip() is
not implemented. The second image is currently always flipped.
2021-03-19 15:45:21 +00:00