Commit Graph

92 Commits

Author SHA1 Message Date
Grant Echols
be79249c9c Added pre-draw event for tiles to allow applications to alter the image just prior to its rendering. This should enable invert, brightness, contrast, sharpen and other transformations to occur naturally through the 'tile-drawing' event listener.
The listener is given the 'rendered' object which is the pre-drawn image on a canvas context object. By altering the 'rendered' object the listener can alter the display results. Since this event gets fired multiple times for the tile, it is wise for the handler to track what their desired modifications are and to tag the 'tile' element to keep track of the modifications already applied.
2014-02-27 15:35:00 -07:00
Sean Wilkinson
a5a72ee321 Set image.crossOrigin = 'Anonymous'; to avoid tainted canvas problem 2013-12-11 19:31:35 -06:00
Mark Salsbery
930e8c4dfd Updated Doclets 2013-11-25 08:48:44 -08:00
Mark Salsbery
ece76925a6 Updated Doclets
Lots of changes, most notably event documentation (@event and @fires)
2013-11-21 12:19:07 -08:00
Mark Salsbery
54049927f0 Updated doclets
Changed event docs:
Changed userData properties from optional to nullable.
Removed optional type from preventDefaultAction properties.
2013-11-18 06:56:32 -08:00
Mark Salsbery
70b91d57ec Updated doclets for jsdoc3
Updated so jsdoc3 parser picks everything up.
Added event docs.
Lots of documentation content needed...
2013-11-15 22:19:53 -08:00
Mark Salsbery
5c4131303a Use canvas when available - Fixes
Removed redundant useCanvas property from drawer
2013-11-07 11:48:01 -08:00
Mark Salsbery
085c7f2ecb Use canvas when available - Fixes
Updated documentation doclet.
Enclosed detection code in a function.
Eliminated the Drawer USE_CANVAS global and replaced it with a
Drawer.useCanvas instance variable.
2013-11-01 13:02:28 -07:00
Mark Salsbery
e209846ac1 Use canvas whenever possible (#191)
Drawer uses an HTML5 canvas element if it's available.

Viewer.useCanvas can be used to override (default is true).
2013-11-01 10:19:47 -07:00
Antoine Vandecreme
4cd98a5da9 Check hash in viewer constructor.
Fix #229
Fix #176
2013-10-12 18:30:05 -04:00
Mark Salsbery
d574700b3d Event Handler Signatures Changed to 'fn(event)'
All event handler signatures changed to 'fn(event)'
eventSource property added to the event object passed
Redundant event source properties removed ('button' and 'viewer'
Documentation updated in MouseTracker
changelog.txt updated
2013-10-10 17:00:15 -07:00
iangilman
aefe7f3610 Merge pull request #185 from robhobbes/master
Adding partial support for rotation.
2013-08-20 11:08:58 -07:00
Robert Hickman
767c897e7f Revisions to rotate after second code review. 2013-08-16 11:32:21 -06:00
Robert Hickman
54e8d8c43f Fixes made after first code review of rotation. 2013-08-15 16:15:20 -06:00
Ian Gilman
6669589e5e Drawer now works when the page is rtl 2013-08-15 12:54:32 -07:00
Robert Hickman
6c63710131 Rotating overlays. 2013-08-14 13:43:49 -06:00
Robert Hickman
b9583c43ac Working on rotating images.
So far only 90 degree rotation is supported.
Only the image is currently being rotated.
Overlays, debugger, and the navigator still need to be updated to support rotation.
2013-08-13 16:32:04 -06:00
Luke Murray
2717398181 Use the correct onDraw in drawer.js. Remove imageFullSize and fix up the comment for onDraw 2013-08-01 13:36:00 +10:00
Luke Murray
4239bb7adc fix: remove the useTransform/SVG stuff and move back to a simple onDraw callback only so people can handle their own custom drawing and sizing 2013-07-31 17:01:48 +10:00
Luke Murray
df877493a9 Rename drawHandler to onDraw. Also make it a notification style callback
(does not override the draw functionality).
Add an overlay option 'useTransform' that will transform the overlay
element instead of moving it's postion - useful for SVG elements
2013-07-16 12:04:37 +10:00
Luke Murray
233c3a357a Add the option for a zoom handler callback 2013-07-12 16:51:56 +10:00
iangilman
8fe0ce26b8 Merge pull request #136 from acdha/jshint-cleanup
JSHint tidying
2013-06-26 09:37:08 -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
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
e2bea810e3 Replace gnarly ternary expression with if statement 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
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
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
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
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
fcc119bb84 Add file-specific descriptions to file headers 2013-05-14 00:00:24 -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
522bcbf058 Add addClass()/removeClass() utility functions 2013-05-12 22:53:41 -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
c6f8b5e192 Fixed broken viewer.raiseEvent calls in drawer.js 2013-05-10 11:32:22 -07: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
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
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
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
5b6a2f5873 basic implementation of issue #2 2013-02-28 15:55:24 -05:00
Ian Gilman
9569ff1215 Removed JS Hint globals comment, since it's now in grunt 2013-02-14 12:04:47 -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
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
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
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