mirror of
https://github.com/openseadragon/openseadragon.git
synced 2025-01-31 23:21:42 +03:00
MouseTracker Original Events in Handlers
Misc name changes, indentation/whitespace fixes. Still TODO: Fix documentation, evaluate presence of key handler in a mouse tracker, evaluate whether isTouchEvent flag should be in all eventData objects or not.
This commit is contained in:
parent
d60224b615
commit
13415b36f3
@ -176,7 +176,7 @@ $.Button = function( options ) {
|
||||
clickDistThreshold: this.clickDistThreshold,
|
||||
|
||||
enterHandler: function( tracker, eventData ) {
|
||||
if ( eventData.buttonDownElement ) {
|
||||
if ( eventData.insideElementPressed ) {
|
||||
inTo( _this, $.ButtonState.DOWN );
|
||||
_this.raiseEvent( "onEnter", _this );
|
||||
} else if ( !eventData.buttonDownAny ) {
|
||||
@ -191,7 +191,7 @@ $.Button = function( options ) {
|
||||
|
||||
exitHandler: function( tracker, eventData ) {
|
||||
outTo( _this, $.ButtonState.GROUP );
|
||||
if ( eventData.buttonDownElement ) {
|
||||
if ( eventData.insideElementPressed ) {
|
||||
_this.raiseEvent( "onExit", _this );
|
||||
}
|
||||
},
|
||||
@ -207,10 +207,10 @@ $.Button = function( options ) {
|
||||
},
|
||||
|
||||
releaseHandler: function( tracker, eventData ) {
|
||||
if ( eventData.insideElementPress && eventData.insideElementRelease ) {
|
||||
if ( eventData.insideElementPressed && eventData.insideElementRelease ) {
|
||||
outTo( _this, $.ButtonState.HOVER );
|
||||
_this.raiseEvent( "onRelease", _this );
|
||||
} else if ( eventData.insideElementPress ) {
|
||||
} else if ( eventData.insideElementPressed ) {
|
||||
outTo( _this, $.ButtonState.GROUP );
|
||||
} else {
|
||||
inTo( _this, $.ButtonState.HOVER );
|
||||
|
@ -93,7 +93,7 @@ $.ButtonGroup = function( options ) {
|
||||
},
|
||||
exitHandler: function ( tracker, eventData ) {
|
||||
var i;
|
||||
if ( !eventData.buttonDownElement ) {
|
||||
if ( !eventData.insideElementPressed ) {
|
||||
for ( i = 0; i < _this.buttons.length; i++ ) {
|
||||
_this.buttons[ i ].notifyGroupExit();
|
||||
}
|
||||
|
@ -138,7 +138,7 @@
|
||||
* Are we currently tracking mouse events.
|
||||
* @property {Boolean} capturing
|
||||
* Are we curruently capturing mouse events.
|
||||
* @property {Boolean} buttonDownElement
|
||||
* @property {Boolean} insideElementPressed
|
||||
* True if the left mouse button is currently being pressed and was
|
||||
* initiated inside the tracked element, otherwise false.
|
||||
* @property {Boolean} insideElement
|
||||
@ -160,9 +160,9 @@
|
||||
DOMMouseScroll: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
||||
mousewheel: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
||||
mouseupie: function ( event ) { onMouseUpIE( _this, event ); },
|
||||
mousemoveie: function ( event ) { onMouseMoveIE( _this, event ); },
|
||||
mouseupwindow: function ( event ) { onMouseUpWindow( _this, event ); },
|
||||
mousemovewindow: function ( event ) { onMouseMoveWindow( _this, event, false ); },
|
||||
mousemovecapturedie: function ( event ) { onMouseMoveCapturedIE( _this, event ); },
|
||||
mouseupcaptured: function ( event ) { onMouseUpCaptured( _this, event ); },
|
||||
mousemovecaptured: function ( event ) { onMouseMoveCaptured( _this, event, false ); },
|
||||
touchstart: function ( event ) { onTouchStart( _this, event ); },
|
||||
touchmove: function ( event ) { onTouchMove( _this, event ); },
|
||||
touchend: function ( event ) { onTouchEnd( _this, event ); },
|
||||
@ -171,7 +171,7 @@
|
||||
blur: function ( event ) { onBlur( _this, event ); },
|
||||
tracking: false,
|
||||
capturing: false,
|
||||
buttonDownElement: false,
|
||||
insideElementPressed: false,
|
||||
insideElement: false,
|
||||
lastPoint: null,
|
||||
lastMouseDownTime: null,
|
||||
@ -227,7 +227,7 @@
|
||||
* @param {Object} eventData
|
||||
* {
|
||||
* position: The position of the event relative to the tracked element.
|
||||
* buttonDownElement: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* insideElementPressed: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* buttonDownAny: Was the button down anywhere in the screen during the event.
|
||||
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||
* originalEvent: The original event object.
|
||||
@ -245,7 +245,7 @@
|
||||
* @param {Object} eventData
|
||||
* {
|
||||
* position: The position of the event relative to the tracked element.
|
||||
* buttonDownElement: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* insideElementPressed: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* buttonDownAny: Was the button down anywhere in the screen during the event.
|
||||
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||
* originalEvent: The original event object.
|
||||
@ -279,7 +279,7 @@
|
||||
* @param {Object} eventData
|
||||
* {
|
||||
* position: The position of the event relative to the tracked element.
|
||||
* insideElementPress: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* insideElementPressed: True if the left mouse button is currently being pressed and was initiated inside the tracked element, otherwise false.
|
||||
* insideElementRelease: Was the mouse still inside the tracked element when the button was released.
|
||||
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||
* originalEvent: The original event object.
|
||||
@ -507,20 +507,20 @@
|
||||
$.addEvent(
|
||||
tracker.element,
|
||||
"mousemove",
|
||||
delegate.mousemoveie,
|
||||
delegate.mousemovecapturedie,
|
||||
true
|
||||
);
|
||||
} else {
|
||||
$.addEvent(
|
||||
window,
|
||||
"mouseup",
|
||||
delegate.mouseupwindow,
|
||||
delegate.mouseupcaptured,
|
||||
true
|
||||
);
|
||||
$.addEvent(
|
||||
window,
|
||||
"mousemove",
|
||||
delegate.mousemovewindow,
|
||||
delegate.mousemovecaptured,
|
||||
true
|
||||
);
|
||||
}
|
||||
@ -542,7 +542,7 @@
|
||||
$.removeEvent(
|
||||
tracker.element,
|
||||
"mousemove",
|
||||
delegate.mousemoveie,
|
||||
delegate.mousemovecapturedie,
|
||||
true
|
||||
);
|
||||
$.removeEvent(
|
||||
@ -561,13 +561,13 @@
|
||||
$.removeEvent(
|
||||
window,
|
||||
"mousemove",
|
||||
delegate.mousemovewindow,
|
||||
delegate.mousemovecaptured,
|
||||
true
|
||||
);
|
||||
$.removeEvent(
|
||||
window,
|
||||
"mouseup",
|
||||
delegate.mouseupwindow,
|
||||
delegate.mouseupcaptured,
|
||||
true
|
||||
);
|
||||
}
|
||||
@ -671,7 +671,7 @@
|
||||
var delegate = THIS[tracker.hash],
|
||||
propagate;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
event = $.getEvent( event );
|
||||
|
||||
@ -702,7 +702,7 @@
|
||||
tracker,
|
||||
{
|
||||
position: getMouseRelative( event, tracker.element ),
|
||||
buttonDownElement: delegate.buttonDownElement,
|
||||
insideElementPressed: delegate.insideElementPressed,
|
||||
buttonDownAny: IS_BUTTON_DOWN,
|
||||
isTouchEvent: isTouch,
|
||||
originalEvent: event,
|
||||
@ -724,7 +724,7 @@
|
||||
var delegate = THIS[tracker.hash],
|
||||
propagate;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
event = $.getEvent( event );
|
||||
|
||||
@ -756,7 +756,7 @@
|
||||
tracker,
|
||||
{
|
||||
position: getMouseRelative( event, tracker.element ),
|
||||
buttonDownElement: delegate.buttonDownElement,
|
||||
insideElementPressed: delegate.insideElementPressed,
|
||||
buttonDownAny: IS_BUTTON_DOWN,
|
||||
isTouchEvent: isTouch,
|
||||
originalEvent: event,
|
||||
@ -779,7 +779,7 @@
|
||||
var delegate = THIS[tracker.hash],
|
||||
propagate;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
event = $.getEvent( event );
|
||||
|
||||
@ -787,7 +787,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
delegate.buttonDownElement = true;
|
||||
delegate.insideElementPressed = true;
|
||||
|
||||
delegate.lastPoint = getMouseAbsolute( event );
|
||||
delegate.lastMouseDownPoint = delegate.lastPoint;
|
||||
@ -842,7 +842,7 @@
|
||||
|
||||
THIS[tracker.hash].lastTouch = event.touches[0];
|
||||
onMouseOver( tracker, event, true );
|
||||
// call with no capture as the onMouseMoveWindow will
|
||||
// call with no capture as the onMouseMoveCaptured will
|
||||
// be triggered by onTouchMove
|
||||
onMouseDown( tracker, event, true, true );
|
||||
}
|
||||
@ -872,12 +872,12 @@
|
||||
function onMouseUp( tracker, event, isTouch ) {
|
||||
var delegate = THIS[tracker.hash],
|
||||
//were we inside the tracked element when we were pressed
|
||||
insideElementPress = delegate.buttonDownElement,
|
||||
insideElementPressed = delegate.insideElementPressed,
|
||||
//are we still inside the tracked element when we released
|
||||
insideElementRelease = delegate.insideElement,
|
||||
propagate;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
event = $.getEvent( event );
|
||||
|
||||
@ -885,14 +885,14 @@
|
||||
return;
|
||||
}
|
||||
|
||||
delegate.buttonDownElement = false;
|
||||
delegate.insideElementPressed = false;
|
||||
|
||||
if ( tracker.releaseHandler ) {
|
||||
propagate = tracker.releaseHandler(
|
||||
tracker,
|
||||
{
|
||||
position: getMouseRelative( event, tracker.element ),
|
||||
insideElementPress: insideElementPress,
|
||||
insideElementPressed: insideElementPressed,
|
||||
insideElementRelease: insideElementRelease,
|
||||
isTouchEvent: isTouch,
|
||||
originalEvent: event,
|
||||
@ -904,7 +904,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if ( insideElementPress && insideElementRelease ) {
|
||||
if ( insideElementPressed && insideElementRelease ) {
|
||||
handleMouseClick( tracker, event );
|
||||
}
|
||||
}
|
||||
@ -924,7 +924,7 @@
|
||||
|
||||
// call with no release, as the mouse events are
|
||||
// not registered in onTouchStart
|
||||
onMouseUpWindow( tracker, event, true, true );
|
||||
onMouseUpCaptured( tracker, event, true, true );
|
||||
onMouseOut( tracker, event, true );
|
||||
}
|
||||
if ( event.touches.length + event.changedTouches.length == 2 ) {
|
||||
@ -983,8 +983,8 @@
|
||||
* @private
|
||||
* @inner
|
||||
*/
|
||||
function onMouseUpWindow( tracker, event, noRelease, isTouch ) {
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
function onMouseUpCaptured( tracker, event, noRelease, isTouch ) {
|
||||
isTouch = isTouch || false;
|
||||
|
||||
if ( !THIS[tracker.hash].insideElement ) {
|
||||
onMouseUp( tracker, event, isTouch );
|
||||
@ -1041,7 +1041,7 @@
|
||||
var nDelta = 0,
|
||||
propagate;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
if ( !event ) { // For IE, access the global (window) event object
|
||||
event = window.event;
|
||||
@ -1122,13 +1122,13 @@
|
||||
* @private
|
||||
* @inner
|
||||
*/
|
||||
function onMouseMoveWindow( tracker, event, isTouch ) {
|
||||
function onMouseMoveCaptured( tracker, event, isTouch ) {
|
||||
var delegate = THIS[tracker.hash],
|
||||
delta,
|
||||
propagate,
|
||||
point;
|
||||
|
||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
||||
isTouch = isTouch || false;
|
||||
|
||||
event = $.getEvent( event );
|
||||
point = getMouseAbsolute( event );
|
||||
@ -1173,7 +1173,7 @@
|
||||
event.changedTouches.length === 1 &&
|
||||
THIS[tracker.hash].lastTouch.identifier === event.touches[0].identifier ) {
|
||||
|
||||
onMouseMoveWindow( tracker, event, true );
|
||||
onMouseMoveCaptured( tracker, event, true );
|
||||
|
||||
} else if ( event.touches.length === 2 ) {
|
||||
|
||||
@ -1188,8 +1188,7 @@
|
||||
//$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta);
|
||||
|
||||
// Adjust the original event enough to simulate a mouse wheel scroll
|
||||
event.shift = false;
|
||||
event.shiftKey = false;
|
||||
event.shiftKey = event.shiftKey || false;
|
||||
event.pageX = THIS[tracker.hash].pinchMidpoint.x;
|
||||
event.pageY = THIS[tracker.hash].pinchMidpoint.y;
|
||||
event.detail = ( THIS[tracker.hash].lastPinchDelta > pinchDelta ) ? 1 : -1;
|
||||
@ -1211,10 +1210,10 @@
|
||||
* @private
|
||||
* @inner
|
||||
*/
|
||||
function onMouseMoveIE( tracker, event ) {
|
||||
function onMouseMoveCapturedIE( tracker, event ) {
|
||||
var i;
|
||||
for ( i = 0; i < CAPTURING.length; i++ ) {
|
||||
onMouseMoveWindow( CAPTURING[i], event, false );
|
||||
onMouseMoveCaptured( CAPTURING[i], event, false );
|
||||
}
|
||||
|
||||
$.stopEvent( event );
|
||||
|
@ -308,8 +308,8 @@ function onCanvasDrag( tracker, eventData ) {
|
||||
* @inner
|
||||
* @function
|
||||
*/
|
||||
function onCanvasRelease( tracker, eventData ) {//position, insideElementPress, insideElementRelease
|
||||
if ( eventData.insideElementPress && this.viewer.viewport ) {
|
||||
function onCanvasRelease( tracker, eventData ) {
|
||||
if ( eventData.insideElementPressed && this.viewer.viewport ) {
|
||||
this.viewer.viewport.applyConstraints();
|
||||
}
|
||||
}
|
||||
|
@ -707,6 +707,8 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){
|
||||
* @returns {Point} - the position of the upper left corner of the element adjusted for current page and/or element scroll.
|
||||
*/
|
||||
getElementOffset: function( element ) {
|
||||
element = $.getElement( element );
|
||||
|
||||
var doc = element && element.ownerDocument,
|
||||
docElement,
|
||||
win,
|
||||
|
@ -197,7 +197,7 @@ $.ReferenceStrip = function ( options ) {
|
||||
page = Number( id.split( '-' )[2] ),
|
||||
now = $.now();
|
||||
|
||||
if ( eventData.insideElementPress &&
|
||||
if ( eventData.insideElementPressed &&
|
||||
eventData.insideElementRelease &&
|
||||
tracker.dragging &&
|
||||
( now - tracker.dragging ) < tracker.clickTimeThreshold ) {
|
||||
|
@ -1472,13 +1472,13 @@ function onCanvasDrag( tracker, eventData ) {
|
||||
}
|
||||
|
||||
function onCanvasRelease( tracker, eventData ) {
|
||||
if ( eventData.insideElementPress && this.viewport ) {
|
||||
if ( eventData.insideElementPressed && this.viewport ) {
|
||||
this.viewport.applyConstraints();
|
||||
}
|
||||
this.raiseEvent( 'canvas-release', {
|
||||
tracker: tracker,
|
||||
position: eventData.position,
|
||||
insideElementPress: eventData.insideElementPress,
|
||||
insideElementPressed: eventData.insideElementPressed,
|
||||
insideElementRelease: eventData.insideElementRelease
|
||||
});
|
||||
}
|
||||
@ -1504,7 +1504,7 @@ function onCanvasScroll( tracker, eventData ) {
|
||||
}
|
||||
|
||||
function onContainerExit( tracker, eventData ) {
|
||||
if ( !eventData.buttonDownElement ) {
|
||||
if ( !eventData.insideElementPressed ) {
|
||||
THIS[ this.hash ].mouseInside = false;
|
||||
if ( !THIS[ this.hash ].animating ) {
|
||||
beginControlsAutoHide( this );
|
||||
@ -1513,7 +1513,7 @@ function onContainerExit( tracker, eventData ) {
|
||||
this.raiseEvent( 'container-exit', {
|
||||
tracker: tracker,
|
||||
position: eventData.position,
|
||||
buttonDownElement: eventData.buttonDownElement,
|
||||
insideElementPressed: eventData.insideElementPressed,
|
||||
buttonDownAny: eventData.buttonDownAny
|
||||
});
|
||||
}
|
||||
@ -1528,7 +1528,7 @@ function onContainerRelease( tracker, eventData ) {
|
||||
this.raiseEvent( 'container-release', {
|
||||
tracker: tracker,
|
||||
position: eventData.position,
|
||||
insideElementPress: eventData.insideElementPress,
|
||||
insideElementPressed: eventData.insideElementPressed,
|
||||
insideElementRelease: eventData.insideElementRelease
|
||||
});
|
||||
}
|
||||
@ -1539,7 +1539,7 @@ function onContainerEnter( tracker, eventData ) {
|
||||
this.raiseEvent( 'container-enter', {
|
||||
tracker: tracker,
|
||||
position: eventData.position,
|
||||
buttonDownElement: eventData.buttonDownElement,
|
||||
insideElementPressed: eventData.insideElementPressed,
|
||||
buttonDownAny: eventData.buttonDownAny
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user