Commit Graph

2010 Commits

Author SHA1 Message Date
Tom
3f7e7141b9 fixes from review of drawerbase.js 2023-12-14 19:14:05 -05:00
Tom
2d8c6fe4c3 cleaning up docs 2023-12-13 18:11:09 -05:00
Tom
a364c3f168 responding to review 2023-12-12 21:45:24 -05:00
Aiosa
cf2413e0c9 Fix test for the preload hack (and fix the parentheses to always call updateMulti). 2023-12-10 16:49:56 +01:00
Aiosa
a690b50eee Add external execution pipeline (proof of concept implementation, needs polishing). Add filtering plugin live demo for testing. Fix issues with tile cache access outside its lifespan. Add custom css for the static page renderer and differentiate folder icons. Remove some old deprecations. 2023-12-10 16:34:42 +01:00
Tom
e50d3639ce bugfix in canvasdrawer tiled-image-drawn event 2023-12-02 15:47:01 -05:00
Tom
1200f0b081 clean up outdated code; add tiled-image-drawn event to canvasdrawer so tests work with this viewer 2023-12-02 15:40:47 -05:00
Tom
6b995c018b re-enable html drawer in drawer comparison demo; deal with merge conflict resolution issues 2023-11-29 17:35:49 -05:00
pearcetm
36d8b3d9ad
Merge branch 'master' into rotation-seams 2023-11-29 17:28:42 -05:00
Tom
c86158f0ca cleaning up changes 2023-11-29 16:46:14 -05:00
Aiosa
90ce0669c5 Add auto recognition of the need for tiledImage draw call. Fix ajax-headers test: did not finish because we don't call tile-loaded on cached tiles by default. 2023-11-27 12:12:54 +01:00
Aiosa
2c67860c61 Implement cache manipulation strategy: default copy on access if tile in the rendering process, remove 'canvas' type support, many bugfixes and new tests. 2023-11-26 21:32:26 +01:00
Aiosa
f4efe2970a Remove modular implementation -> will be introduced in subsequent PR. 2023-11-21 12:54:09 +01:00
Aiosa
2a1090ffa8 Fix wrong test comparison. Add equality comparator to TileSource API. Return
deprecated support for getCompletionCallback. Turn on zombie cache if sources replaced & equal.
2023-11-19 16:14:28 +01:00
Aiosa
219049976c Add tests for zombie and data type conversion, ensure destructors are called.
Fix bugs (zombie was disabled on item replace, fix zombie cache system by separating to its own cache array). Fix CacheRecord destructor & dijkstra. Deduce cache only from originalCacheKey. Force explicit type declaration with types on users.
2023-11-18 20:16:35 +01:00
Aiosa
c3ab9a08e7 Merge branch 'cache-overhaul-reviewed' of github.com:RationAI/openseadragon into cache-overhaul-reviewed 2023-11-17 20:22:13 +01:00
Aiosa
023a864a36
Merge branch 'openseadragon:master' into cache-overhaul-reviewed 2023-11-17 20:21:24 +01:00
Ian Gilman
c92f8ad65d
Merge pull request #2431 from cavenel/master
Fix zoom out when wheel event.deltaY is zero
2023-11-13 09:53:42 -08:00
Christophe Avenel
c1038af37d
Revert "Add debounce of pan events"
This reverts commit e836ffcc61.
2023-11-08 18:52:05 +01:00
Christophe Avenel
e836ffcc61 Add debounce of pan events
Group pan events together if needed, in order to avoid lag if drawing of layers takes more time than it should.
2023-10-31 15:38:38 +01:00
Christophe Avenel
810987210c
Fix zoom out when wheel event.deltaY is zero
Don't apply zoom in or zoom out when deltaY is zero on wheel events.
Should fix https://github.com/openseadragon/openseadragon/issues/947 and not make OpenSeadragon zoom out when scrolling horizontally on a touchpad
2023-10-25 09:26:48 +02:00
Aiosa
cd9d340038 Removed date loader (will be handled by future OSD cache system). Attempt to use instanced rendering. Refactoring of the module. 2023-10-23 16:03:47 +02:00
Lutz Helm
b92a428e88 Sort levelSizes instead of sizes 2023-10-10 14:02:44 +02:00
Aiosa
31f9a71109 Working tiledimage-level transparency in a single pass. 2023-09-27 15:16:23 +02:00
Aiosa
174c4c709a Remove logs from debugging. 2023-09-26 15:47:50 +02:00
Aiosa
e3024deb46 Modular webgl2 drawer: fix small bugs. Add drawer IDs to demo page urls to allow refreshing/direct running 2023-09-26 15:31:43 +02:00
Aiosa
f796925ae5 Remove irrelevant code and comments. 2023-09-25 08:52:45 +02:00
Aiosa
750d45be81 Implement asynchronous tile processing logic wrt. tile cache conversion. 2023-09-24 22:30:28 +02:00
Lutz Helm
5542ead48b Fix #2415, order IIIF sizes on tile source init 2023-09-19 09:55:53 +02:00
Aiosa
f01a7a4b3c Cache Overhaul for OpenSeadragon (areas to discuss marked with FIXME). 2023-09-08 08:47:43 +02:00
ViratSr
ed49d46237 syntax fixed and if statement amended 2023-08-17 10:39:45 +05:30
ViratSr
9b051f55de #fix496 2023-08-16 00:10:55 +05:30
ViratSr
b15ba75551 fixed position issue 2023-08-15 16:46:10 +05:30
Ian Gilman
cca81a37d5
Merge pull request #2387 from schuefflerlab/BestTiles
Introduced option maxTilesPerFrame
2023-08-08 09:25:17 -07:00
Peter
0bdd807d9d Cleaned code according to comments in PR 2023-08-08 11:05:33 +02:00
Peter
f8ad0acfa4 Sort the N tiles only once instead of when adding new indiviual tiles 2023-08-02 21:04:43 +02:00
Peter
55a05963a2 Sort N tiles always for a better look and feel. 2023-08-02 20:30:30 +02:00
pearcetm
e07745d790
Merge pull request #4 from Aiosa/rotation-seams
First modular webgl drawer implementation by @Aiosa

Thanks for putting this together @Aiosa! I'm going to merge it into the large refactor PR. It'd be great to have a demo page that includes all these features, for testing/debugging and to show off the capabilities.
2023-08-01 17:18:32 -04:00
Mark Salsbery
1f47f5def1 MouseTracker options docs fixes 2023-07-31 13:08:07 -07:00
Tom
c77a7e7386 enhance performance demo. rename variables for clarity. 2023-07-28 17:49:24 -04:00
Peter
17873001b8 outsourced tile sorting from tile comparing. 2023-07-28 13:15:47 +02:00
Aiosa
a907aaa160 Merge remote-tracking branch 'origin/rotation-seams' into rotation-seams 2023-07-28 12:24:15 +02:00
Aiosa
b6273b95b8 First modular webgl drawer implementation. 2023-07-28 12:23:59 +02:00
Aiosa
ca45e96142
Merge branch 'rotation-seams' into rotation-seams 2023-07-26 23:58:07 +02:00
Aiosa
046612f8da Better drawer resolution, also supporting inline class spec. Fix minor review stuff. 2023-07-26 23:55:46 +02: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
Peter
ccb4ae9f86 Fixed _updateViewport to come to a fullyLoaded state with n tiles.
Improved _compareTiles
2023-07-20 17:27:49 +02:00
Peter
9684a83b8c Updated Comment 2023-07-20 15:17:02 +02:00
P. Schueffler
7ad748799e
Pr for upstream (#3)
Added maxTilesPerFrame
2023-07-20 14:45:15 +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
Tom
01a4ea6f2c Update documentation and remove commented code. Change from get type to getType(). 2023-07-09 14:10:20 -04: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
0a3aa6172d add type property to drawers. only add extra padding to tiles for drawers that need it. 2023-06-30 16:38:07 -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
akansjain
eaa41f7f05 Replaced the comment with Deprecated 2023-06-21 13:34:58 +05:30
Tom
128975ea0f only calculate tile positions when necessary 2023-06-18 19:28:48 -04:00
Tom
0584ca7be9 add to-do comments 2023-06-18 19:09:22 -04:00
Tom
37b8ef9519 deprecate useCanvas option; add option for drawer and drawerOptions 2023-06-18 19:08:33 -04:00
Tom
7bb02d51d0 reverted change to argument order in _updateTile call 2023-06-14 07:51:50 -07:00
akansjain
7dec7b9aba Added console.error() in createCallback() function 2023-06-09 17:58:22 +05:30
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
1bc93be3f2 update tile drawing logic 2023-06-06 19:37:24 -04:00
Tom
1089f79a5b remove drawer class 2023-06-06 18:08:50 -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
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
akansjain
3fc156d513 Removed createCallback function 2023-06-06 23:04:04 +05:30
Delile Sebastien
f96db3cf0f complete comment 2023-06-02 18:59:22 +02:00
Delile Sebastien
f004ecf323 fix comment 2023-06-01 10:20:14 +02:00
Delile Sebastien
2c03c1bbe9 workaround tile edge smoothing maxZoom + flip 2023-05-31 16:11:42 +02: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
Ian Gilman
b9cb52a184 Updated copyright to 2023 2023-05-25 14:52:20 -07: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
Ian Gilman
e6f2d3e07b
Merge pull request #2346 from uschmidt83/ajax-headers
Add `setAjaxHeaders` method to Viewer and TiledImage
2023-05-19 15:01:54 -07:00
Uwe Schmidt
4060dee4f9 Make updateAjaxHeaders private 2023-05-19 22:22:10 +02:00
Uwe Schmidt
e983bd8108 Add docs for updating ajax headers 2023-05-12 23:48:31 +02:00
Uwe Schmidt
857a825ed8 Fix some jsdoc typos 2023-05-12 23:37:34 +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
Tom
528df37335 update navigator size when calling setHeight or setWidth 2023-05-03 22:38:49 -04:00
Uwe Schmidt
b23e8295d3 Propagate updated ajax headers by default 2023-05-03 23:51:07 +02:00
Uwe Schmidt
13603dd5f4 Update reference strip ajax headers 2023-05-03 19:33:50 +02:00
Uwe Schmidt
fe7a5eb01b Make ES5-compatible 2023-05-03 18:46:18 +02:00
Uwe Schmidt
3c2628f182 Add setAjaxHeaders method to Viewer and TiledImage
- First draft, not tested at all
- See openseadragon/openseadragon#1748
2023-05-03 16:05:58 +02:00
Ruven
c5404006b2
Further optimization: code moved into constructor thereby eliminating need for getLevelSize() function. 2023-04-25 12:06:27 +02:00
Ruven
5fd125dc92
Added implementation of getTileAtPoint() function. This eliminates flickering at level transitions caused by mis-match in resolution size calculation between the getTileAtPoint() and getNumTiles() functions. 2023-04-24 22:44:46 +02:00
Ruven
877c3b68ed
Refactored code to take into account optimization suggestions (https://github.com/openseadragon/openseadragon/pull/2337#discussion_r1170931340) 2023-04-24 17:24:18 +02:00
Ruven
0c358c140d
Use resolution level dimensions provided in the info.json "sizes" field to determine tile sizes as well as the number of tiles that exist at a particular resolution. Fall back to calculation using ceil() if no resolution sizes provided. Avoids rounding errors for edge tiles and fixes https://github.com/openseadragon/openseadragon/issues/2321 2023-04-17 21:08:18 +02:00