Commit Graph

2065 Commits

Author SHA1 Message Date
Tom
e0fd78344b add description of WebGLDrawer drawing pipeline 2024-01-11 13:54:01 -05:00
Tom
3bab3c2190 small cleanups 2024-01-11 13:29:59 -05:00
Tom
500c22feb1 consolidate tiled-image-drawn event description and firing code 2024-01-10 18:00:01 -05:00
Tom
9725ac0398 update tiled-image-drawn event description 2024-01-10 12:21:05 -05:00
Tom
58f918aaa1 clean up tests 2024-01-10 12:13:00 -05:00
Tom
f3a90159c1 cleaning up webgldrawer 2024-01-08 19:18:58 -05:00
Tom
1239b22c30 updates to viewer 2023-12-22 13:46:36 -05:00
Tom
1a1e2c20c0 fix viewport.update so tests don't stall 2023-12-21 16:31:23 -05:00
Tom
22ecdfd75d fix documentation for viewport.update 2023-12-21 16:12:19 -05:00
Tom
bbee6e9605 update animating logic 2023-12-21 16:09:45 -05:00
Tom
40a4e42835 make reference strip always use the canvas drawer 2023-12-21 15:29:25 -05:00
Tom
1588f6b715 add documentation; rename parameters for clarity 2023-12-21 15:10:23 -05:00
Tom
55882b9215 fix docs. rename matrix.js to matrix3.js 2023-12-19 15:57:15 -05:00
Tom
d5a3cabf13 fixing jsdocs 2023-12-18 17:01:17 -05:00
Tom
9616e26dd2 updates in drawers and tiled image 2023-12-15 13:13:40 -05:00
Tom
074b65bfcd clean up comments and small fixes 2023-12-14 20:59:55 -05:00
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
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
f4efe2970a Remove modular implementation -> will be introduced in subsequent PR. 2023-11-21 12:54:09 +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
Lutz Helm
5542ead48b Fix #2415, order IIIF sizes on tile source init 2023-09-19 09:55:53 +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
Dragos Daian
d18a4c3fd7 mark tile.exists so that the retired tiles appear. 2023-04-08 16:48:04 +02:00
Robert Colley
e6b9c79bc1
Fixes #2332
Mirror the main viewer's rotation and account for immediately. Without 
this, viewer.setRotation(90, true) would rotate the main viewer without 
animation and the navigator with animation.
2023-04-06 18:10:38 -04:00
Ian Gilman
5b56d6fa16
Merge pull request #2324 from rsimon/master
Applied touch rotate fix suggested in #2319
2023-04-06 14:22:54 -07:00
Ian Gilman
cec0acafe1
Merge pull request #2328 from craigberry/master
Handle XML embedded in tilesource JSON
2023-04-04 14:48:52 -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
Rainer Simon
84d2dcf11d Applied touch rotate fix suggested in #2319 2023-03-25 18:38:58 +01:00
donotloveshampo
244e54da69
Fixed #2314 2023-03-17 16:27:12 +08:00
Ian Gilman
2ae9fb0e13
Merge pull request #2317 from pearcetm/after-resize-event
Add after-resize event
2023-03-16 13:22:50 -07:00
Tom
fb32cc7198 add after-resize event 2023-03-13 22:19:06 -04:00
Tom
a01c230b6e partial bugfix for #2312 2023-03-13 21:56:06 -04:00
Ian Gilman
cbb0a009e7
Merge pull request #2293 from pearcetm/zoom-constraints-fix
Take zoom constraint into account within _fitBounds
2023-03-10 13:49:41 -08:00
Mohit Bansal
8a201c12b4 add given button function to buttongroup 2023-02-28 01:05:22 +05:30
Mohit Bansal
f393547d9e add custom button 2023-02-27 23:52:29 +05:30
Mohit Bansal
795e85bebb update doc comments 2023-02-22 10:21:51 +05:30
Mohit Bansal
c05af1d38b add focus and blur event 2023-02-19 15:49:43 +05:30
Kevin Britten
8ec6e55304
Merge branch 'openseadragon:master' into docs/button-type-fix 2023-02-16 17:21:44 -05:00
Kevin Britten
cf3bf91b8d add type Element to documentation for custom ui buttons 2023-02-16 14:51:30 -05:00
Mohit Bansal
0ab81df9b8 remove unwanted property 2023-02-15 09:37:03 +05:30
Mohit Bansal
6be459e451 formatting 2023-02-13 23:13:08 +05:30
Mohit Bansal
78928e3510 add comment 2023-02-13 23:01:19 +05:30
Mohit Bansal
4909320089 correction of keyCode 2023-02-12 13:30:41 +05:30
Mohit Bansal
3a8738fd43 spacing && documentation 2023-02-12 12:43:41 +05:30
Mohit Bansal
dac697c74e formatting 2023-02-10 16:44:55 +05:30
Mohit Bansal
4bc9ea4573 add keypress handler's event 2023-02-09 12:55:44 +05:30
Mohit Bansal
cfa88b701f replace canvasKeyPressEventArgs to canvasKeyDownEventArgs 2023-02-08 19:22:27 +05:30
Tom
16fc72d8fb Take zoom constraint into account within _fitBounds when constraints = true and immediately = false 2023-02-07 18:12:26 -05:00
Mohit Bansal
f36d44dc67 Consolidate viewer keyboard handling into keydown handler 2023-02-07 03:31:57 +05:30
Aiosa
37d4f62ce9 Remove discouraging note on getCompletionCallback use docs. 2023-02-02 17:18:12 +01:00
Aiosa
57486732b1 Prevent early tile completion with call order instead of guard flag. Improve getCompletionCallback docs. 2023-02-01 10:25:10 +01:00
Aiosa
55e7d2439a Change completionCallback with 'tile-loaded' event to support original scenario of async completion notification with additional guarding flags. 2023-01-31 08:05:02 +01:00
Aiosa
81d86570da Typo in the stopping comparison condition. 2023-01-28 14:08:00 +01:00
Aiosa
947109718c Ensure tile-loaded event completionCallback is called only once. Check when context2D used after cache creation. 2023-01-28 08:42:07 +01:00
Damian Murawski
2484de5010
remove trailing space 2023-01-26 11:44:39 +01:00
Damian Murawski
8550b4fea5
fix problem with click precision on ReferenceStrip
temporary fix for #1992 . Just adding 4px which works in all use cases.
2023-01-25 23:15:12 +01:00
Ian Gilman
6f7e8c7a49
Merge pull request #2238 from Ughuuu/pr-1386-3
add loop for re-trying failed tiles [Take 3]
2023-01-24 15:15:58 -08:00
Dragos Daian
b4700d28bd Also add documentation for tileRetryDelay 2023-01-23 22:16:05 +01:00
Dragos Daian
f0f12c459e try fix with check for null and undefined 2023-01-23 22:10:23 +01:00
Dragos Daian
5d70a807da fix build error 2023-01-23 19:54:51 +01:00
Dragos Daian
77bc130636 Add tileRetryMax documentation. 2023-01-23 19:49:43 +01:00
Aiosa
377f2bd04f Merge branch 'master' of github.com:RationAI/openseadragon 2023-01-21 09:00:58 +01:00
Aiosa
7a7acdbe57
Merge branch 'openseadragon:master' into master 2023-01-21 08:00:29 +00:00
Aiosa
de00939d8d Revert async support and event breaking support in EventSource. 2023-01-21 09:00:24 +01:00
ambujsahu81
f3a76a267c add box-sizing property to the navigator display region 2023-01-20 18:26:54 +05:30
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
Haris Ghauri
a9f0523b62 issues/2192 fix. 2023-01-11 23:15:24 -05:00