Commit Graph

536 Commits

Author SHA1 Message Date
Chris Adams
0ed4703bd3 Viewport messages: add a class to the dialog for easy styling 2013-07-01 18:26:44 -04:00
Chris Adams
1ab6094420 Viewer: make viewport messages private, repeatable
* Marked _showMessage/_hideMessage as private
* Fix DOM manipulation bug: call standard removeNode() method rather
  than proprietary WebKit .remove()
* Change messageDiv to be the outer wrapper to simplify removing the
  entire message container
2013-07-01 13:43:48 -04:00
Chris Adams
b912896158 Viewer.showMessage() hides any previous message 2013-07-01 12:58:22 -04:00
Chris Adams
9de45ba281 Refactor OpenSeadragon.makeCenteredNode
* Use CSS display tables for vertical centering (tested back to IE8)
* Use the DOM instead of string concatenation
* Remove redundant styles ($.makeNeutralElement sets the same values
  for margin, padding & border)
* Return the outer wrapper element to ease DOM addition & removal
2013-06-28 15:52:48 -04:00
Chris Adams
1f345e4cc5 Viewer: refactor message code into showMessage/hideMessage methods
This avoids the need to deal with classes, and explicitly makes it
reusable for other needs
2013-06-28 15:46:31 -04:00
Chris Adams
7f42dfc032 code style 2013-06-28 15:01:56 -04:00
Chris Adams
fb7c91acd2 code style 2013-06-28 14:54:44 -04:00
Chris Adams
7dcf662fdd Viewer: add a basic error message display system
This might be something we want to make configurable for users who want
to completely control how errors are displayed.

This also adds the first use of OpenSeadragon.makeCenteredNode currently
so we might want to clean up that code as well.
2013-06-28 14:32:57 -04:00
Chris Adams
2bf6b13bfe User-visible warning when tile sources fail to load
This is currently using window.alert in lieu of something more sophisticated but it works for indicating 404s or invalid file
contents
2013-06-28 14:11:20 -04:00
Chris Adams
494bf7fe41 strings: add logging for untranslated source messages
This should probably be changed to be closer to the goal of being
like gettext but we can at least tell developers when we clobber the
string
2013-06-28 14:11:19 -04:00
Chris Adams
464428cef7 makeAjaxRequest: don't set request to null
Setting onreadystatechange can avoid the possibility of it somehow being
called twice but there's no point in nulling the request right before we
let the GC collect it.
2013-06-28 14:00:02 -04:00
Chris Adams
db38b71dd9 makeAjaxRequest: throw error for missing callback 2013-06-27 16:03:43 -04:00
Chris Adams
1c6a57c710 makeAjaxRequest: log all errors, test callback
* All AJAX errors will log to the console
* The onError callback will only be called if defined
2013-06-27 16:03:41 -04:00
Chris Adams
5eccdfee98 Better match project style 2013-06-27 15:58:09 -04:00
Chris Adams
496b7d757b Simplify OpenSeadragon.makeAjaxRequest
* Since async is always true – and browsers are starting to deprecate
  synchronous XHR – we were able to prune considerable amount of code
* Add an error callback to match the existing success callback
2013-06-27 15:58:09 -04:00
iangilman
8fe0ce26b8 Merge pull request #136 from acdha/jshint-cleanup
JSHint tidying
2013-06-26 09:37:08 -07:00
iangilman
f4139cef38 Merge pull request #144 from acdha/143-xhr-error-handling
Safe cleanup in makeAjaxRequest error handler
2013-06-26 09:23:04 -07:00
Ian Gilman
3f1072b321 Fixed typos in comments 2013-06-26 09:15:37 -07:00
Chris Adams
c648c1df8a drawer: don't leak drawLevel into global namespace
This code is still under-tested and documented but no longer relies on
`drawLevel` being leaked into the global namespace where `updateLevel`
to find it.

See #145
2013-06-25 14:26:09 -04:00
Chris Adams
f2cba16a8b Safe cleanup in makeAjaxRequest error handler
Previously `request.onreadystatechange` was assigned an empty function
on success but null on failures, which breaks in IE (see
http://jsbin.com/ezozax/6/).

This patch simply mimics the success behaviour in the cleanup function

Closes #143
2013-06-25 14:13:45 -04:00
Benjamin 'blindCoder' Schieder
0150622e78 fix error when recalculating overlay width and height 2013-06-25 18:01:38 +02:00
Chris Adams
c2107fcb22 Declare _processDZIError directly on OpenSeadragon 2013-06-21 16:37:31 -04:00
Kevin Ewing
8896c2278d Fixed mistake 2013-06-20 13:31:04 -07:00
Kevin Ewing
2ba3acda38 Removed extra parens 2013-06-20 13:23:16 -07:00
Kevin Ewing
248852c15f Implementing OpenSeadragon.now()
Replacing both `+new Date()` and `new Date().getTime()` with `$.now()`
2013-06-20 13:15:04 -07:00
Chris Adams
9ef6e085c8 viewer.js: update onfullscreenchange handler comment 2013-06-20 15:17:48 -04:00
Chris Adams
de29a34890 viewer.js: remove dead code 2013-06-20 15:12:55 -04:00
Chris Adams
adc4147304 Expose semi-private processDZIError for use by DziTileSource
This previously wasn't in scope outside of the main OpenSeadragon
closure. Now it's exposed with an underscore prefix to encourage people
not to think of it as a public interface.
2013-06-20 15:12:54 -04:00
Chris Adams
51bb8ca46e openseadragon.js: fix imageFormatSupported refs 2013-06-20 15:12:54 -04:00
Chris Adams
169244ed1a navigator.js: omit unused borderWidth from func args 2013-06-20 15:12:54 -04:00
Chris Adams
0d09183159 referencestrip.js: move variable declaration to the top of loadPanels 2013-06-20 15:12:54 -04:00
Chris Adams
eafc822aa8 openseadragon.js: remove unused builtin aliases 2013-06-20 15:12:54 -04:00
Chris Adams
8c433ba81c Declare assumed globals 2013-06-20 15:12:54 -04:00
Chris Adams
e2bea810e3 Replace gnarly ternary expression with if statement 2013-06-20 15:12:53 -04:00
Chris Adams
64d94ac2bd referencestrip.js: declare undeclared variable 2013-06-20 15:12:53 -04:00
Chris Adams
f8c77f65d7 viewer.js: fix typos in variable declarations 2013-06-20 15:12:53 -04:00
Chris Adams
d644acd50b Fix lack of braces on if statements
JavaScript's most popular rack in the grass for maintenance coders…
2013-06-20 15:12:53 -04:00
Chris Adams
643ee211ca Remove unused variables
Mostly unused function arguments but there were also a fair number
of legacy names which are now no longer used.

One question which comes up – mostly in tilesource.js – is whether
there is any value in leaving unused variables for functions which
are intended to be overridden anyway. I'm inclined to say that the
docs + tests need to be sufficient as there's no enforcement that
whatever is in the base implementation will actually be followed by
any of the real functions.
2013-06-20 15:12:53 -04:00
iangilman
6e9a300d1a Merge pull request #133 from iangilman/raf
Improved requestAnimationFrame polyfill; fixed timer leaks; added tests
2013-06-20 09:52:10 -07:00
Kevin Ewing
0984106983 Added missing semicolon 2013-06-20 09:08:21 -07:00
Kevin Ewing
2f8a26fda0 Responding to feedback
Function now re-assigns itself on the first go round to avoid doing the
check every time it is called
2013-06-19 15:13:56 -07:00
Ian Gilman
e0282a3c86 Stripped whitespace 2013-06-19 13:33:01 -07:00
Kevin Ewing
ebffea5a34 Merge branch 'master' into now 2013-06-19 11:23:42 -07:00
Ian Gilman
8e88f36098 Merge branch 'master' into raf
Fixed Conflicts:
	src/viewer.js
2013-06-19 11:19:54 -07:00
Kevin Ewing
e8408c1313 Moved to better location 2013-06-19 11:16:45 -07:00
Kevin Ewing
6a3b7cfb2f Added OpenSeadragon.now() 2013-06-19 10:57:09 -07:00
Chris Adams
9f6f164d9f Remove all whitespace
The results of running this command::

    find . -name \*.js -print0 | xargs -0 perl -p -i -e "s|[ \t]+$||"

(Split from #136)
2013-06-19 13:33:27 -04:00
Ian Gilman
beadcdcc89 Merge branch 'master' into raf 2013-06-19 10:15:53 -07:00
iangilman
c14467afa4 Merge pull request #135 from robhobbes/master
Only disable the previous button if the navPrevNextWrap option is not set
2013-06-19 10:12:38 -07:00
Ian Gilman
4022206261 Removed the parens around new Date call, for consistency 2013-06-19 10:03:44 -07:00
Ian Gilman
2e48239056 Addressing code review comments 2013-06-19 09:58:22 -07:00
Ian Gilman
dbc8a59ae8 Cleaned out dead code in scheduleUpdate and updateMulti
… as pointed out by @ventero
2013-06-19 09:58:09 -07:00
Robert Hickman
ade93ffc5e Only disable the previous button if the navPrevNextWrap option is not set. 2013-06-18 15:19:09 -06:00
Ian Gilman
713fad4224 Exposing _updateRequestId as a semi-private member for testing purposes 2013-06-18 11:06:43 -07:00
Ian Gilman
e99c126a85 Navigator now updates properly when reopening a viewer
Before, if you closed a viewer and then opened a new tilesource into
it, the navigator would still have the old tilesource. This patch fixes
that.
2013-06-17 11:51:02 -07:00
Ian Gilman
c6a38dd802 Now closing the navigator when the viewer closes
At the very least this was causing the navigator to continue to request
and process frames even after its viewer had been closed.
2013-06-17 11:31:41 -07:00
Ian Gilman
4224960252 Fixed another potential timer leak when closing a viewer
If the viewer was closed in response to an event raised during the
update function, the timer would have continued running.
2013-06-17 11:30:31 -07:00
Ian Gilman
0112f6a4ea Improved requestAnimationFrame polyfill
Processes all outstanding frame requests per frame, rather than one at
a time.
2013-06-17 11:28:42 -07:00
Ventero
0093153e4e Simplify setting element opacity.
This simplifies setElementOpacity by removing support for the
obsolete, IE-only element.filters property. Also removes a variable
that previously leaked into the global scope.
2013-06-13 19:09:47 +02:00
Ian Gilman
300167bcf1 Merge branch 'master' into ratio 2013-06-13 09:41:01 -07:00
iangilman
f412d07237 Merge pull request #121 from houseofyin/issue37-navigator
Issue37 navigator / Issue101 navigator follow-up / Issue102 navigator default
2013-06-13 09:39:27 -07:00
houseofyin
e9587808ec Tweaked how the deprecated API element has handled 2013-06-11 14:35:45 -04:00
houseofyin
8a3ec97596 Implemented and documented fallback behavior 2013-06-07 10:24:12 -04:00
Ventero
a18f0e0efb Improve performance of Tile#drawHTML.
By specifying the tile size in absolute pixel values instead of
percentages, we can save the call to $.getElementSize.
2013-06-03 20:09:42 +02:00
houseofyin
7a8ebd7d4c More reasonable handling of the navigator when interacting outside the bounds of the display region 2013-06-02 22:32:29 -04:00
houseofyin
dc7bc6920c Updating the documentation 2013-06-01 16:09:04 -04:00
houseofyin
3e24be12e0 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator 2013-06-01 14:12:04 -04:00
houseofyin
e36f7ed414 Trying to remove the selector element 2013-06-01 14:11:56 -04:00
Ian Gilman
83060156a6 Merge branch 'master' into ratio 2013-05-31 09:18:25 -07:00
Ian Gilman
9c60b28ec3 Merge branch 'master' of github.com:robhobbes/openseadragon into robhobbes-master
Fixed Conflicts:
	changelog.txt
2013-05-31 09:01:14 -07:00
Robert Hickman
699a5dd101 Adding documentation about navPrevNextWrap. 2013-05-30 12:46:54 -06:00
Ian Gilman
b34f460fb0 Reverting minPixelRatio to 0.5 for better quality 2013-05-30 10:07:34 -07:00
iangilman
b754ea834f Merge pull request #112 from openseadragon/blur
Fixed blendTile()-related blurriness issue (for #95)
2013-05-30 09:24:30 -07:00
Ventero
b66dd7bed0 Don't load the tile source again when creating a navigator.
Previously, when showNavigator was set to true when creating the
viewer, the navigator would unnecessarily load and parse the tile
source, even though a fully parsed object already exists.
2013-05-30 02:53:53 +02:00
Robert Hickman
b5d977d593 Adding an option that allows the previous and next buttons to wrap around past the end or beginning images. 2013-05-29 17:10:45 -06:00
Ian Gilman
1d51b72785 Fixed blendTile()-related blurriness issue
We were setting drawer.updateAgain to the result of each blendTile(),
which meant it was keeping only the last result. Instead we should have
been only setting it to true if blendTile returned true, but never
setting it to false. Fixed.
2013-05-29 11:18:25 -07:00
David Steinbrunner
91da6af392 domn to down typo fixes 2013-05-28 17:34:20 -04:00
Ian Gilman
b7eb78a57a Additional doc comments for setControlsEnabled() 2013-05-28 13:54:13 -07:00
David Steinbrunner
7330b4a726 Correction to setControlsEnabled function name in comments 2013-05-28 17:36:09 -03:00
houseofyin
6385b0a296 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator 2013-05-26 21:17:01 -04:00
houseofyin
f632d98730 Working on follow-up on the initial pull request. Changing the default navigator display property, and starting work on the docs 2013-05-26 21:16:56 -04:00
Ian Gilman
8e37633c49 Whitespace nits 2013-05-24 09:17:26 -07:00
Ian Gilman
8f53c564da Our requestAnimationFrame no longer changes the global window object 2013-05-23 09:48:38 -07:00
Chris Adams
568d6a1c6b Paranoid requestAnimationFrame for antique Firefox
Very old versions of Firefox - e.g. Firefox 7 - have
window.requestAnimationFrame but not cancelAnimationFrame. This is a
very old release so the easiest fix is simply to check for both of the
functions which we intend to call and fall back on traditional behaviour
if both aren't present.
2013-05-23 10:17:41 -04:00
Ian Gilman
c3772df011 Now trying standard path first in createAjaxRequest
As suggested by @cskwg in #98
2013-05-21 10:39:10 -07:00
Ian Gilman
674c0a069d Fixed typos in comments 2013-05-20 09:40:17 -07:00
iangilman
da86ca2e38 Merge pull request #46 from houseofyin/issue37-navigator
Issue37 navigator
2013-05-20 09:38:49 -07:00
houseofyin
bb4a8a0b4f Bringing back in sync with the latest baseline 2013-05-17 22:29:08 -04:00
Benjamin Gilbert
fa1a8b2dde Fix Drawer event emission
Drawer tries to emit events on the parent Viewer object but doesn't have
a reference to it.  Add a reference when constructing the Drawer.
2013-05-16 02:49:29 -04:00
Ian Gilman
c78f3ef743 Fixed mislabeled JSDoc comment for OpenSeadragon.Viewer.prototype.open 2013-05-14 10:29:15 -07:00
Ian Gilman
2566b2f5cf Separated file JSDoc comment from root object JSDoc comment; fixes doc building 2013-05-14 10:28:44 -07:00
iangilman
0b366d7b42 Merge pull request #89 from bgilbert/license
Revert to original New BSD license; clean up license declarations
2013-05-14 09:15:00 -07:00
Benjamin Gilbert
665ecd6655 Document New BSD license on @jpstroop's IIIF code 2013-05-14 00:20:35 -04:00
Benjamin Gilbert
fcc119bb84 Add file-specific descriptions to file headers 2013-05-14 00:00:24 -04:00
Benjamin Gilbert
7939fa7c4d Replace GitHub issue numbers with full URLs 2013-05-13 23:39:27 -04:00
Benjamin Gilbert
17a6ee15b1 Include 2010 in "OpenSeadragon contributors" copyright dates
This Git repository starts in 2011, but the CodePlex Mercurial repository
has commits from 2010.
2013-05-13 23:32:09 -04:00
Benjamin Gilbert
99d6ff80b6 Add fullpage class to viewer element when in fullpage mode
Closes #61.
2013-05-12 23:02:18 -04:00
Benjamin Gilbert
522bcbf058 Add addClass()/removeClass() utility functions 2013-05-12 22:53:41 -04:00
Benjamin Gilbert
56f5000d90 Document MIT license on John Dyer's fullscreen code
See #81.
2013-05-12 21:33:55 -04:00
Benjamin Gilbert
d80d928d80 Document New BSD license on seajax-utils OSM/TMS code
@rsimon has given permission in #58 for the OSM/TMS code that originated
in seajax-utils to be released under the New BSD license.
2013-05-12 18:07:20 -04:00
Benjamin Gilbert
2f2eba8df2 Add "OpenSeadragon contributors" copyright statement
The license text will be provided on the website, etc., and it seems
strange to list no copyright date newer than the original CodePlex
copyright from the AJAX Control Toolkit.  Add a blanket copyright
statement for contributions to the OpenSeadragon project, stating that
copyright is held by the authors of each contribution.  This blanket
statement is not intended to preclude individual contributors from
attaching their own copyright statements to their modifications.
2013-05-12 17:12:26 -04:00
Ian Gilman
199c2f6c2d Merge branch 'master' of github.com:openseadragon/openseadragon
Fixed Conflicts:
	test/test.html
2013-05-10 11:59:09 -07:00
Ian Gilman
c6f8b5e192 Fixed broken viewer.raiseEvent calls in drawer.js 2013-05-10 11:32:22 -07:00
Heath Nielson
eb14eae428 Merge remote branch 'upstream/master' into getString-error
Conflicts:
	test/test.html
2013-05-10 11:54:45 -06:00
Benjamin Gilbert
52badbef36 Add MIT license blocks to src/openseadragon.js
for code taken from jQuery and from mattsnider.com.

Ideally we'd keep the MIT-licensed helper code in a separate file,
but it proved difficult to extricate from the rest of openseadragon.js.

Also remove comment about plagiarism.  It's not plagiarism if it's
attributed and properly licensed.
2013-05-10 00:57:49 -04:00
Benjamin Gilbert
a7c96c56ef Drop MIT license; move BSD license to root directory
All OpenSeadragon contributors have granted their permission for this
relicensing in #58.

Drop copyright statements for Ian Gilman and Christopher Thatcher as
they requested in #10.

Revert CodePlex Foundation copyright date to 2009 pursuant to discussion
in #10.
2013-05-10 00:16:55 -04:00
Benjamin Gilbert
be20645876 Add BSD license block and CodePlex copyright to each source file
See discussion in #10.
2013-05-10 00:16:55 -04:00
Ian Gilman
8ded889af4 DZI JSONp was broken; fixed
Also added support for DZI files with .xml extension
2013-05-09 11:02:25 -07:00
Ian Gilman
bd0b0972b3 Fixed bad class names in docs 2013-05-02 09:57:23 -07:00
Ian Gilman
1c6deafe8b Added viewport property to Viewer documentation 2013-05-02 09:57:03 -07:00
Benjamin Gilbert
3652c7066c Re-add viewer.source check in updateMulti()
It should be redundant in normal operation, but may prevent a timer leak
in case of a bug in the open/close path.
2013-04-29 13:17:37 -04:00
Benjamin Gilbert
8cb2714dae Fix timer leak after multiple Viewer.open() calls, take 2
Track the request ID of the outstanding animation frame and cancel it
on Viewer.close().

Fixes #76.
2013-04-26 22:32:51 -04:00
Benjamin Gilbert
23c20e3d5a Revert "Fix timer leak after multiple Viewer.open() calls"
This should be done with cancelAnimationFrame() instead.

This reverts commit 47aba60940.
2013-04-26 21:48:48 -04:00
Heath Nielson
d16eb04a8a Fix setStrings() with the same fix as getStrings(). Initialize container to
I18N.
2013-04-26 15:18:27 -06:00
Benjamin Gilbert
47aba60940 Fix timer leak after multiple Viewer.open() calls
Keep a counter of Viewer.close() calls in private state and a copy in
the timer's closure, and stop the timer when they no longer match.

Fixes #76.
2013-04-25 00:37:36 -04:00
Benjamin Gilbert
9eb19d6c9c Garbage-collect strings 2013-04-25 00:23:02 -04:00
Benjamin Gilbert
b315b148c2 Drop remains of code to show "Loading..." message
It calls a method that no longer exists, but only when an impossible
condition is true.
2013-04-24 23:57:35 -04:00
Benjamin Gilbert
f958e66f05 Fix typo in preserveViewport handling 2013-04-23 23:58:58 -04:00
houseofyin
bbf0fc4302 Updated to address feedbac from @iangilman 2013-04-04 22:30:59 -04:00
Heath Nielson
530e445756 Fix a problem with getString when the string property is a sub-property. 2013-04-03 12:33:47 -06:00
houseofyin
ccf8934d0d Backout unneeded change in mousetracker.js 2013-04-03 13:42:16 -04:00
houseofyin
4c126dd39a Trying again to backout button.js changes 2013-04-03 13:36:55 -04:00
houseofyin
b352fe711b Trying again to backout button.js changes 2013-04-03 13:33:39 -04:00
houseofyin
df3344f67c Getting into alignment with code style guidelines 2013-04-03 11:51:24 -04:00
houseofyin
b3d358fa35 First pass at bringing the code in compliance with the project code standards 2013-04-02 21:07:10 -04:00
houseofyin
569a816df4 Backing out an event handler change 2013-04-02 21:06:07 -04:00
houseofyin
cfd5e67462 Backing out an event handler change 2013-04-02 18:40:28 -04:00
houseofyin
5bf4b51925 Checkpoint. Anchoring click to middle of view. Adding call to apply to constraints on viewer after the click, and additional testing 2013-04-01 22:33:58 -04:00
Chris Adams
2345f9b217 DziTileSource: avoid changing relative paths
For cases where DZI files aren't explicitly configured with a tilesUrl,
the logic for generating a URL from the DZI source URL would inject an
extra leading `/` which would either cause an unnecessary redirect or
break depending on whether the webserver in use attempts to normalize
`//` to `/`.

This change also removes some URL processing logic which duplicates the
browser's default behaviour
2013-03-26 16:11:27 -04:00
thatcher
9aecfddcbf refs #54 - added missing support for tilesource configuration as xml string or json string via Viewer.open 2013-03-26 14:35:43 -04:00
thatcher
86f101f02c refs #54 - pointing deprecated method at correct current method. 2013-03-26 09:25:56 -04:00
thatcher
266f33094c addresses #54, dont use openDZI, use open. openDZI now calls open. all the details of tileHost were already handled in DZITileSource.configure. $.createFromDZI is fully deprecated and will throw an error. 2013-03-26 09:02:34 -04:00
houseofyin
8db1a15282 A little cleanup of the border issue 2013-03-23 23:06:34 -04:00
houseofyin
450760d3b7 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator
Conflicts:
	test/test.html
2013-03-23 21:44:22 -04:00
houseofyin
a7cec524eb Tweaked the border handling a bit 2013-03-23 21:11:30 -04:00
houseofyin
325bae2b6f Checking in a fix for issue 48 2013-03-21 13:54:39 -04:00
houseofyin
7187bca4e7 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator 2013-03-18 14:38:10 -04:00
houseofyin
80ff8f908a Another checkpoint, added keyboard navigation to the main viewer 2013-03-16 16:35:33 -04:00
houseofyin
3e2b337a52 Another checkpoint 2013-03-15 22:29:27 -04:00
houseofyin
3b2bde2940 Initial pass at making the navigator float 2013-03-15 10:59:47 -04:00
thatcher
0297a20aee merged conflict 2013-03-14 09:08:27 -04:00
thatcher
10f60c88cb minImageRatio should never be set below 1 unless you want to load the Nth level tiles to level N-M, which effectively throttles network requests and draw animations but does not produce a better picture 2013-03-14 08:12:01 -04:00
thatcher
0b75a2f259 tweaking default setting to find optimal performance point while preserving responsivness 2013-03-14 07:22:27 -04:00
thatcher
f0c7870f4e cleaning up new setting as applied to collections 2013-03-14 07:22:26 -04:00
thatcher
b9741daaaf removing debug console log statement per ventero's review notes 2013-03-14 07:22:26 -04:00
thatcher
537ea0b844 simplifying zoom settings so scroll and click arent significantly different 2013-03-14 07:22:26 -04:00
thatcher
464cf076a6 simplifying zoom settings so scroll and click arent significantly different 2013-03-14 07:22:26 -04:00
thatcher
a5421917a4 minZoomImageRatio should not be less than minPixelRatio to avoid blurry full zoom out. Its worth noting now that several options are 'coupled' but dont have logic which addresses the coupling so as to avoid ill affects from settings that dont make sense for how they are coupled. 2013-03-14 07:22:26 -04:00
thatcher
86e27c18f7 what was initally a feature branch to work on just canvas prerender, evolved into a feature branch focused on broader ideas discussed in issue #4 - I've basically been able to reduce time spent in drawTile by half. good stuff, thanks to dustmoo for getting us looking into this 2013-03-14 07:22:26 -04:00
thatcher
fe0cafea21 improved caching follows existing use of tile.unload to delete prerendered canvas 2013-03-14 07:22:26 -04:00
thatcher
2be165fa70 niave implementation of prerender for canvas, the first optimization discussed here: http://www.html5rocks.com/en/tutorials/canvas/performance/ 2013-03-14 07:22:25 -04:00
thatcher
417a93d5ae Merge branch 'master' of https://github.com/openseadragon/openseadragon 2013-03-12 20:15:36 -04:00
thatcher
b3146683f2 applying patch provided by eikeon for position parameter constructor of TileSource. At some point I hope to deprecate most of these constructors that have more than two positional parameters. 2013-03-12 20:12:08 -04:00
Ian Gilman
b4ddb5a953 Improved build banners, including making them visible in minified version 2013-03-11 11:52:30 -07:00
Chris Thatcher
c164e8fac5 Merge pull request #24 from openseadragon/fullscreen
Fullscreen native javascript support now available. will increment build id and publish.  Thanks ventero and iangilman for your reviews.
2013-03-07 20:57:11 -08:00
thatcher
5203cc14b0 removing extra whitespace per pull request review 2013-03-07 23:50:27 -05:00
thatcher
f107aaf0e8 removing debug console log statement per ventero's review notes 2013-03-06 21:53:20 -05:00
thatcher
6285a779f3 cleaning up event names, reducing demo cases to just addHandler interface, normalizing event data to express more idiomatic javascript pattern of passing object instead of invoking callback with positional parameters 2013-03-06 17:34:12 -05:00
thatcher
3801326e40 pulling full screen api detection out into is own file per ians suggestion 2013-03-06 15:36:52 -05:00
thatcher
75f7589312 simplifying zoom settings so scroll and click arent significantly different 2013-03-06 07:43:12 -05:00
thatcher
0bdc4383bd simplifying zoom settings so scroll and click arent significantly different 2013-03-06 07:35:47 -05:00
thatcher
e04813e477 minZoomImageRatio should not be less than minPixelRatio to avoid blurry full zoom out. Its worth noting now that several options are 'coupled' but dont have logic which addresses the coupling so as to avoid ill affects from settings that dont make sense for how they are coupled. 2013-03-06 06:44:55 -05:00
thatcher
096b02d1c8 addressing typo in comment pointed out by @iangilian 2013-03-06 06:03:05 -05:00
thatcher
9503fac39d merging, not sure why I get a conflict on this, must be doing something wrong in my work flow 2013-03-06 05:55:53 -05:00
thatcher
61a844bdc0 what was initally a feature branch to work on just canvas prerender, evolved into a feature branch focused on broader ideas discussed in issue #4 - I've basically been able to reduce time spent in drawTile by half. good stuff, thanks to dustmoo for getting us looking into this 2013-03-06 05:51:31 -05:00
thatcher
11a0f3b315 improved caching follows existing use of tile.unload to delete prerendered canvas 2013-03-05 07:30:37 -05:00
houseofyin
a432a38d3d 23 Initial attempt a this feature along with a demo page 2013-03-04 15:19:35 -05:00
thatcher
2fc6cc3876 niave implementation of prerender for canvas, the first optimization discussed here: http://www.html5rocks.com/en/tutorials/canvas/performance/ 2013-03-01 09:23:47 -05:00
Chris Thatcher
fc479b5ecb Merge pull request #26 from openseadragon/memoizelevelscale
memoize default implementation of getLevelScale
2013-03-01 06:18:08 -08:00
thatcher
274df71c0a refs #22 use Math.pow per houseofyin and memoize implementation of getLevelScale per acdha 2013-03-01 08:42:06 -05:00
thatcher
6d4d7cc8c6 niave implementation of prerender for canvas, the first optimization discussed here: http://www.html5rocks.com/en/tutorials/canvas/performance/ 2013-03-01 08:14:35 -05:00
thatcher
b560a06c30 correcting comment per ventero's review 2013-02-28 16:19:04 -05:00
thatcher
e56632c96f blendTime needs to be equal to animationTime to avoid blurred images 2013-02-28 15:56:50 -05:00
thatcher
2819ff14e5 reverting a couple changes to core openseadragon options unrelated to issue #2 . will explore these in #4 were they have already been referenced. 2013-02-28 15:55:24 -05:00
thatcher
807cdd337c cant set blendTime to 0, causes strange behavior in navigator and lip tile sources. should have made the basic config changes in #2 and #3 in a diferent branch related to #4. will do before pulling 2013-02-28 15:55:24 -05:00
thatcher
6d3ddd8095 by feel, best performance, changed immediateRender to true, springStiffness to 7 - issue #2 2013-02-28 15:55:24 -05:00
thatcher
5b6a2f5873 basic implementation of issue #2 2013-02-28 15:55:24 -05:00
thatcher
5dd8798f7f addressing venturo's review notes 2013-02-28 15:34:44 -05:00
thatcher
a4477cd765 better encapsulation of native fullscreen api 2013-02-28 15:34:44 -05:00
thatcher
d6cdd4028c removing unneccessary if 2013-02-28 15:34:43 -05:00
thatcher
a18460a310 reverting a couple changes to core openseadragon options unrelated to issue #3 . will explore these in #4 were they have already been referenced. 2013-02-28 15:34:43 -05:00
thatcher
d4b02e1aba managed to get a more complete, though hacky, implementation of #3. the big sticky point was how firefox and safari beahved when switching between applications when already in full screen mode. because we didnt have an event listener for fullscreenchange, and because those browsers released full screen on application or window change (think alt+tab or cmd+tab), you would come back to a empty document. more work left here to make this worth merging into master 2013-02-28 15:34:43 -05:00
thatcher
f602a682f7 basic implementation of enhancement request from issue #3 2013-02-28 15:34:43 -05:00
thatcher
2f938766b3 Merge branch 'master' of https://github.com/openseadragon/openseadragon 2013-02-28 14:38:12 -05:00
thatcher
015e94efa4 found typo in source, thie was supposed to be this 2013-02-28 14:37:32 -05:00
thatcher
361052656c patch for pinch zoom point. initial two point touch midpoint is used for duration of pinch-zoom operation. references #17 2013-02-27 06:57:06 -05:00
thatcher
2372968518 refs #4 - have noticed navigator is often blurry when rendered. changing blendTime can alleviate or worsen this issue if it is more or less than the animationTime (respectively). Im setting this to the value equal to animationTime as a hot patch while we figure out why these two variables are coupled. 2013-02-26 23:52:23 -05:00
Hal Blackburn
3eac183d8c Fix handling of touchmove events on Android
Dragging the canvas did not work on Android devices as the === check for
lastTouch and the current event was always evaluating to false.
Presumably Safari on iOS re-uses the same Touch object for touchmove
events with the same finger, whereas Chrome/Firefox on Android creates
new Touch objects for each event (so the === evaluates false). The code
now compares Touch.identifier to ensure the new touch event is from the
same finger as the initiating touchstart.
2013-02-26 11:50:11 +00:00
thatcher
070a48f6c8 fixing jsdocs that caused recursion 2013-02-19 22:53:54 -05:00
Ian Gilman
9569ff1215 Removed JS Hint globals comment, since it's now in grunt 2013-02-14 12:04:47 -08:00
Ian Gilman
4e51b642ef Now properly setting version in build 2013-02-14 12:02:17 -08:00
thatcher
fda24f343a added dozens of event hooks based on input from macreery's branch 2013-02-13 19:44:23 -05:00
thatcher
d8a3ccf5e8 dont compute NaN for opacity because FF doesnt like that, per macreery's branch, thanks 2013-02-13 17:20:05 -05:00
thatcher
27d2898818 added removeAllHandlers per macreery's branch, finally implemented removeHandler 2013-02-13 17:11:33 -05:00
thatcher
e851de80b8 added class names to viewer canvas and container per macreery's branch 2013-02-13 16:50:23 -05:00
thatcher
685f58d663 adding support for positional arguments for minLevel and maxLevel in DziTileSource per macreery's branch 2013-02-13 16:27:17 -05:00
thatcher
0540e834b4 refactoring after lint left an error related to drawer and overlays 2013-02-13 09:05:35 -05:00
thatcher
a0fd2b3324 added inital support for moving to a nodejs build with grunt. build only includes concant and lint. fixed all lint warning where appropriate and added lint inline ignores where appropriate. when build script is complete we will start transition to new repo. also currently researching how to prune unfriendly portion of history that make repo large due to large binary files in web app. I like git well enough but using branches for web apps unrelated to code base has made me weary once again of social web fads that force convention without long term consideration of cost. 2013-02-12 22:40:08 -05:00
thatcher
855e753225 some overlays work that had be be completed before finishing tile layers. added brief example of how to how host tiles of zoom.it 2013-02-10 22:53:51 -05:00
thatcher
aecf576c06 finished initial development of iiif info xml and json support, added example to site 2013-02-09 15:58:43 -05:00
thatcher
3f20018c75 correction for recent change which computed a highestLevel for drawer with max instead of min operation 2013-02-09 12:21:51 -05:00
thatcher
d2d5828d8f adding support for several new tile sources including iiif, osm and tms (osm and tms are thanks to seajax-utils project) 2013-02-08 15:45:22 -05:00
thatcher
576c00b37d adding support for several new tile sources including iiif, osm and tms (osm and tms are thanks to seajax-utils project) 2013-02-08 09:21:28 -05:00
thatcher
792165fdf9 accidently left alwaysBlend global defaul set to true during development. Looking forward to our new org based repo where I'll be constrained more than my current wild-west repo, sorry. corrections also to pan constrainment details which came to the forefront while working on collections zoom and panconstraints. Added new ui feature page to demo basics. 2013-02-05 21:26:40 -05:00
thatcher
b1cdaaa845 found an IE specific error in some styles set for collections visualizations 2013-02-01 15:35:46 -05:00
thatcher
808354dd6f Merge branch 'master' of github.com:thatcher/openseadragon 2013-02-01 15:19:05 -05:00
thatcher
f863f5fcae changing drawHTML routine to avoid ie rendering issue 2013-02-01 15:18:53 -05:00
ygra
354c0f8d57 Fixed comment typos 2013-01-31 19:18:32 +01:00
thatcher
bd135904b6 Merge branch 'master' of github.com:thatcher/openseadragon 2013-01-31 12:30:36 -05:00
thatcher
6efc348b8a finished collection support for html drawers 2013-01-31 12:30:13 -05:00
Ian Gilman
527682d5a6 Merge branch 'master' into lint
Fixed Conflicts:
	openseadragon.js
	src/drawer.js
2013-01-31 09:26:55 -08:00
thatcher
063bce8171 fixing some work in progress for collections visualizations 2013-01-30 20:23:45 -05:00
thatcher
9fc4388ac9 Merge branch 'master' of github.com:thatcher/openseadragon 2013-01-30 16:51:46 -05:00
thatcher
f6ee93b70c improving custom tile source examples are work for layers begins being supported 2013-01-30 16:51:37 -05:00
Ian Gilman
c6597213a1 Using square bracket notation for keyword 2013-01-29 10:06:39 -08:00
Ian Gilman
7a55b6cf77 JS Hint work (mostly semicolons at this point) 2013-01-29 09:32:58 -08:00
Ian Gilman
624fbd97b9 Comment typo 2013-01-28 10:24:13 -08:00
iangilman
d23851d5e5 Merge pull request #15 from Ventero/imageload
Pass the correct object to image load callbacks.
2013-01-28 10:21:36 -08:00
Ian Gilman
5e24432349 Comment tweak 2013-01-28 10:11:14 -08:00
iangilman
0fddd1a61d Merge pull request #26 from Ventero/patch-1
Make sure navigator has non-negative width/height
2013-01-28 10:04:39 -08:00
Ventero
8f085c83ca Update documentation for Drawer#loadImage.
Additionally, improve name of the parameter passed to the complete
listener.
2013-01-25 20:36:41 +01:00
Ventero
9b6de523c7 Add TODO comment about magic number 2013-01-25 19:56:07 +01:00
iangilman
1c577ec40a Merge pull request #14 from Ventero/navimages
Allow overriding the default navImages prefix url
2013-01-25 10:55:15 -08:00
Ventero
9620272ebb Make sure navigator has non-negative width/height
Older versions of IE throw if we try to assign a negative width/height.

Fixes #24.
2013-01-25 14:17:35 +01:00
iangilman
718082998b Merge pull request #16 from Ventero/disprect
Use correct option name (displayRects, not dispRects) in DziTileSource.
2013-01-24 10:38:01 -08:00
thatcher
215395abb4 merged build.xml 2013-01-23 23:03:00 -05:00
thatcher
15c35c93fd 0.9.90 adds support for a debug mode and real heterogeneous collection visualizations. straight html div/image support for both features is in process but incomplete 2013-01-23 23:00:11 -05:00
iangilman
1331530cb6 Merge pull request #13 from Ventero/fixes
Allow different Deep Zoom schema namespaces.
2013-01-16 13:31:00 -08:00
thatcher
ab35e86776 bug patches for lazy load on image reference strip 2012-10-13 02:39:42 -04:00
thatcher
8fab8b5051 better lazy loading for image reference strip and more options for managing additional html content that is available in full page mode and normal mode 2012-10-12 23:40:59 -04:00
Ventero
31716bf56d Use correct option name (displayRects, not dispRects) in DziTileSource. 2012-09-29 14:20:20 +02:00
Ventero
bb0ac1f9d1 Pass the correct object to image load callbacks.
Previously, the image object was passed on to onTileLoad regardless
if it loaded successfully or not. In case an image failed to load,
this would result in trying to draw a non-existing image onto the
canvas, which (at least in Firefox) throws a DOM exception and results
in the drawer being stuck mid-update.
2012-09-29 12:31:51 +02:00
Ventero
5c74c7b415 Always clear the image load timeout job. 2012-09-29 12:31:46 +02:00
Ventero
197244e185 Allow different Deep Zoom XML namespaces.
While the official XML namespace according to the xsd is
http://schemas.microsoft.com/deepzoom/2008, DZIs generated with the
Deep Zoom Composer use http://schemas.microsoft.com/deepzoom/2009,
so this should be supported as well.
2012-09-28 20:07:05 +02:00
Ventero
0aba38c88c Fix a typo in the documentation for options.prefixUrl. 2012-09-28 20:06:14 +02:00
Ventero
76a16464a2 Allow overriding the default navImages prefix url. 2012-09-28 20:06:02 +02:00
thatcher
bebc7a64ff overflow was rendering scroll bar in IE for navigator and imagereference strip 2012-09-11 12:31:42 -04:00
thatcher
e7785fe636 found error related to minPixelWidth being set incorrectly for navigator and image reference strip so it loaded too many level which hurt performance 2012-09-07 08:55:19 -04:00
thatcher
79d048ac81 add lazy load to drag too, not just scroll 2012-09-05 11:35:42 -04:00
thatcher
1c200aca9c finished lazy loading implementation of image reference strip, really helps initial render time with large image sets 2012-09-05 10:52:57 -04:00
thatcher
a638076c76 custom tile source should pass whole object to constructor to allow idiomatic pattern of extension of tile source with arbitrary properties 2012-08-29 20:55:36 -04:00
thatcher
1d1cbc6f56 custom tile source should pass whole object to constructor to allow idiomatic pattern of extension of tile source with arbitrary properties 2012-08-29 20:53:42 -04:00
thatcher
ddedd35db9 patch for substantial error in computing boundary and home poisition when width is greater that height 2012-08-29 20:48:45 -04:00
thatcher
104a814af0 adding prototype image reference strip, fixing IE error related to checking for instanceof XMLDocument, fixing aspect ratio error when image is wider than tall 2012-08-29 14:46:34 -04:00
thatcher
c41f6a464e Substantial rework of TileSource and Viewer.openTileSource to allow simpler introspect of the intended TileSource implementation based on the configuration object details. Also major www updates to simplify and unify the informational site by building it via simple templates. Improved examples and documentation. Added support for xml, json, jsonp, and inline configuration of supported tile sources. 2012-06-05 07:52:00 -04:00
thatcher
107a5efabf patch for recursive function call causing ie8 errors - oops. Also completed support for jsonp dzi format/protocol which is useful for running openseadragon from the filesystem as well, see main gh-pages index.html for example 2012-04-12 13:20:24 -04:00
thatcher
e595ad2381 Adding ability to bind to buttons to custom interface elements, also use screen size detection to avoid using canvas on small devices since is more cpu intensive. Added version check for IE specific implementations to avoid using them for IE 9 and made most IE implementation differences a one-time process instead of an if/else which is evaulated on every call to the function. 2012-04-10 17:02:24 -04:00
thatcher
05f3c1d811 several bug fixes and enhancements. legacy tile source issue discovered and corrected for images with width greater than height. adding basic support for sequenced tile sources including previous and next buttons. added mouse drag and scroll interactions for viewport navigator. 2012-04-03 03:08:27 -04:00
thatcher
94247b7225 Additional patches for keyboard accessibility 2012-03-20 21:58:23 -04:00
thatcher
825023aaf6 IE specific patch for navigator (styleFloat), also keyboard accessibility patches for firefox 2012-03-20 15:30:29 -04:00