Merge branch 'master' into Button-Event-Signatures

This commit is contained in:
Mark Salsbery 2013-10-03 19:50:57 -07:00
commit dde06bf416
4 changed files with 8 additions and 16 deletions

View File

@ -3,6 +3,7 @@ OPENSEADRAGON CHANGELOG
1.0.0: (in progress) 1.0.0: (in progress)
* BREAKING CHANGE: TileSource 'ready' event handler signature changed for consistency to 'handlerMethod( eventSource, eventData)' where eventData == { tileSource } (#239)
* BREAKING CHANGE: Renamed EventHandler to EventSource (#225) * BREAKING CHANGE: Renamed EventHandler to EventSource (#225)
* BREAKING CHANGE: MouseTracker event handler method signatures changed to 'handlerMethod( tracker, eventData)' (#23) * BREAKING CHANGE: MouseTracker event handler method signatures changed to 'handlerMethod( tracker, eventData)' (#23)
* BREAKING CHANGE: Event names changed for consistency: changed to lower case, compound names hyphenated, and "on" prefixes removed (#226): * BREAKING CHANGE: Event names changed for consistency: changed to lower case, compound names hyphenated, and "on" prefixes removed (#226):
@ -20,6 +21,7 @@ OPENSEADRAGON CHANGELOG
* MouseTracker now passes the original event objects to its handler methods (#23) * MouseTracker now passes the original event objects to its handler methods (#23)
* MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215) * MouseTracker now supports an optional 'moveHandler' method for tracking mousemove events (#215)
* Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131) * Fixed: Element-relative mouse coordinates now correct if the element and/or page is scrolled (using new OpenSeadragon.getElementOffset() method) (#131)
* Fixed: Touch event issue where no canvas-click events were being raised (#240)
0.9.131: 0.9.131:

View File

@ -1020,7 +1020,7 @@
function onMouseUpCaptured( tracker, event, noRelease, isTouch ) { function onMouseUpCaptured( tracker, event, noRelease, isTouch ) {
isTouch = isTouch || false; isTouch = isTouch || false;
if ( !THIS[ tracker.hash ].insideElement ) { if ( !THIS[ tracker.hash ].insideElement || isTouch ) {
onMouseUp( tracker, event, isTouch ); onMouseUp( tracker, event, isTouch );
} }

View File

@ -117,15 +117,8 @@ $.TileSource = function( width, height, tileSize, tileOverlap, minLevel, maxLeve
for ( i = 0; i < arguments.length; i++ ) { for ( i = 0; i < arguments.length; i++ ) {
if ( $.isFunction( arguments[ i ] ) ) { if ( $.isFunction( arguments[ i ] ) ) {
callback = arguments[ i ]; callback = arguments[ i ];
// TODO Send generic object wrapping readySource as a property (breaking change) this.addHandler( 'ready', function ( placeHolderSource, placeHolderEventData ) {
// TODO Maybe placeHolderSource should be passed to callback as well for consistency callback( placeHolderSource, placeHolderEventData );
// with event handler signature?
// Should be this (although technically it works as-is):
//this.addHandler( 'ready', function ( placeHolderSource, placeHolderArgs ) {
// callback( placeHolderArgs );
//} );
this.addHandler( 'ready', function ( placeHolderSource, readySource ) {
callback( readySource );
} ); } );
//only one callback per constructor //only one callback per constructor
break; break;
@ -308,10 +301,7 @@ $.TileSource.prototype = {
options = $TileSource.prototype.configure.apply( _this, [ data, url ]); options = $TileSource.prototype.configure.apply( _this, [ data, url ]);
readySource = new $TileSource( options ); readySource = new $TileSource( options );
_this.ready = true; _this.ready = true;
// TODO Send generic object wrapping readySource as a property (breaking change) _this.raiseEvent( 'ready', { tileSource: readySource } );
// Should be this:
//_this.raiseEvent( 'ready', { tileSource: readySource } );
_this.raiseEvent( 'ready', readySource );
}; };
if( url.match(/\.js$/) ){ if( url.match(/\.js$/) ){

View File

@ -438,8 +438,8 @@ $.extend( $.Viewer.prototype, $.EventSource.prototype, $.ControlDock.prototype,
setTimeout(function(){ setTimeout(function(){
if ( $.type( tileSource ) == 'string') { if ( $.type( tileSource ) == 'string') {
//If its still a string it means it must be a url at this point //If its still a string it means it must be a url at this point
tileSource = new $.TileSource( tileSource, function( readySource ){ tileSource = new $.TileSource( tileSource, function( eventSource, eventData ){
openTileSource( _this, readySource ); openTileSource( _this, eventData.tileSource );
}); });
tileSource.addHandler( 'open-failed', function ( name, args ) { tileSource.addHandler( 'open-failed', function ( name, args ) {
_this.raiseEvent( 'open-failed', args ); _this.raiseEvent( 'open-failed', args );