plexora 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. plexora/__init__.py +129 -0
  2. plexora/__main__.py +15 -0
  3. plexora/_url.py +105 -0
  4. plexora/api/__init__.py +55 -0
  5. plexora/api/dataset.py +398 -0
  6. plexora/api/http.py +19 -0
  7. plexora/api/plugin.py +541 -0
  8. plexora/api/store.py +221 -0
  9. plexora/cli.py +777 -0
  10. plexora/client/dist/354_bundle.js +2 -0
  11. plexora/client/dist/354_bundle.js.LICENSE.txt +20 -0
  12. plexora/client/dist/418_bundle.js +2 -0
  13. plexora/client/dist/418_bundle.js.LICENSE.txt +1 -0
  14. plexora/client/dist/693b935cb1f907814be9c6199a68c217.svg +19 -0
  15. plexora/client/dist/713c134ff47cd328a5b711526f151082.svg +18 -0
  16. plexora/client/dist/770_bundle.js +1 -0
  17. plexora/client/dist/ff743f408972e0e96ca9153ed5ae4c83.svg +23 -0
  18. plexora/client/dist/vendor_bundle.js +2 -0
  19. plexora/client/dist/vendor_bundle.js.LICENSE.txt +308 -0
  20. plexora/client/external/openseadragon-bin-2.4.0/LICENSE.txt +28 -0
  21. plexora/client/external/openseadragon-bin-2.4.0/canvas-overlay-hd.js +140 -0
  22. plexora/client/external/openseadragon-bin-2.4.0/changelog.txt +501 -0
  23. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/.gitattributes +17 -0
  24. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/LICENSE.txt +116 -0
  25. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/Toolbar.png +0 -0
  26. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/fullpage.psd +0 -0
  27. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/home.psd +0 -0
  28. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/next.psd +0 -0
  29. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/previous.psd +0 -0
  30. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/rotateleft.psd +0 -0
  31. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/rotateright.psd +0 -0
  32. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/Photoshop/zoom.psd +0 -0
  33. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/README.md +9 -0
  34. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/fullpage_grouphover.png +0 -0
  35. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/fullpage_hover.png +0 -0
  36. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/fullpage_pressed.png +0 -0
  37. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/fullpage_rest.png +0 -0
  38. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/home_grouphover.png +0 -0
  39. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/home_hover.png +0 -0
  40. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/home_pressed.png +0 -0
  41. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/home_rest.png +0 -0
  42. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/next_grouphover.png +0 -0
  43. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/next_hover.png +0 -0
  44. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/next_pressed.png +0 -0
  45. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/next_rest.png +0 -0
  46. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/previous_grouphover.png +0 -0
  47. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/previous_hover.png +0 -0
  48. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/previous_pressed.png +0 -0
  49. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/previous_rest.png +0 -0
  50. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateleft_grouphover.png +0 -0
  51. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateleft_hover.png +0 -0
  52. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateleft_pressed.png +0 -0
  53. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateleft_rest.png +0 -0
  54. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateright_grouphover.png +0 -0
  55. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateright_hover.png +0 -0
  56. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateright_pressed.png +0 -0
  57. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/rotateright_rest.png +0 -0
  58. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomin_grouphover.png +0 -0
  59. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomin_hover.png +0 -0
  60. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomin_pressed.png +0 -0
  61. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomin_rest.png +0 -0
  62. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomout_grouphover.png +0 -0
  63. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomout_hover.png +0 -0
  64. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomout_pressed.png +0 -0
  65. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-flat-toolbar-icons-master/images/zoomout_rest.png +0 -0
  66. plexora/client/external/openseadragon-bin-2.4.0/openseadragon-scalebar.js +562 -0
  67. plexora/client/src/css/import.css +474 -0
  68. plexora/client/src/css/main.css +903 -0
  69. plexora/client/src/css/openProject.css +363 -0
  70. plexora/client/src/css/quickView.css +166 -0
  71. plexora/client/src/css/tokens.css +51 -0
  72. plexora/client/src/css/viewer.css +1655 -0
  73. plexora/client/src/img/apple-touch-icon.png +0 -0
  74. plexora/client/src/img/favicon.ico +0 -0
  75. plexora/client/src/img/logo.ai +8892 -33
  76. plexora/client/src/img/logo.svg +1 -0
  77. plexora/client/src/img/logo_with_text.ai +9011 -34
  78. plexora/client/src/img/logo_with_text.svg +1 -0
  79. plexora/client/src/js/main.js +704 -0
  80. plexora/client/src/js/pluginRegistry.js +108 -0
  81. plexora/client/src/js/services/appStatus.js +286 -0
  82. plexora/client/src/js/services/browsePicker.js +73 -0
  83. plexora/client/src/js/services/dataLayer.js +400 -0
  84. plexora/client/src/js/services/datasetContext.js +143 -0
  85. plexora/client/src/js/services/glRenderer.js +143 -0
  86. plexora/client/src/js/services/importFormValidation.js +257 -0
  87. plexora/client/src/js/services/numericData.js +100 -0
  88. plexora/client/src/js/services/passVariablesToFrontend.js +20 -0
  89. plexora/client/src/js/services/simpleEventHandler.js +25 -0
  90. plexora/client/src/js/vendor.js +29 -0
  91. plexora/client/src/js/views/channelList.js +663 -0
  92. plexora/client/src/js/views/colorSwatchPicker.js +202 -0
  93. plexora/client/src/js/views/columnClassifier.js +146 -0
  94. plexora/client/src/js/views/coordinateField.js +133 -0
  95. plexora/client/src/js/views/dataSourceField.js +276 -0
  96. plexora/client/src/js/views/imageViewer.js +3306 -0
  97. plexora/client/src/js/views/miniMap.js +787 -0
  98. plexora/client/src/js/views/navbarControls.js +178 -0
  99. plexora/client/src/js/views/openProjectPage.js +239 -0
  100. plexora/client/src/js/views/projectEdit.js +335 -0
  101. plexora/client/src/js/views/quickViewLanding.js +136 -0
  102. plexora/client/src/js/views/rainbow.js +326 -0
  103. plexora/client/src/js/views/requirementsModal.js +572 -0
  104. plexora/client/src/js/views/rgbImageViewer.js +115 -0
  105. plexora/client/src/js/views/searchableSelect.js +411 -0
  106. plexora/client/src/js/views/segmentationProgress.js +122 -0
  107. plexora/client/src/js/views/toolLoader.js +747 -0
  108. plexora/client/src/js/views/viewerControls.js +689 -0
  109. plexora/client/src/js/views/viewerManager.js +434 -0
  110. plexora/client/src/js/views/viewerSidebar.js +1117 -0
  111. plexora/client/src/js/workers/tileDecoder.js +130 -0
  112. plexora/client/src/shaders/frag.glsl +528 -0
  113. plexora/client/src/shaders/vert.glsl +12 -0
  114. plexora/client/templates/base.html +212 -0
  115. plexora/client/templates/index.html +238 -0
  116. plexora/client/templates/open_project.html +96 -0
  117. plexora/client/templates/project_columns.html +86 -0
  118. plexora/client/templates/project_edit.html +196 -0
  119. plexora/client/templates/upload.html +118 -0
  120. plexora/connect.py +528 -0
  121. plexora/datasource.py +782 -0
  122. plexora/jupyter.py +406 -0
  123. plexora/notebook_env.py +232 -0
  124. plexora/paths.py +486 -0
  125. plexora/plugins/__init__.py +12 -0
  126. plexora/plugins/cell_explorer/__init__.py +100 -0
  127. plexora/plugins/cell_explorer/server/__init__.py +11 -0
  128. plexora/plugins/cell_explorer/server/routes.py +167 -0
  129. plexora/plugins/cell_explorer/server/state.py +281 -0
  130. plexora/plugins/cell_explorer/server/values.py +145 -0
  131. plexora/plugins/cell_explorer/server/variables.py +367 -0
  132. plexora/plugins/cell_explorer/static/cellExplorerApi.js +158 -0
  133. plexora/plugins/cell_explorer/static/cellExplorerColors.js +316 -0
  134. plexora/plugins/cell_explorer/static/cellExplorerContinuous.js +403 -0
  135. plexora/plugins/cell_explorer/static/cellExplorerFigureBridge.js +133 -0
  136. plexora/plugins/cell_explorer/static/cellExplorerLegend.js +188 -0
  137. plexora/plugins/cell_explorer/static/cellExplorerRoiBridge.js +822 -0
  138. plexora/plugins/cell_explorer/static/cellExplorerSidebarController.js +826 -0
  139. plexora/plugins/cell_explorer/static/cellExplorerState.js +372 -0
  140. plexora/plugins/cell_explorer/static/cell_explorer.css +752 -0
  141. plexora/plugins/cell_explorer/templates/cell_explorer/panel.html +137 -0
  142. plexora/plugins/figure_builder/__init__.py +125 -0
  143. plexora/plugins/figure_builder/server/__init__.py +7 -0
  144. plexora/plugins/figure_builder/server/compose.py +365 -0
  145. plexora/plugins/figure_builder/server/export.py +784 -0
  146. plexora/plugins/figure_builder/server/export_jobs.py +148 -0
  147. plexora/plugins/figure_builder/server/operations.py +556 -0
  148. plexora/plugins/figure_builder/server/pixels.py +142 -0
  149. plexora/plugins/figure_builder/server/provenance.py +174 -0
  150. plexora/plugins/figure_builder/server/render.py +278 -0
  151. plexora/plugins/figure_builder/server/repository.py +701 -0
  152. plexora/plugins/figure_builder/server/routes.py +594 -0
  153. plexora/plugins/figure_builder/server/schema.py +1023 -0
  154. plexora/plugins/figure_builder/server/sources.py +120 -0
  155. plexora/plugins/figure_builder/server/textmetrics.py +155 -0
  156. plexora/plugins/figure_builder/static/figureActions.js +363 -0
  157. plexora/plugins/figure_builder/static/figureBuilderApi.js +255 -0
  158. plexora/plugins/figure_builder/static/figureCanvas.js +2362 -0
  159. plexora/plugins/figure_builder/static/figureCaptureBoxes.js +369 -0
  160. plexora/plugins/figure_builder/static/figureCaptureDock.js +466 -0
  161. plexora/plugins/figure_builder/static/figureCaptureTool.js +1034 -0
  162. plexora/plugins/figure_builder/static/figureConfirm.js +136 -0
  163. plexora/plugins/figure_builder/static/figureContextBar.js +1193 -0
  164. plexora/plugins/figure_builder/static/figureContextMenu.js +253 -0
  165. plexora/plugins/figure_builder/static/figureDocumentState.js +275 -0
  166. plexora/plugins/figure_builder/static/figureExportUi.js +174 -0
  167. plexora/plugins/figure_builder/static/figureLibrary.js +247 -0
  168. plexora/plugins/figure_builder/static/figureQuickEdit.js +628 -0
  169. plexora/plugins/figure_builder/static/figureRichText.js +634 -0
  170. plexora/plugins/figure_builder/static/figureSceneSnapshot.js +361 -0
  171. plexora/plugins/figure_builder/static/figureSchema.js +218 -0
  172. plexora/plugins/figure_builder/static/figureSidebarController.js +1159 -0
  173. plexora/plugins/figure_builder/static/figureTextEditor.js +503 -0
  174. plexora/plugins/figure_builder/static/figureTextPanel.js +491 -0
  175. plexora/plugins/figure_builder/static/figureViewOptions.js +273 -0
  176. plexora/plugins/figure_builder/static/figureWorkspace.js +2030 -0
  177. plexora/plugins/figure_builder/static/figure_builder.css +3292 -0
  178. plexora/plugins/figure_builder/templates/figure_builder/library.html +74 -0
  179. plexora/plugins/figure_builder/templates/figure_builder/workspace.html +27 -0
  180. plexora/plugins/figure_builder/templates/figure_builder/workspace_body.html +458 -0
  181. plexora/plugins/gating/__init__.py +76 -0
  182. plexora/plugins/gating/server/__init__.py +0 -0
  183. plexora/plugins/gating/server/anndata_gates.py +367 -0
  184. plexora/plugins/gating/server/database.py +16 -0
  185. plexora/plugins/gating/server/model.py +320 -0
  186. plexora/plugins/gating/server/routes.py +235 -0
  187. plexora/plugins/gating/static/csvGatingList.js +947 -0
  188. plexora/plugins/gating/static/gating.css +289 -0
  189. plexora/plugins/gating/static/gatingApi.js +221 -0
  190. plexora/plugins/gating/static/gatingSidebarController.js +513 -0
  191. plexora/plugins/gating/templates/gating/legacy.html +26 -0
  192. plexora/plugins/gating/templates/gating/panel.html +69 -0
  193. plexora/plugins/roi/__init__.py +95 -0
  194. plexora/plugins/roi/server/__init__.py +8 -0
  195. plexora/plugins/roi/server/adapters.py +655 -0
  196. plexora/plugins/roi/server/geojson.py +267 -0
  197. plexora/plugins/roi/server/geometry.py +181 -0
  198. plexora/plugins/roi/server/mapping.py +169 -0
  199. plexora/plugins/roi/server/operations.py +293 -0
  200. plexora/plugins/roi/server/repository.py +215 -0
  201. plexora/plugins/roi/server/routes.py +409 -0
  202. plexora/plugins/roi/server/schema.py +323 -0
  203. plexora/plugins/roi/static/roi.css +583 -0
  204. plexora/plugins/roi/static/roiApi.js +177 -0
  205. plexora/plugins/roi/static/roiFigureBridge.js +107 -0
  206. plexora/plugins/roi/static/roiGeometry.js +350 -0
  207. plexora/plugins/roi/static/roiRenderer.js +278 -0
  208. plexora/plugins/roi/static/roiSidebarController.js +1038 -0
  209. plexora/plugins/roi/static/roiState.js +518 -0
  210. plexora/plugins/roi/static/roiTools.js +993 -0
  211. plexora/plugins/roi/templates/roi/panel.html +240 -0
  212. plexora/proxy.py +57 -0
  213. plexora/server/models/adapters/__init__.py +94 -0
  214. plexora/server/models/adapters/anndata_adapter.py +388 -0
  215. plexora/server/models/adapters/base.py +93 -0
  216. plexora/server/models/adapters/classify.py +192 -0
  217. plexora/server/models/adapters/csv_adapter.py +105 -0
  218. plexora/server/models/adapters/inspection.py +265 -0
  219. plexora/server/models/adapters/spatialdata_adapter.py +248 -0
  220. plexora/server/models/centroid_tiles.py +305 -0
  221. plexora/server/models/data_model.py +1659 -0
  222. plexora/server/models/database_model.py +169 -0
  223. plexora/server/models/project.py +1270 -0
  224. plexora/server/plugins.py +199 -0
  225. plexora/server/routes/browse_routes.py +41 -0
  226. plexora/server/routes/data_routes.py +294 -0
  227. plexora/server/routes/import_routes.py +603 -0
  228. plexora/server/routes/page_routes.py +139 -0
  229. plexora/server/routes/project_routes.py +438 -0
  230. plexora/server/routes/quick_view_routes.py +62 -0
  231. plexora/server/routes/system_routes.py +39 -0
  232. plexora/server/routes/tool_routes.py +418 -0
  233. plexora/server/utils/addHEColumns.py +11 -0
  234. plexora/server/utils/fast_png.py +97 -0
  235. plexora/server/utils/fullConversion.py +50 -0
  236. plexora/server/utils/native_dialog.py +168 -0
  237. plexora/server/utils/pre_normalization.py +47 -0
  238. plexora/server/utils/segmentation_pyramid.py +598 -0
  239. plexora/server/utils/smallestenclosingcircle.py +126 -0
  240. plexora/server/utils/tiffsurgeon.py +372 -0
  241. plexora/server_cli.py +48 -0
  242. plexora/test.py +0 -0
  243. plexora-0.0.1.dist-info/METADATA +341 -0
  244. plexora-0.0.1.dist-info/RECORD +248 -0
  245. plexora-0.0.1.dist-info/WHEEL +5 -0
  246. plexora-0.0.1.dist-info/entry_points.txt +12 -0
  247. plexora-0.0.1.dist-info/licenses/LICENSE +207 -0
  248. plexora-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,501 @@
1
+ OPENSEADRAGON CHANGELOG
2
+ =======================
3
+
4
+ 2.4.0:
5
+
6
+ * BREAKING CHANGE: Viewer's canvas-double-click event is now fired before it initiates the zoom (#1288)
7
+ * You can now flip the viewport to get a mirror image of the original (#1441)
8
+ * You can now prevent canvas-double-click events from zooming on a per-event basis (#1288)
9
+ * Fixed: Opacity 0 images were causing unnecessary redraws (#1319)
10
+ * The "page" event is now fired after the page index has been updated (#1330)
11
+ * Added option pixelsPerArrowPress that sets the speed of arrow keys (#1364)
12
+ * Improved IIIF options.maxLevel calculation (#1401)
13
+ * Added canvas-key events, along with the ability to cancel key actions (#1414)
14
+ * Added optional zoom in the middle of the image instead of pointer position (#1423)
15
+ * Now supporting square edge tiles that are padded rather than cropped (#1426)
16
+ * Fixed an issue causing the simple image tileSource to sometimes show duplicate copies (#1370)
17
+ * Fixed an issue causing seams to appear in semi-transparent PNG tiled images (#1470)
18
+ * Added visual customization options for the navigator (#1480)
19
+ * You can now prevent canvas-drag events on the navigator (#1484)
20
+ * You can now prevent canvas-click events on the navigator (#1416)
21
+ * The navigator can now be restricted to just horizontal or just vertical panning (#1416)
22
+ * Fixed DziTileSource so it doesn't load levels above maxLevel or below minLevel, if set (#1492)
23
+
24
+ 2.3.1:
25
+
26
+ * Debug mode now uses different colors for different tiled images (customizable via debugGridColor) (#1271)
27
+ * Fixed a problem with preventDefaultAction for the canvas-drag event (#1278)
28
+ * Fixed an issue causing double images with certain aspect ratios (#1280)
29
+ * Fixed: placeholderFillStyle had no effect (#1286)
30
+ * Fixed seams that appear in wrap mode on Safari and Firefox (#1305)
31
+
32
+ 2.3.0:
33
+
34
+ * BREAKING CHANGE: Tile.distance has been removed (#1027)
35
+ * BREAKING CHANGE: Viewer's canvas-click event is now fired before it initiates the zoom (#1148)
36
+ * BREAKING CHANGE: Viewer's canvas-drag event is now fired before it pans (#1149)
37
+ * Added Zoomify tile source (#863)
38
+ * You can now set the rotation of individual tiled images (#1006)
39
+ * Added getFullyLoaded method and "fully-loaded-change" event to TiledImage to know when tiles are fully loaded (#837, #1073)
40
+ * You can now preload images without drawing them to the screen (#1071)
41
+ * Added support for commonjs (#984)
42
+ * Added an option to addTiledImage to change the crossOriginPolicy (#981)
43
+ * You can now load tiles via AJAX and custom AJAX request headers (#1055)
44
+ * Added ability to provide thumbnail URLs for reference strip (#1241)
45
+ * Improved panning constraints for constrainDuringPan (#1133 and #1245)
46
+ * You can now prevent canvas-click events from zooming on a per-event basis (#1148)
47
+ * You can now prevent canvas-drag events from panning on a per-event basis (#1149)
48
+ * The navigationControlAnchor option now works for custom toolbar as well (#1004)
49
+ * LegacyTileSource now allows any image URLs regardless of type (#1056)
50
+ * Enabled configuration of ImageLoader timeout (#1192)
51
+ * Viewer.open() now supports an initialPage argument for sequenceMode (#1196)
52
+ * New events for opacity and compositeOperation changes (#1203)
53
+ * Added support for setting debug mode after the Viewer object has been constructed (#1224)
54
+ * Added functions for dynamically adding and removing the reference strip in sequence mode (#1213)
55
+ * Better calculation for TileCache release cutoff (#1214)
56
+ * The navigator now picks up opacity and compositeOperation changes (#1203)
57
+ * Improved calculation for determining which level to load first (#1198)
58
+ * Added fix for supporting weird filenames that look like JSONs (#1189)
59
+ * Improved DziTileSource guessing of tilesUrl (#1074)
60
+ * The Viewer's tileSources option is now smarter about detecting JSON vs XML vs URL (#999)
61
+ * Better compression for our UI images (#1134)
62
+ * Optimization: Use the squared distance when comparing tiles (#1027)
63
+ * Now clamping pixel ratio density to a minimum of 1, fixing display issues on low density devices (#1200)
64
+ * More forgiving check for DZI schema (#1249)
65
+ * ImageTileSource now works in IE8 (#1041)
66
+ * Fixed CORS bug in IE 10 (#967)
67
+ * Fixed issue with tiles not appearing with wrapHorizontal/wrapVertical if you pan too far away from the origin (#987, #1066)
68
+ * Fixed: Initial tile load wasn't happening in parallel (#1014)
69
+ * Fixed problem with "sparse image" DZI files (#995)
70
+ * Fix IndexSizeError on IE and Edge that occurred under certain circumstances (e.g. multi-image with transparency) (#1035)
71
+ * Fixed error in IE8 when zooming in (due to edge smoothing) (#1064)
72
+ * Fixed issue with OpenSeadragon.version in the minified JavaScript (#1099)
73
+ * Fixed smoothTileEdgesMinZoom performance degradation on single-tile images (#1101)
74
+ * Fixed issue with tiles not appearing after rotation (#1102)
75
+ * Fixed: The navigator wasn't respecting the constrainDuringPan setting (#1104)
76
+ * Fixed an issue causing overlays to be mis-positioned in some circumstances (#1119)
77
+ * Fixed: ImageTileSource would sometimes produce a double image (#1123)
78
+ * Fixed: console.debug caused exceptions on IE10 (#1129)
79
+ * Fixed: the reference strip would leak memory when opening new sets of images (#1175)
80
+ * Fixed: zoomTo/zoomBy ignore refPoint if immediately is true (#1184)
81
+ * Fixed: IIPImageServer didn't work with the latest OSD release (#1199)
82
+ * Fixed: setItemIndex method not working with navigator inside "open" event (#1201)
83
+ * Fixed: The reference strip didn't show the initial page if it wasn't the first page (#1208)
84
+ * Fixed: Sometimes the image would stick to the mouse when right-clicking and left-clicking simultaneously (#1223)
85
+ * Fixed issue with transparent images sometimes disappearing on Safari (#1222)
86
+ * Fixed: One image failing to load could cause the others to never load (#1229)
87
+ * Fixed: Mouse up outside map will cause "canvas-drag" event to stick (#1133)
88
+ * Fixed more issues with tracking multiple pointers (#1244)
89
+
90
+ 2.2.1:
91
+
92
+ * Fixed problems with zoom/pan constraints with certain extreme settings (#965)
93
+ * Fixed an issue causing the browser to crash on iOS (#966)
94
+
95
+ 2.2.0:
96
+
97
+ * BREAKING CHANGE: Viewport.homeBounds, Viewport.contentSize, Viewport.contentAspectX and
98
+ Viewport.contentAspectY have been removed. (#846)
99
+ * BREAKING CHANGE: The Overlay.getBounds method now takes the viewport as parameter. (#896)
100
+ * DEPRECATION: Overlay.scales, Overlay.bounds and Overlay.position have been deprecated. (#896)
101
+ * Overlay.width !== null should be used to test whether the overlay scales horizontally
102
+ * Overlay.height !== null should be used to test whether the overlay scales vertically
103
+ * The Overlay.getBounds method should be used to get the bounds of the overlay in viewport coordinates
104
+ * Overlay.location replaces Overlay.position
105
+ * DEPRECATION: Viewport.setHomeBounds has been deprecated (#846)
106
+ * DEPRECATION: the Viewport constructor is now ignoring the contentSize option (#846)
107
+ * Tile edge smoothing at high zoom (#764)
108
+ * Fixed issue with reference strip popping up virtual keyboard on mobile devices (#779)
109
+ * Now supporting rotation in the Rect class (#782)
110
+ * Drag outside of iframe now works better, as long as both pages are on the same domain (#790)
111
+ * Coordinate conversion now takes rotation into account (#796)
112
+ * Support tile-less IIIF as per LegacyTileSource (#816)
113
+ * You can now give an empty string to the tabIndex option (#805)
114
+ * Fixed issue with rotation and clicking in the navigator (#807)
115
+ * Broadened the check for mime type in LegacyTileSource URLs to allow query strings (#819)
116
+ * Added globalCompositeOperation option for tiledImage, to allow for different transfer modes (#814)
117
+ * Added Viewer.addSimpleImage method for easily adding non-tiled images (#827)
118
+ * DziTileSource now works properly with DZI files that have no extension (#835)
119
+ * Fixed content clipping with rotation (#463, #567 and #833)
120
+ * Fixed navigator not being rotated when viewport rotation is set in constructor (#840)
121
+ * Fixed: Viewer.setMouseNavEnabled wasn't affecting all of the viewer's trackers (#845)
122
+ * Fixed: with scrollToZoom disabled, the viewer caused page scrolling to slow down (#858)
123
+ * Added Viewer.getOverlayById and Overlay.getBounds functions (#853)
124
+ * Tiled images with 0 opacity no longer load their tiles or do drawing calculations (#859)
125
+ * Fixed issue with edge smoothing with PNG tiles at high zoom (#860)
126
+ * Fixed: Images with transparency were clearing images layered below them (#861)
127
+ * Fixed issue causing HTML pages to jump unwantedly to the reference strip upon loading (#872)
128
+ * Added addOnceHandler method to EventSource (#887)
129
+ * Added TiledImage.fitBounds method (#888)
130
+ * Overlays can now be scaled in a single dimension by providing a point location and either width or height (#896)
131
+ * Added full rotation support to overlays (#729, #193)
132
+ * Viewport.goHome() now takes clipping into account (#910)
133
+ * Improved zoom to point (#923)
134
+ * Optimized sketch canvas clearing and blending for images with opacity or transfer modes (#927)
135
+ * Now taking rotation into account in viewport getBounds and fitBounds methods (#934)
136
+ * Added option to disable navigator auto-fade (#935)
137
+ * Fixed issue with maintaining viewport position with full screen (#940)
138
+ * Fixed an issue with simultaneous touch events (#930)
139
+ * Avoid loading clipped out tiles (#939)
140
+ * Improved precision for subtle moves with fitBounds (#939)
141
+ * Fixed an issue in viewer.addTiledImage with replace:true when viewer has navigator (#948)
142
+
143
+ 2.1.0:
144
+
145
+ * BREAKING CHANGE: the tile does not hold a reference to its image anymore. Only the tile cache keep a reference to images.
146
+ * BREAKING CHANGE: TileSource.tileSize no longer exists; use TileSource.getTileWidth() and TileSource.getTileHeight() instead.
147
+ * DEPRECATION: let ImageRecord.getRenderedContext create the rendered context instead of using ImageRecord.setRenderedContext
148
+ * DEPRECATION: TileSource.getTileSize() is deprecated. Use TileSource.getTileWidth() and TileSource.getTileHeight() instead.
149
+ * Changed resize behaviour to prevent "snapping" to world bounds when constraints allow more space (#711)
150
+ * Added support for non-square tiles (#673)
151
+ * TileSource.Options objects can now optionally provide tileWidth/tileHeight instead of tileSize for non-square tile support.
152
+ * IIIFTileSources will now respect non-square tiles if available.
153
+ * Added new tile source for simple images: ImageTileSource (#760)
154
+ * Optimized adding large numbers of items to the world with collectionMode (#735)
155
+ * Registers as an AMD module where possible (#719)
156
+ * Added "tile-loaded" event on the viewer allowing to modify a tile before it is marked ready to be drawn (#659)
157
+ * Added "tile-unloaded" event on the viewer allowing to free up memory one has allocated on a tile (#659)
158
+ * Added 'tile-load-failed' event (#725)
159
+ * Added additional coordinates conversion methods to TiledImage (#662)
160
+ * Added `preserveImageSizeOnResize` option (#666)
161
+ * Added collectionColumns as a configuration parameter (#680)
162
+ * Added option in addTiledImage to replace tiledImage at index (#706)
163
+ * Added autoRefigureSizes flag to World for optimizing mass rearrangements (#715)
164
+ * You can now change viewport margins after the viewer is created (#721)
165
+ * Added a patch to help slow down the scroll devices that fire too fast (#754)
166
+ * Fixed flickering tiles with useCanvas=false when no cache is used (#661)
167
+ * 'display: none' no longer gets reset on overlays during draw (#668)
168
+ * Better error reporting for tile load failures (#679)
169
+ * Added XDomainRequest as fallback method for ajax requests if XMLHttpRequest fails (for IE < 10) (#693)
170
+ * Now avoiding using eval when JSON.parse is available (#696)
171
+ * Rotation now works properly on retina display (#708)
172
+ * Fixed issue with tiledImages loading tiles at every level instead of just the best level (#728)
173
+ * Fixed placeholderFillStyle flicker (#727)
174
+ * Fix for Chrome (v45) issue that key is sometimes undefined outside of the for-in loop (#730)
175
+ * World.removeAll now cancels any in-flight image loads; same for Viewer.open and Viewer.close (#734)
176
+ * Fixed overlays position (use rounding instead of flooring and ceiling) (#741)
177
+ * Fixed issue with including overlays in your tileSources array when creating/opening in the viewer (#745)
178
+ * Fixed issue in iOS devices that would cause all touch events to fail after a Multitasking Gesture was triggered (#744)
179
+ * Fixed an issue with TiledImage setPosition/setWidth/setHeight not reliably triggering a redraw (#720)
180
+ * Fixed zooming in with plus key on a Swedish keyboard (#763)
181
+
182
+ 2.0.0:
183
+
184
+ * True multi-image mode (#450)
185
+ * BREAKING CHANGE: Passing an array for the tileSources option is no longer enough to trigger sequence mode; you have to set the sequenceMode option to true as well
186
+ * BREAKING CHANGE: Navigator no longer sends an open event when its viewer opens
187
+ * BREAKING CHANGE: Viewer.drawers and Viewer.drawersContainer no longer exist
188
+ * BREAKING CHANGE: A Viewer's Drawer and Viewport are now made once per Viewer and reused for every image that Viewer opens (rather than being recreated for every open); this means if you change Viewer options between opens, the behavior is different now.
189
+ * DEPRECATION: use Viewer.addTiledImage instead of Viewer.addLayer
190
+ * addTiledImage supports positioning config properties
191
+ * DEPRECATION: use World.getItemAt instead of Viewer.getLayerAtLevel
192
+ * DEPRECATION: use World.getIndexOfItem instead of Viewer.getLevelOfLayer
193
+ * DEPRECATION: use World.getItemCount instead of Viewer.getLayersCount
194
+ * DEPRECATION: use World.setItemIndex instead of Viewer.setLayerLevel
195
+ * DEPRECATION: use World.removeItem instead of Viewer.removeLayer
196
+ * DEPRECATION: use World.needsDraw instead of Drawer.needsUpdate
197
+ * DEPRECATION: use TileCache.numTilesLoaded instead of Drawer.numTilesLoaded
198
+ * DEPRECATION: use World.resetItems instead of Drawer.reset
199
+ * DEPRECATION: use Drawer.clear and World.draw instead of Drawer.update
200
+ * DEPRECATION: the layersAspectRatioEpsilon option is no longer necessary
201
+ * DEPRECATION: Viewer's add-layer event is now World's add-item event
202
+ * DEPRECATION: Viewer's layer-level-changed event is now World's item-index-change event
203
+ * DEPRECATION: Viewer's remove-layer event is now World's remove-item event
204
+ * DEPRECATION: Viewer's add-layer-failed event is now add-item-failed
205
+ * DEPRECATION: TileSourceCollection has been retired in favor of World
206
+ * DEPRECATION: collectionMode no longer draws outlines or reflections for items
207
+ * Drawer has been split into three classes:
208
+ * TiledImage, tile management and positioning for a single tiled image
209
+ * TileCache, tile caching for all images
210
+ * Drawer, tile drawing for all images
211
+ * New class: World, keeps track of multiple images in the scene
212
+ * Viewer now has world and tileCache properties
213
+ * Rect and Point now have clone functions
214
+ * New Viewport method for managing homeBounds as well as constraints: setHomeBounds
215
+ * Viewport.open supports positioning config properties
216
+ * For multi-image open, drawing isn't started until all tileSources have been opened
217
+ * You can specify a clip area for each image (only works on browsers that support the HTML5 canvas) (#594)
218
+ * Added placeholderFillStyle so image rectangles can be drawn even before their tiles load (#635)
219
+ * Ability to set opacity on individual TiledImages (#644)
220
+ * Margins option to push the home region in from the edges of the Viewer (#505)
221
+ * Rect and Point toString() functions are now consistent: rounding values to nearest hundredth
222
+ * Overlays appear in the DOM immediately on open or addOverlay (#507)
223
+ * imageLoaderLimit now works (#544)
224
+ * Turning off scrollToZoom in gestureSettings now allows scroll events to propagate
225
+ * You can now set a minZoomLevel that's greater than the home zoom level
226
+ * Added union() to OpenSeadragon.Rect
227
+ * Fixed an error in fitBounds if the new and old bounds were extremely close in size
228
+ * Added ajaxWithCredentials option (#543)
229
+ * Added viewport-change event for after the viewport changes but before it's drawn
230
+ * A spring's current value is now updated immediately on reset (#524)
231
+ * Fixed an error in fitBounds that occurred sometimes with immediately = true
232
+ * Added support for HDPI (retina) displays (#583)
233
+ * Corrected IIIF tile source to use canonical syntax (#586)
234
+ * Fixed x/y typo that caused horizontal reference strip to be rendered only relative to height (#595)
235
+ * Fixed Firefox 35 not able to open local files (#588)
236
+ * Fixed an issue with zero size viewers in IE8 (#609)
237
+ * Fixed: Cross Origin policy not working (#613)
238
+ * Optimized tile loading by clearing the queue on a re-draw when imageLoaderLimit is set (#616)
239
+ * Now animating zoom spring exponentially (#631)
240
+ * Added http://editorconfig.org/ config file (#637)
241
+ * Keyboard pan speed is now the same regardless of zoom level (#645)
242
+
243
+ 1.2.1:
244
+
245
+ * Added preserveOverlays option (#561)
246
+ * Fixed: DZI tilesource was broken on IE8/IE9 (#563)
247
+ * Exposed secondary pointer button (middle, right, etc.) events from MouseTracker and through viewer (#479)
248
+ * MouseTracker - Improved IE 8 compatibility (#562)
249
+ * MouseTracker - Improved IE 9+ compatibility (#564)
250
+ * MouseTracker - Simulated touchenter/touchleave events now bubble to parent element MouseTrackers (#566)
251
+ * MouseTracker - Improved multitouch support in enter/exit event handlers (#566)
252
+ * MouseTracker - orphaned tracked touch pointers removed (fix for #539)
253
+ * MouseTracker - removed touchenter/touchleave event support since the events don't exist on any known platform and have been removed from the W3C specification (#566)
254
+ * Removed Viewer onContainerPress/onContainerRelease handlers (and the associated 'container-release' event ) that were never fired due to the canvas (child) element capturing the DOM events (#566)
255
+ * Added 'canvas-enter', 'canvas-exit', and 'canvas-press' events to Viewer (#566)
256
+ * ButtonGroup - removed obsolete MouseTracker event handlers (#566)
257
+ * MouseTracker - added keydown and keyup handlers (#568)
258
+ * Modifier keys ignored in keyboard navigation handlers (#503)
259
+ * Requesting keyboard focus when viewer is clicked (#537)
260
+ * Arrow key navigation fixed across platforms (#565)
261
+ * Removed textarea element from viewer DOM. Viewer.canvas now handles keyboard navigation (#569)
262
+ * Removed 'position' property from MouseTracker keyDownHandler/keyUpHandler/keyHandler functions (#573)
263
+ * Fixed pointer event model detection for IE 10 and IE 11 (#571)
264
+ * Added setMouseNavEnabled() support to Navigator (#572)
265
+ * MouseTracker now defaults to tracking on (#558)
266
+ * Removed Viewer focusHandler/onCanvasFocus (#577)
267
+ * Added tabIndex option to viewer (#577)
268
+
269
+ 1.2.0:
270
+
271
+ * New combined IIIF TileSource for 1.0 through 2.0 (#441)
272
+ * BREAKING CHANGE: Removed IIIF1_1TileSource (now that IIIFTileSource supports all versions)
273
+ * Allowed TileSources to have dynamic tileSize via source.getTileSize(level) (#441)
274
+ * DEPRECATION: Use .getTileSize(level) instead of .tileSize
275
+ * Fix for IIPServer-style urls when using DZI (#413)
276
+ * Fix memory leak while destroying the viewer (#421)
277
+ * Added fitBoundsWithConstraints() to the viewport (#423)
278
+ * Fixed MouseTracker cross-browser issues with tracking pointers over and out of the tracked element (pull request #448, fix for #152, #404, #420, and #427)
279
+ * Fixed incorrect flick direction after image is rotated (#452)
280
+ * Debug mode now works with rotate images (#453)
281
+ * Now supporting dzi xml with namespaces (#462)
282
+ * You can now rotate the navigator along with the main viewer (#455)
283
+ * Viewport.setRotation now allows all rotation angles (#466)
284
+ * Pinch rotate is now available (defaults to off) (#468)
285
+ * Added option for home button to fill viewer (#474)
286
+ * Better handling of mid-update image loaded callbacks (#409)
287
+ * Tracked pointers are now cleaned up when Viewer.setMouseNavEnabled(false) is called (#518)
288
+ * Added explicit pointer capture for touch event model touchstart events (#552)
289
+
290
+ 1.1.1:
291
+
292
+ * Fixed issue with dragging the navigator highlight on Webkit browsers (#395)
293
+ * Improved Viewer Options Support in Gesture Handling (#399)
294
+
295
+ 1.1.0:
296
+
297
+ * BREAKING CHANGE: the openseadragon-canvas element now has two child divs. This means: (#298)
298
+ * The drawer element is no longer accessible via viewer.canvas.firstChild but via viewer.drawersContainer.firstChild or viewer.drawer.canvas.
299
+ * The overlays elements are no longer accessible via viewer.canvas.childNodes but via viewer.overlaysContainer.childNodes or viewer.currentOverlays[i].element.
300
+ * BREAKING CHANGE: Pseudo full screen mode on IE<11 using activex has been dropped. OpenSeadragon will run in full page if full screen mode is requested.
301
+ * BREAKING CHANGE: MouseTracker touch pinch gestures are no longer converted to scroll events. MouseTracker.pinchHandler should be used instead. (#369)
302
+ * DEPRECATION: overlay functions have been moved from Drawer to Viewer (#331)
303
+ * DEPRECATION: OpenSeadragon.cancelFullScreen has been renamed OpenSeadragon.exitFullScreen (#358)
304
+ * DEPRECATION: The 'isTouchEvent' property passed in MouseTracker events is deprecated and has been replaced with 'pointerType', which is a String value "mouse", "touch", "pen", etc. to support multiple simultaneous pointing devices (#369)
305
+ * DEPRECATION: The 'buttonDownAny' property passed in MouseTracker enter and exit events (enterHandler/exitHandler) is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
306
+ * DEPRECATION: The 'buttonDownAny' property passed in Viewer's 'container-enter' and 'container-exit' events is deprecated and has been replaced with 'buttons', which indicates the button(s) currently pressed (#369)
307
+ * Added layers support. Multiple images can now been displayed on top of each other with transparency via the Viewer.addLayer method (#298)
308
+ * Improved overlay functions (#331)
309
+ * Fixed: Nav button highlight states aren't quite aligned on Firefox (#303)
310
+ * Added ControlAnchor options for default controls (#304)
311
+ * Enabled basic cross-domain tile loading without tainting canvas (works in Chrome and Firefox) (#308)
312
+ * Added crossOriginPolicy drawer configuration to enable or disable CORS image requests (#364)
313
+ * Disabled CORS by default (#377)
314
+ * Added a ControlAnchor.ABSOLUTE enumeration. Enables absolute positioning of control elements in the viewer (#310)
315
+ * Added a 'navigator-scroll' event to Navigator. Fired when mousewheel events occur in the navigator (#310)
316
+ * Added a navigatorMaintainSizeRatio option. If set to true, the navigator minimap resizes when the viewer element is resized (#310)
317
+ * Added 'ABSOLUTE' as a navigatorPosition option, along with corresponding navigatorTop, navigatorLeft options. Allows the navigator minimap to be placed anywhere in the viewer (#310)
318
+ * Enhanced the navigatorTop, navigatorLeft, navigatorHeight, and navigatorWidth options to allow a number for pixel units or a string for other element units (%, em, etc.) (#310)
319
+ * Additional enhancements for IIIF support (#315)
320
+ * Fixed: Setting degrees in Viewer constructor has no effect (#336)
321
+ * Added pre-draw event for tiles to allow applications to alter the image (#348)
322
+ * Added optional Rotate Left/Right buttons to standard controls (#341)
323
+ * Added optimization for large numbers of overlays: `checkResize = false` option for OpenSeadragon.Overlay (#365)
324
+ * Updated full screen API, adding support for Opera and IE11 and allowing keyboard input in Chrome (#358)
325
+ * Various fixes to bring OpenSeadragon into W3C compliance (#375)
326
+ * Added separate flags for turning off each of the nav buttons (#376)
327
+ * Added support for query parameters in DZI tileSource URL (#378)
328
+ * Enhanced MouseTracker for multi-touch (#369)
329
+ * Added support for tracking multiple touch-points on multiple/simultaneous pointing devices
330
+ * Added support for the W3C Pointer Events event model. Enables touch/multi-touch on IE10+
331
+ * Added a dragEndHandler event callback, called when a drag gesture ends
332
+ * Added a pinchHandler event callback, called as a pinch gesture (2 touch points) is occurring
333
+ * Added real-time velocity (speed and direction) tracking to drag operations. 'speed' and 'direction' values are passed in the dragHandler and dragEndHandler event data
334
+ * Enhanced Viewer for multi-touch (#369)
335
+ * Added pinch zoom with the new MouseTracker pinchHandler. The 'pan' and 'zoom' Viewer events can be used to detect changes resulting in pinch gestures
336
+ * Added a "canvas-pinch" event fired by the pinch event handler
337
+ * Added flick gesture with the new MouseTracker dragEndHandler
338
+ * Added a "canvas-drag-end" event fired by the drag-end event handler
339
+ * Added a GestureSettings class for per-device gesture options. Currently has settings to enable/disable zoom-on-scroll, zoom-on-pinch, zoom-on-click, and flick gesture settings.
340
+ * Added GestureSettings objects for mouse, touch, and pen devices to the Viewer options giving users the ability to customize gesture handling in the viewer
341
+ * Added velocity (speed and direction) properties to the "canvas-drag" event
342
+ * Added double-click gesture detection to MouseTracker with corresponding dblClickHandler event callback (#392)
343
+ * Added zoom on double-click feature to Viewer, with corresponding dblClickToZoom option added to the GestureSettings class (#392)
344
+ * Made it possible to run OpenSeadragon from local filesystem on some browsers (#379)
345
+
346
+ 1.0.0:
347
+
348
+ NOTE: This version has a number of breaking changes to the API, mostly in event handling. See below.
349
+
350
+ * BREAKING CHANGE: All EventSource and MouseTracker event handler method signatures changed to 'handlerMethod(event)' where event == { eventSource, userData, ... } (#251) (Also fixes #23, #224, #239)
351
+ * The new eventSource property in the event object replaces the old eventSource parameter that was passed to handler methods.
352
+ * Where the event object duplicated the eventSource value, those properties have been removed. This affects the following events:
353
+ * All Button events - 'button' property removed
354
+ * All Viewer (Viewer, Drawer, Viewport) events - 'viewer' property removed
355
+ * BREAKING CHANGE: Renamed EventHandler to EventSource (#225)
356
+ * BREAKING CHANGE: Event names changed for consistency: changed to lower case, compound names hyphenated, and "on" prefixes removed (#226):
357
+ * Viewer "animationstart" changed to "animation-start"
358
+ * Viewer "animationfinish" changed to "animation-finish"
359
+ * Button "onPress" changed to "press"
360
+ * Button "onRelease" changed to "release"
361
+ * Button "onClick" changed to "click"
362
+ * Button "onEnter" changed to "enter"
363
+ * Button "onExit" changed to "exit"
364
+ * Button "onFocus" changed to "focus"
365
+ * Button "onBlur" changed to "blur"
366
+ * BREAKING CHANGE: Numerous improvements to fullPage/fullScreen (#256):
367
+ * Retains zoom/pan position better when switching into and out of fullPage.
368
+ * Retains scroll position when switching back out.
369
+ * More resilient to styling variations on the page.
370
+ * setFullPage no longer automatically engages fullScreen; there's now a separate setFullScreen.
371
+ * 'fullpage' event is now 'full-page'.
372
+ * The `fullpage` property of the 'full-page' event is now `fullPage`.
373
+ * There is now a 'full-screen' event with a `fullScreen` property (true if it has gone to full screen).
374
+ * There are now 'pre-full-page' and 'pre-full-screen' events that include a `preventDefaultAction` property you can set in your handler to cancel. They also have `fullPage` and `fullScreen` properties respectively, to indicate if they are going into or out of the mode.
375
+ * BREAKING CHANGE: Removed the 'onPageChange' callback from the viewer options. Viewer.goToPage() now raises the 'page' event only (#285)
376
+ * Major documentation improvements (#281)
377
+ * MouseTracker now passes the original event objects to its handler methods (#23)
378
+ * MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215)
379
+ * Added stopHandler to MouseTracker. (#262)
380
+ * Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131)
381
+ * Fixed: Pinch zoom event issue, regressive issue from previous event system changes (#244)
382
+ * Added IIIF Image API 1.1 Tile Source (#230)
383
+ * IIIF 1.0 now uses pixel based syntax (#249)
384
+ * Fixed: Touch event issue where no canvas-click events were being raised (#240)
385
+ * Check that zoom reference point is valid before using it in zoomTo and zoomBy (#247)
386
+ * Added a number of easier coordinate conversion methods to viewport (#243)
387
+ * Added the ability to create a viewer and start at a specified page (#252)
388
+ * Fixed image resolve issue with collection mode (#255)
389
+ * DOM events are now passed through as 'event.originalEvent' in viewer and button events where appropriate. (#257) Affects the following events:
390
+ * Viewer: 'canvas-release', 'canvas-click', 'canvas-drag', 'canvas-scroll', 'container-enter', 'container-exit', 'container-release'
391
+ * Button: 'enter', 'exit', 'press', 'release', 'focus', 'blur', 'click'
392
+ * Fixed: IE 10 not reading DZI file correctly in certain circumstances (#218)
393
+ * Added support for the 'wheel' DOM mousewheel event (#261)
394
+ * Fix for non-canvas tile rendering at large size (#264)
395
+ * Drawer now uses an HTML5 canvas element whenever it's available. Can be overridden with the Viewer.useCanvas option (#191)
396
+ * Added a boolean preventDefaultAction property (default false) to the event object passed to MouseTracker handler methods. (#270) Implemented in the following MouseTracker subscribers:
397
+ * Viewer.keyboardCommandArea.innerTracker.focusHandler: preventDefaultAction == true prevents scrolling viewer into view
398
+ * Viewer.keyboardCommandArea.innerTracker.keyHandler: preventDefaultAction == true prevents viewer keyboard navigation
399
+ * Viewer.innerTracker.clickHandler: preventDefaultAction == true prevents viewer zoom on click
400
+ * Viewer.innerTracker.dragHandler: preventDefaultAction == true prevents viewer panning with mouse/touch
401
+ * Viewer.innerTracker.scrollHandler: preventDefaultAction == true prevents viewer zooming on mousewheel/pinch
402
+ * Fixed: IE8 error with custom buttons - "Object doesn't support this action" (#279)
403
+ * Support IIIF servers that don't report tile dimensions (#286)
404
+ * Added an autoResize option. Default is true. When set to false, the viewer takes no action when its container element is resized. (#291)
405
+ * Added a static 'version' property to OpenSeadragon. Useful for plugins that require specific OpenSeadragon versions. (#292)
406
+
407
+ 0.9.131:
408
+
409
+ * Fixed: canvas-click event shouldn't fire as you drag (#198)
410
+ * Fixed: LegacyTileSource doesn't fail gracefully when no supported file formats are found (#202)
411
+ * Added an optional userData argument to EventHandler.addHandler() which is passed unchanged to the handler method (#203)
412
+ * Fixed AJAX error reporting on IE8 (#208)
413
+ * Added viewportToImageRectangle method, and updated imageToViewportRectangle, imageToViewportCoordinates, and viewportToImageCoordinates to be more flexible with params (#212)
414
+ * Fixed: Viewer is not responsive (css) after returning from full screen (#222)
415
+
416
+ 0.9.130:
417
+
418
+ * Added partial support for rotation (just 90 degree increments for now). (#185)
419
+ * Hiding and restoring broke the viewer; fixed (#177)
420
+ * You can now provide an onDraw function for overlays to do custom overlay manipulation (#160)
421
+ * Added a destroy function on the viewer to clean up and remove elements (#179)
422
+ * Fixed: navigatorPosition option corrected. (#163)
423
+ * OpenSeadragon.now() returned undefined the first time; fixed
424
+ * onTouchEnd did not call the correct mouse up handler; fixed (#159)
425
+ * Touch events no longer capture mouse (was causing issues on devices that support both) (#168)
426
+ * Clicking on a button control no longer refreshes page (#184)
427
+ * Drawer now works when the page is rtl (#187)
428
+ * Fixed a situation that could throw errors in touch handling (#188)
429
+
430
+ 0.9.129:
431
+
432
+ * Fixed: navigator image not updating when base zoom image is changed (#147)
433
+ * Fixed tile rendering issue at lower zoom levels with the IIIF TileSource (#55)
434
+ * On IE, ajax errors would cause an exception to be thrown; fixed (#144)
435
+ * Faster and more consistent millisecond getter (#138)
436
+ * Fixed an error when using navPrevNextWrap on single images (#135)
437
+ * Various fixes to our timer handling (#133)
438
+ * Now generating source map for openseadragon.min.js (#51)
439
+ * Fix for calculating overlay width / height (#142)
440
+ * JSHint tidying (#136)
441
+ * Improved Ajax method (#149)
442
+ * Overhauled AJAX error reporting (#151)
443
+
444
+ 0.9.128:
445
+
446
+ * The navigator is now off by default (#102)
447
+ * Reverted minPixelRatio to 0.5 for better quality (#116)
448
+ * Sometimes tiles wouldn't resolve if you used the blendTime option; fixed. (#95)
449
+ * You can now choose to have previous and next buttons wrap using the config.navPrevNextWrap. (#114)
450
+ * You can now specify an ID for a div to hold the navigator (#46)
451
+ * You can now click in the navigator to go to a new location (#46)
452
+ * Keyboard handling is now done in the viewer rather than navigator (#46)
453
+ * Additional navigator fixes (#46)
454
+ * Drawer events now fire properly (#94)
455
+ * Fixed an error in EventHandler.removeHandler() (#48)
456
+ * Better requestAnimationFrame detection on older Firefox (#103)
457
+ * More efficient navigator loading (#115)
458
+ * Simplified element opacity setting implementation (#123)
459
+
460
+ 0.9.127:
461
+
462
+ * Fixed a problem with getString when the string property is a sub-property. (#64)
463
+ * Fixed: Tooltips for Navigation Controls not displaying (#63)
464
+ * Cleaned up some diagnostic code that was broken.
465
+ * Added fullpage class to viewer element when in fullpage mode (#61)
466
+ * Reverted to original New BSD license; cleaned up license declarations (#89)
467
+
468
+ 0.9.126:
469
+
470
+ * DZI JSONp was broken; fixed.
471
+
472
+ 0.9.125:
473
+
474
+ * Fully deprecated OpenSeadragon.createFromDZI, safely deprecated Viewer.openTileSource and
475
+ Viewer.openDZI to use Viewer.open internally. (#53 & #54).
476
+ * Full page bug fix for when viewer is child of document body (#43).
477
+ * Overlays for DZI bug fix (#45).
478
+ * DziTileSource: avoid changing relative paths (#56).
479
+ * Fix typo in preserveViewport handling (#77).
480
+ * Fix updateMulti timer leak after multiple Viewer.open() calls (#76).
481
+ * Minor documentation fixes.
482
+
483
+ 0.9.124:
484
+
485
+ * Performance enhancements.
486
+
487
+
488
+ 0.9.123:
489
+
490
+ * Real fullscreen support.
491
+
492
+
493
+ 0.9.122:
494
+
495
+ * Performance enhancements.
496
+
497
+
498
+ 0.9.121:
499
+
500
+ * Touch pan now works on Android.
501
+ * Pinch zoom is better on all devices.
@@ -0,0 +1,17 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
3
+
4
+ # Custom for Visual Studio
5
+ *.cs diff=csharp
6
+
7
+ # Standard to msysgit
8
+ *.doc diff=astextplain
9
+ *.DOC diff=astextplain
10
+ *.docx diff=astextplain
11
+ *.DOCX diff=astextplain
12
+ *.dot diff=astextplain
13
+ *.DOT diff=astextplain
14
+ *.pdf diff=astextplain
15
+ *.PDF diff=astextplain
16
+ *.rtf diff=astextplain
17
+ *.RTF diff=astextplain
@@ -0,0 +1,116 @@
1
+ CC0 1.0 Universal
2
+
3
+ Statement of Purpose
4
+
5
+ The laws of most jurisdictions throughout the world automatically confer
6
+ exclusive Copyright and Related Rights (defined below) upon the creator and
7
+ subsequent owner(s) (each and all, an "owner") of an original work of
8
+ authorship and/or a database (each, a "Work").
9
+
10
+ Certain owners wish to permanently relinquish those rights to a Work for the
11
+ purpose of contributing to a commons of creative, cultural and scientific
12
+ works ("Commons") that the public can reliably and without fear of later
13
+ claims of infringement build upon, modify, incorporate in other works, reuse
14
+ and redistribute as freely as possible in any form whatsoever and for any
15
+ purposes, including without limitation commercial purposes. These owners may
16
+ contribute to the Commons to promote the ideal of a free culture and the
17
+ further production of creative, cultural and scientific works, or to gain
18
+ reputation or greater distribution for their Work in part through the use and
19
+ efforts of others.
20
+
21
+ For these and/or other purposes and motivations, and without any expectation
22
+ of additional consideration or compensation, the person associating CC0 with a
23
+ Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
24
+ and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
25
+ and publicly distribute the Work under its terms, with knowledge of his or her
26
+ Copyright and Related Rights in the Work and the meaning and intended legal
27
+ effect of CC0 on those rights.
28
+
29
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
30
+ protected by copyright and related or neighboring rights ("Copyright and
31
+ Related Rights"). Copyright and Related Rights include, but are not limited
32
+ to, the following:
33
+
34
+ i. the right to reproduce, adapt, distribute, perform, display, communicate,
35
+ and translate a Work;
36
+
37
+ ii. moral rights retained by the original author(s) and/or performer(s);
38
+
39
+ iii. publicity and privacy rights pertaining to a person's image or likeness
40
+ depicted in a Work;
41
+
42
+ iv. rights protecting against unfair competition in regards to a Work,
43
+ subject to the limitations in paragraph 4(a), below;
44
+
45
+ v. rights protecting the extraction, dissemination, use and reuse of data in
46
+ a Work;
47
+
48
+ vi. database rights (such as those arising under Directive 96/9/EC of the
49
+ European Parliament and of the Council of 11 March 1996 on the legal
50
+ protection of databases, and under any national implementation thereof,
51
+ including any amended or successor version of such directive); and
52
+
53
+ vii. other similar, equivalent or corresponding rights throughout the world
54
+ based on applicable law or treaty, and any national implementations thereof.
55
+
56
+ 2. Waiver. To the greatest extent permitted by, but not in contravention of,
57
+ applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
58
+ unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
59
+ and Related Rights and associated claims and causes of action, whether now
60
+ known or unknown (including existing as well as future claims and causes of
61
+ action), in the Work (i) in all territories worldwide, (ii) for the maximum
62
+ duration provided by applicable law or treaty (including future time
63
+ extensions), (iii) in any current or future medium and for any number of
64
+ copies, and (iv) for any purpose whatsoever, including without limitation
65
+ commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
66
+ the Waiver for the benefit of each member of the public at large and to the
67
+ detriment of Affirmer's heirs and successors, fully intending that such Waiver
68
+ shall not be subject to revocation, rescission, cancellation, termination, or
69
+ any other legal or equitable action to disrupt the quiet enjoyment of the Work
70
+ by the public as contemplated by Affirmer's express Statement of Purpose.
71
+
72
+ 3. Public License Fallback. Should any part of the Waiver for any reason be
73
+ judged legally invalid or ineffective under applicable law, then the Waiver
74
+ shall be preserved to the maximum extent permitted taking into account
75
+ Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
76
+ is so judged Affirmer hereby grants to each affected person a royalty-free,
77
+ non transferable, non sublicensable, non exclusive, irrevocable and
78
+ unconditional license to exercise Affirmer's Copyright and Related Rights in
79
+ the Work (i) in all territories worldwide, (ii) for the maximum duration
80
+ provided by applicable law or treaty (including future time extensions), (iii)
81
+ in any current or future medium and for any number of copies, and (iv) for any
82
+ purpose whatsoever, including without limitation commercial, advertising or
83
+ promotional purposes (the "License"). The License shall be deemed effective as
84
+ of the date CC0 was applied by Affirmer to the Work. Should any part of the
85
+ License for any reason be judged legally invalid or ineffective under
86
+ applicable law, such partial invalidity or ineffectiveness shall not
87
+ invalidate the remainder of the License, and in such case Affirmer hereby
88
+ affirms that he or she will not (i) exercise any of his or her remaining
89
+ Copyright and Related Rights in the Work or (ii) assert any associated claims
90
+ and causes of action with respect to the Work, in either case contrary to
91
+ Affirmer's express Statement of Purpose.
92
+
93
+ 4. Limitations and Disclaimers.
94
+
95
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
96
+ surrendered, licensed or otherwise affected by this document.
97
+
98
+ b. Affirmer offers the Work as-is and makes no representations or warranties
99
+ of any kind concerning the Work, express, implied, statutory or otherwise,
100
+ including without limitation warranties of title, merchantability, fitness
101
+ for a particular purpose, non infringement, or the absence of latent or
102
+ other defects, accuracy, or the present or absence of errors, whether or not
103
+ discoverable, all to the greatest extent permissible under applicable law.
104
+
105
+ c. Affirmer disclaims responsibility for clearing rights of other persons
106
+ that may apply to the Work or any use thereof, including without limitation
107
+ any person's Copyright and Related Rights in the Work. Further, Affirmer
108
+ disclaims responsibility for obtaining any necessary consents, permissions
109
+ or other rights required for any use of the Work.
110
+
111
+ d. Affirmer understands and acknowledges that Creative Commons is not a
112
+ party to this document and has no duty or obligation with respect to this
113
+ CC0 or use of the Work.
114
+
115
+ For more information, please see
116
+ <http://creativecommons.org/publicdomain/zero/1.0/>