mirror of
https://github.com/openseadragon/openseadragon.git
synced 2025-02-08 02:49:22 +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,
|
clickDistThreshold: this.clickDistThreshold,
|
||||||
|
|
||||||
enterHandler: function( tracker, eventData ) {
|
enterHandler: function( tracker, eventData ) {
|
||||||
if ( eventData.buttonDownElement ) {
|
if ( eventData.insideElementPressed ) {
|
||||||
inTo( _this, $.ButtonState.DOWN );
|
inTo( _this, $.ButtonState.DOWN );
|
||||||
_this.raiseEvent( "onEnter", _this );
|
_this.raiseEvent( "onEnter", _this );
|
||||||
} else if ( !eventData.buttonDownAny ) {
|
} else if ( !eventData.buttonDownAny ) {
|
||||||
@ -191,7 +191,7 @@ $.Button = function( options ) {
|
|||||||
|
|
||||||
exitHandler: function( tracker, eventData ) {
|
exitHandler: function( tracker, eventData ) {
|
||||||
outTo( _this, $.ButtonState.GROUP );
|
outTo( _this, $.ButtonState.GROUP );
|
||||||
if ( eventData.buttonDownElement ) {
|
if ( eventData.insideElementPressed ) {
|
||||||
_this.raiseEvent( "onExit", _this );
|
_this.raiseEvent( "onExit", _this );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -207,10 +207,10 @@ $.Button = function( options ) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
releaseHandler: function( tracker, eventData ) {
|
releaseHandler: function( tracker, eventData ) {
|
||||||
if ( eventData.insideElementPress && eventData.insideElementRelease ) {
|
if ( eventData.insideElementPressed && eventData.insideElementRelease ) {
|
||||||
outTo( _this, $.ButtonState.HOVER );
|
outTo( _this, $.ButtonState.HOVER );
|
||||||
_this.raiseEvent( "onRelease", _this );
|
_this.raiseEvent( "onRelease", _this );
|
||||||
} else if ( eventData.insideElementPress ) {
|
} else if ( eventData.insideElementPressed ) {
|
||||||
outTo( _this, $.ButtonState.GROUP );
|
outTo( _this, $.ButtonState.GROUP );
|
||||||
} else {
|
} else {
|
||||||
inTo( _this, $.ButtonState.HOVER );
|
inTo( _this, $.ButtonState.HOVER );
|
||||||
|
@ -93,7 +93,7 @@ $.ButtonGroup = function( options ) {
|
|||||||
},
|
},
|
||||||
exitHandler: function ( tracker, eventData ) {
|
exitHandler: function ( tracker, eventData ) {
|
||||||
var i;
|
var i;
|
||||||
if ( !eventData.buttonDownElement ) {
|
if ( !eventData.insideElementPressed ) {
|
||||||
for ( i = 0; i < _this.buttons.length; i++ ) {
|
for ( i = 0; i < _this.buttons.length; i++ ) {
|
||||||
_this.buttons[ i ].notifyGroupExit();
|
_this.buttons[ i ].notifyGroupExit();
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@
|
|||||||
* Are we currently tracking mouse events.
|
* Are we currently tracking mouse events.
|
||||||
* @property {Boolean} capturing
|
* @property {Boolean} capturing
|
||||||
* Are we curruently capturing mouse events.
|
* Are we curruently capturing mouse events.
|
||||||
* @property {Boolean} buttonDownElement
|
* @property {Boolean} insideElementPressed
|
||||||
* True if the left mouse button is currently being pressed and was
|
* True if the left mouse button is currently being pressed and was
|
||||||
* initiated inside the tracked element, otherwise false.
|
* initiated inside the tracked element, otherwise false.
|
||||||
* @property {Boolean} insideElement
|
* @property {Boolean} insideElement
|
||||||
@ -151,32 +151,32 @@
|
|||||||
* Position of last mouse down
|
* Position of last mouse down
|
||||||
*/
|
*/
|
||||||
THIS[this.hash] = {
|
THIS[this.hash] = {
|
||||||
mouseover: function ( event ) { onMouseOver( _this, event, false ); },
|
mouseover: function ( event ) { onMouseOver( _this, event, false ); },
|
||||||
mouseout: function ( event ) { onMouseOut( _this, event, false ); },
|
mouseout: function ( event ) { onMouseOut( _this, event, false ); },
|
||||||
mousedown: function ( event ) { onMouseDown( _this, event ); },
|
mousedown: function ( event ) { onMouseDown( _this, event ); },
|
||||||
mouseup: function ( event ) { onMouseUp( _this, event, false ); },
|
mouseup: function ( event ) { onMouseUp( _this, event, false ); },
|
||||||
mousemove: function ( event ) { onMouseMove( _this, event ); },
|
mousemove: function ( event ) { onMouseMove( _this, event ); },
|
||||||
click: function ( event ) { onMouseClick( _this, event ); },
|
click: function ( event ) { onMouseClick( _this, event ); },
|
||||||
DOMMouseScroll: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
DOMMouseScroll: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
||||||
mousewheel: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
mousewheel: function ( event ) { onMouseWheelSpin( _this, event, false ); },
|
||||||
mouseupie: function ( event ) { onMouseUpIE( _this, event ); },
|
mouseupie: function ( event ) { onMouseUpIE( _this, event ); },
|
||||||
mousemoveie: function ( event ) { onMouseMoveIE( _this, event ); },
|
mousemovecapturedie: function ( event ) { onMouseMoveCapturedIE( _this, event ); },
|
||||||
mouseupwindow: function ( event ) { onMouseUpWindow( _this, event ); },
|
mouseupcaptured: function ( event ) { onMouseUpCaptured( _this, event ); },
|
||||||
mousemovewindow: function ( event ) { onMouseMoveWindow( _this, event, false ); },
|
mousemovecaptured: function ( event ) { onMouseMoveCaptured( _this, event, false ); },
|
||||||
touchstart: function ( event ) { onTouchStart( _this, event ); },
|
touchstart: function ( event ) { onTouchStart( _this, event ); },
|
||||||
touchmove: function ( event ) { onTouchMove( _this, event ); },
|
touchmove: function ( event ) { onTouchMove( _this, event ); },
|
||||||
touchend: function ( event ) { onTouchEnd( _this, event ); },
|
touchend: function ( event ) { onTouchEnd( _this, event ); },
|
||||||
keypress: function ( event ) { onKeyPress( _this, event ); },
|
keypress: function ( event ) { onKeyPress( _this, event ); },
|
||||||
focus: function ( event ) { onFocus( _this, event ); },
|
focus: function ( event ) { onFocus( _this, event ); },
|
||||||
blur: function ( event ) { onBlur( _this, event ); },
|
blur: function ( event ) { onBlur( _this, event ); },
|
||||||
tracking: false,
|
tracking: false,
|
||||||
capturing: false,
|
capturing: false,
|
||||||
buttonDownElement: false,
|
insideElementPressed: false,
|
||||||
insideElement: false,
|
insideElement: false,
|
||||||
lastPoint: null,
|
lastPoint: null,
|
||||||
lastMouseDownTime: null,
|
lastMouseDownTime: null,
|
||||||
lastMouseDownPoint: null,
|
lastMouseDownPoint: null,
|
||||||
lastPinchDelta: 0
|
lastPinchDelta: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -227,7 +227,7 @@
|
|||||||
* @param {Object} eventData
|
* @param {Object} eventData
|
||||||
* {
|
* {
|
||||||
* position: The position of the event relative to the tracked element.
|
* 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.
|
* buttonDownAny: Was the button down anywhere in the screen during the event.
|
||||||
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||||
* originalEvent: The original event object.
|
* originalEvent: The original event object.
|
||||||
@ -245,7 +245,7 @@
|
|||||||
* @param {Object} eventData
|
* @param {Object} eventData
|
||||||
* {
|
* {
|
||||||
* position: The position of the event relative to the tracked element.
|
* 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.
|
* buttonDownAny: Was the button down anywhere in the screen during the event.
|
||||||
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||||
* originalEvent: The original event object.
|
* originalEvent: The original event object.
|
||||||
@ -279,7 +279,7 @@
|
|||||||
* @param {Object} eventData
|
* @param {Object} eventData
|
||||||
* {
|
* {
|
||||||
* position: The position of the event relative to the tracked element.
|
* 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.
|
* 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.
|
* isTouchEvent: True if the original event is a touch event, otherwise false.
|
||||||
* originalEvent: The original event object.
|
* originalEvent: The original event object.
|
||||||
@ -507,20 +507,20 @@
|
|||||||
$.addEvent(
|
$.addEvent(
|
||||||
tracker.element,
|
tracker.element,
|
||||||
"mousemove",
|
"mousemove",
|
||||||
delegate.mousemoveie,
|
delegate.mousemovecapturedie,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$.addEvent(
|
$.addEvent(
|
||||||
window,
|
window,
|
||||||
"mouseup",
|
"mouseup",
|
||||||
delegate.mouseupwindow,
|
delegate.mouseupcaptured,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$.addEvent(
|
$.addEvent(
|
||||||
window,
|
window,
|
||||||
"mousemove",
|
"mousemove",
|
||||||
delegate.mousemovewindow,
|
delegate.mousemovecaptured,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -542,7 +542,7 @@
|
|||||||
$.removeEvent(
|
$.removeEvent(
|
||||||
tracker.element,
|
tracker.element,
|
||||||
"mousemove",
|
"mousemove",
|
||||||
delegate.mousemoveie,
|
delegate.mousemovecapturedie,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$.removeEvent(
|
$.removeEvent(
|
||||||
@ -561,13 +561,13 @@
|
|||||||
$.removeEvent(
|
$.removeEvent(
|
||||||
window,
|
window,
|
||||||
"mousemove",
|
"mousemove",
|
||||||
delegate.mousemovewindow,
|
delegate.mousemovecaptured,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$.removeEvent(
|
$.removeEvent(
|
||||||
window,
|
window,
|
||||||
"mouseup",
|
"mouseup",
|
||||||
delegate.mouseupwindow,
|
delegate.mouseupcaptured,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -671,7 +671,7 @@
|
|||||||
var delegate = THIS[tracker.hash],
|
var delegate = THIS[tracker.hash],
|
||||||
propagate;
|
propagate;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
event = $.getEvent( event );
|
event = $.getEvent( event );
|
||||||
|
|
||||||
@ -702,7 +702,7 @@
|
|||||||
tracker,
|
tracker,
|
||||||
{
|
{
|
||||||
position: getMouseRelative( event, tracker.element ),
|
position: getMouseRelative( event, tracker.element ),
|
||||||
buttonDownElement: delegate.buttonDownElement,
|
insideElementPressed: delegate.insideElementPressed,
|
||||||
buttonDownAny: IS_BUTTON_DOWN,
|
buttonDownAny: IS_BUTTON_DOWN,
|
||||||
isTouchEvent: isTouch,
|
isTouchEvent: isTouch,
|
||||||
originalEvent: event,
|
originalEvent: event,
|
||||||
@ -724,7 +724,7 @@
|
|||||||
var delegate = THIS[tracker.hash],
|
var delegate = THIS[tracker.hash],
|
||||||
propagate;
|
propagate;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
event = $.getEvent( event );
|
event = $.getEvent( event );
|
||||||
|
|
||||||
@ -756,7 +756,7 @@
|
|||||||
tracker,
|
tracker,
|
||||||
{
|
{
|
||||||
position: getMouseRelative( event, tracker.element ),
|
position: getMouseRelative( event, tracker.element ),
|
||||||
buttonDownElement: delegate.buttonDownElement,
|
insideElementPressed: delegate.insideElementPressed,
|
||||||
buttonDownAny: IS_BUTTON_DOWN,
|
buttonDownAny: IS_BUTTON_DOWN,
|
||||||
isTouchEvent: isTouch,
|
isTouchEvent: isTouch,
|
||||||
originalEvent: event,
|
originalEvent: event,
|
||||||
@ -779,7 +779,7 @@
|
|||||||
var delegate = THIS[tracker.hash],
|
var delegate = THIS[tracker.hash],
|
||||||
propagate;
|
propagate;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
event = $.getEvent( event );
|
event = $.getEvent( event );
|
||||||
|
|
||||||
@ -787,7 +787,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate.buttonDownElement = true;
|
delegate.insideElementPressed = true;
|
||||||
|
|
||||||
delegate.lastPoint = getMouseAbsolute( event );
|
delegate.lastPoint = getMouseAbsolute( event );
|
||||||
delegate.lastMouseDownPoint = delegate.lastPoint;
|
delegate.lastMouseDownPoint = delegate.lastPoint;
|
||||||
@ -842,7 +842,7 @@
|
|||||||
|
|
||||||
THIS[tracker.hash].lastTouch = event.touches[0];
|
THIS[tracker.hash].lastTouch = event.touches[0];
|
||||||
onMouseOver( tracker, event, true );
|
onMouseOver( tracker, event, true );
|
||||||
// call with no capture as the onMouseMoveWindow will
|
// call with no capture as the onMouseMoveCaptured will
|
||||||
// be triggered by onTouchMove
|
// be triggered by onTouchMove
|
||||||
onMouseDown( tracker, event, true, true );
|
onMouseDown( tracker, event, true, true );
|
||||||
}
|
}
|
||||||
@ -871,13 +871,13 @@
|
|||||||
*/
|
*/
|
||||||
function onMouseUp( tracker, event, isTouch ) {
|
function onMouseUp( tracker, event, isTouch ) {
|
||||||
var delegate = THIS[tracker.hash],
|
var delegate = THIS[tracker.hash],
|
||||||
//were we inside the tracked element when we were pressed
|
//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
|
//are we still inside the tracked element when we released
|
||||||
insideElementRelease = delegate.insideElement,
|
insideElementRelease = delegate.insideElement,
|
||||||
propagate;
|
propagate;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
event = $.getEvent( event );
|
event = $.getEvent( event );
|
||||||
|
|
||||||
@ -885,14 +885,14 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
delegate.buttonDownElement = false;
|
delegate.insideElementPressed = false;
|
||||||
|
|
||||||
if ( tracker.releaseHandler ) {
|
if ( tracker.releaseHandler ) {
|
||||||
propagate = tracker.releaseHandler(
|
propagate = tracker.releaseHandler(
|
||||||
tracker,
|
tracker,
|
||||||
{
|
{
|
||||||
position: getMouseRelative( event, tracker.element ),
|
position: getMouseRelative( event, tracker.element ),
|
||||||
insideElementPress: insideElementPress,
|
insideElementPressed: insideElementPressed,
|
||||||
insideElementRelease: insideElementRelease,
|
insideElementRelease: insideElementRelease,
|
||||||
isTouchEvent: isTouch,
|
isTouchEvent: isTouch,
|
||||||
originalEvent: event,
|
originalEvent: event,
|
||||||
@ -904,7 +904,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( insideElementPress && insideElementRelease ) {
|
if ( insideElementPressed && insideElementRelease ) {
|
||||||
handleMouseClick( tracker, event );
|
handleMouseClick( tracker, event );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -924,7 +924,7 @@
|
|||||||
|
|
||||||
// call with no release, as the mouse events are
|
// call with no release, as the mouse events are
|
||||||
// not registered in onTouchStart
|
// not registered in onTouchStart
|
||||||
onMouseUpWindow( tracker, event, true, true );
|
onMouseUpCaptured( tracker, event, true, true );
|
||||||
onMouseOut( tracker, event, true );
|
onMouseOut( tracker, event, true );
|
||||||
}
|
}
|
||||||
if ( event.touches.length + event.changedTouches.length == 2 ) {
|
if ( event.touches.length + event.changedTouches.length == 2 ) {
|
||||||
@ -983,8 +983,8 @@
|
|||||||
* @private
|
* @private
|
||||||
* @inner
|
* @inner
|
||||||
*/
|
*/
|
||||||
function onMouseUpWindow( tracker, event, noRelease, isTouch ) {
|
function onMouseUpCaptured( tracker, event, noRelease, isTouch ) {
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
if ( !THIS[tracker.hash].insideElement ) {
|
if ( !THIS[tracker.hash].insideElement ) {
|
||||||
onMouseUp( tracker, event, isTouch );
|
onMouseUp( tracker, event, isTouch );
|
||||||
@ -1041,7 +1041,7 @@
|
|||||||
var nDelta = 0,
|
var nDelta = 0,
|
||||||
propagate;
|
propagate;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
if ( !event ) { // For IE, access the global (window) event object
|
if ( !event ) { // For IE, access the global (window) event object
|
||||||
event = window.event;
|
event = window.event;
|
||||||
@ -1122,13 +1122,13 @@
|
|||||||
* @private
|
* @private
|
||||||
* @inner
|
* @inner
|
||||||
*/
|
*/
|
||||||
function onMouseMoveWindow( tracker, event, isTouch ) {
|
function onMouseMoveCaptured( tracker, event, isTouch ) {
|
||||||
var delegate = THIS[tracker.hash],
|
var delegate = THIS[tracker.hash],
|
||||||
delta,
|
delta,
|
||||||
propagate,
|
propagate,
|
||||||
point;
|
point;
|
||||||
|
|
||||||
isTouch = ( isTouch !== undefined ) ? isTouch : false;
|
isTouch = isTouch || false;
|
||||||
|
|
||||||
event = $.getEvent( event );
|
event = $.getEvent( event );
|
||||||
point = getMouseAbsolute( event );
|
point = getMouseAbsolute( event );
|
||||||
@ -1173,7 +1173,7 @@
|
|||||||
event.changedTouches.length === 1 &&
|
event.changedTouches.length === 1 &&
|
||||||
THIS[tracker.hash].lastTouch.identifier === event.touches[0].identifier ) {
|
THIS[tracker.hash].lastTouch.identifier === event.touches[0].identifier ) {
|
||||||
|
|
||||||
onMouseMoveWindow( tracker, event, true );
|
onMouseMoveCaptured( tracker, event, true );
|
||||||
|
|
||||||
} else if ( event.touches.length === 2 ) {
|
} else if ( event.touches.length === 2 ) {
|
||||||
|
|
||||||
@ -1188,8 +1188,7 @@
|
|||||||
//$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta);
|
//$.console.debug( "pinch delta : " + pinchDelta + " | previous : " + THIS[ tracker.hash ].lastPinchDelta);
|
||||||
|
|
||||||
// Adjust the original event enough to simulate a mouse wheel scroll
|
// Adjust the original event enough to simulate a mouse wheel scroll
|
||||||
event.shift = false;
|
event.shiftKey = event.shiftKey || false;
|
||||||
event.shiftKey = false;
|
|
||||||
event.pageX = THIS[tracker.hash].pinchMidpoint.x;
|
event.pageX = THIS[tracker.hash].pinchMidpoint.x;
|
||||||
event.pageY = THIS[tracker.hash].pinchMidpoint.y;
|
event.pageY = THIS[tracker.hash].pinchMidpoint.y;
|
||||||
event.detail = ( THIS[tracker.hash].lastPinchDelta > pinchDelta ) ? 1 : -1;
|
event.detail = ( THIS[tracker.hash].lastPinchDelta > pinchDelta ) ? 1 : -1;
|
||||||
@ -1211,10 +1210,10 @@
|
|||||||
* @private
|
* @private
|
||||||
* @inner
|
* @inner
|
||||||
*/
|
*/
|
||||||
function onMouseMoveIE( tracker, event ) {
|
function onMouseMoveCapturedIE( tracker, event ) {
|
||||||
var i;
|
var i;
|
||||||
for ( i = 0; i < CAPTURING.length; i++ ) {
|
for ( i = 0; i < CAPTURING.length; i++ ) {
|
||||||
onMouseMoveWindow( CAPTURING[i], event, false );
|
onMouseMoveCaptured( CAPTURING[i], event, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
$.stopEvent( event );
|
$.stopEvent( event );
|
||||||
@ -1233,7 +1232,7 @@
|
|||||||
* @inner
|
* @inner
|
||||||
*/
|
*/
|
||||||
function getMouseRelative( event, element ) {
|
function getMouseRelative( event, element ) {
|
||||||
var mouse = $.getMousePosition( event ),
|
var mouse = $.getMousePosition( event ),
|
||||||
offset = $.getElementOffset( element );
|
offset = $.getElementOffset( element );
|
||||||
|
|
||||||
return mouse.minus( offset );
|
return mouse.minus( offset );
|
||||||
|
@ -308,8 +308,8 @@ function onCanvasDrag( tracker, eventData ) {
|
|||||||
* @inner
|
* @inner
|
||||||
* @function
|
* @function
|
||||||
*/
|
*/
|
||||||
function onCanvasRelease( tracker, eventData ) {//position, insideElementPress, insideElementRelease
|
function onCanvasRelease( tracker, eventData ) {
|
||||||
if ( eventData.insideElementPress && this.viewer.viewport ) {
|
if ( eventData.insideElementPressed && this.viewer.viewport ) {
|
||||||
this.viewer.viewport.applyConstraints();
|
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.
|
* @returns {Point} - the position of the upper left corner of the element adjusted for current page and/or element scroll.
|
||||||
*/
|
*/
|
||||||
getElementOffset: function( element ) {
|
getElementOffset: function( element ) {
|
||||||
|
element = $.getElement( element );
|
||||||
|
|
||||||
var doc = element && element.ownerDocument,
|
var doc = element && element.ownerDocument,
|
||||||
docElement,
|
docElement,
|
||||||
win,
|
win,
|
||||||
|
@ -193,11 +193,11 @@ $.ReferenceStrip = function ( options ) {
|
|||||||
tracker.dragging = $.now();
|
tracker.dragging = $.now();
|
||||||
},
|
},
|
||||||
releaseHandler: function ( tracker, eventData ) {
|
releaseHandler: function ( tracker, eventData ) {
|
||||||
var id = tracker.element.id,
|
var id = tracker.element.id,
|
||||||
page = Number( id.split( '-' )[2] ),
|
page = Number( id.split( '-' )[2] ),
|
||||||
now = $.now();
|
now = $.now();
|
||||||
|
|
||||||
if ( eventData.insideElementPress &&
|
if ( eventData.insideElementPressed &&
|
||||||
eventData.insideElementRelease &&
|
eventData.insideElementRelease &&
|
||||||
tracker.dragging &&
|
tracker.dragging &&
|
||||||
( now - tracker.dragging ) < tracker.clickTimeThreshold ) {
|
( now - tracker.dragging ) < tracker.clickTimeThreshold ) {
|
||||||
@ -222,12 +222,12 @@ $.ReferenceStrip = function ( options ) {
|
|||||||
$.extend( $.ReferenceStrip.prototype, $.EventHandler.prototype, $.Viewer.prototype, {
|
$.extend( $.ReferenceStrip.prototype, $.EventHandler.prototype, $.Viewer.prototype, {
|
||||||
|
|
||||||
setFocus: function ( page ) {
|
setFocus: function ( page ) {
|
||||||
var element = $.getElement( this.element.id + '-' + page ),
|
var element = $.getElement( this.element.id + '-' + page ),
|
||||||
viewerSize = $.getElementSize( this.viewer.canvas ),
|
viewerSize = $.getElementSize( this.viewer.canvas ),
|
||||||
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
||||||
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
||||||
offsetLeft = -Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
offsetLeft = -Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
||||||
offsetTop = -Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
offsetTop = -Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
||||||
offset;
|
offset;
|
||||||
|
|
||||||
if ( this.currentSelected !== element ) {
|
if ( this.currentSelected !== element ) {
|
||||||
@ -291,11 +291,11 @@ $.extend( $.ReferenceStrip.prototype, $.EventHandler.prototype, $.Viewer.prototy
|
|||||||
*/
|
*/
|
||||||
function onStripDrag( tracker, eventData ) {
|
function onStripDrag( tracker, eventData ) {
|
||||||
|
|
||||||
var offsetLeft = Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
var offsetLeft = Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
||||||
offsetTop = Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
offsetTop = Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
||||||
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
||||||
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
||||||
viewerSize = $.getElementSize( this.viewer.canvas );
|
viewerSize = $.getElementSize( this.viewer.canvas );
|
||||||
this.dragging = true;
|
this.dragging = true;
|
||||||
if ( this.element ) {
|
if ( this.element ) {
|
||||||
if ( 'horizontal' == this.scroll ) {
|
if ( 'horizontal' == this.scroll ) {
|
||||||
@ -340,11 +340,11 @@ function onStripDrag( tracker, eventData ) {
|
|||||||
* @function
|
* @function
|
||||||
*/
|
*/
|
||||||
function onStripScroll( tracker, eventData ) {
|
function onStripScroll( tracker, eventData ) {
|
||||||
var offsetLeft = Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
var offsetLeft = Number( this.element.style.marginLeft.replace( 'px', '' ) ),
|
||||||
offsetTop = Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
offsetTop = Number( this.element.style.marginTop.replace( 'px', '' ) ),
|
||||||
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
scrollWidth = Number( this.element.style.width.replace( 'px', '' ) ),
|
||||||
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
scrollHeight = Number( this.element.style.height.replace( 'px', '' ) ),
|
||||||
viewerSize = $.getElementSize( this.viewer.canvas );
|
viewerSize = $.getElementSize( this.viewer.canvas );
|
||||||
if ( this.element ) {
|
if ( this.element ) {
|
||||||
if ( 'horizontal' == this.scroll ) {
|
if ( 'horizontal' == this.scroll ) {
|
||||||
if ( eventData.scroll > 0 ) {
|
if ( eventData.scroll > 0 ) {
|
||||||
|
@ -1472,13 +1472,13 @@ function onCanvasDrag( tracker, eventData ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onCanvasRelease( tracker, eventData ) {
|
function onCanvasRelease( tracker, eventData ) {
|
||||||
if ( eventData.insideElementPress && this.viewport ) {
|
if ( eventData.insideElementPressed && this.viewport ) {
|
||||||
this.viewport.applyConstraints();
|
this.viewport.applyConstraints();
|
||||||
}
|
}
|
||||||
this.raiseEvent( 'canvas-release', {
|
this.raiseEvent( 'canvas-release', {
|
||||||
tracker: tracker,
|
tracker: tracker,
|
||||||
position: eventData.position,
|
position: eventData.position,
|
||||||
insideElementPress: eventData.insideElementPress,
|
insideElementPressed: eventData.insideElementPressed,
|
||||||
insideElementRelease: eventData.insideElementRelease
|
insideElementRelease: eventData.insideElementRelease
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1504,7 +1504,7 @@ function onCanvasScroll( tracker, eventData ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onContainerExit( tracker, eventData ) {
|
function onContainerExit( tracker, eventData ) {
|
||||||
if ( !eventData.buttonDownElement ) {
|
if ( !eventData.insideElementPressed ) {
|
||||||
THIS[ this.hash ].mouseInside = false;
|
THIS[ this.hash ].mouseInside = false;
|
||||||
if ( !THIS[ this.hash ].animating ) {
|
if ( !THIS[ this.hash ].animating ) {
|
||||||
beginControlsAutoHide( this );
|
beginControlsAutoHide( this );
|
||||||
@ -1513,7 +1513,7 @@ function onContainerExit( tracker, eventData ) {
|
|||||||
this.raiseEvent( 'container-exit', {
|
this.raiseEvent( 'container-exit', {
|
||||||
tracker: tracker,
|
tracker: tracker,
|
||||||
position: eventData.position,
|
position: eventData.position,
|
||||||
buttonDownElement: eventData.buttonDownElement,
|
insideElementPressed: eventData.insideElementPressed,
|
||||||
buttonDownAny: eventData.buttonDownAny
|
buttonDownAny: eventData.buttonDownAny
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1528,7 +1528,7 @@ function onContainerRelease( tracker, eventData ) {
|
|||||||
this.raiseEvent( 'container-release', {
|
this.raiseEvent( 'container-release', {
|
||||||
tracker: tracker,
|
tracker: tracker,
|
||||||
position: eventData.position,
|
position: eventData.position,
|
||||||
insideElementPress: eventData.insideElementPress,
|
insideElementPressed: eventData.insideElementPressed,
|
||||||
insideElementRelease: eventData.insideElementRelease
|
insideElementRelease: eventData.insideElementRelease
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1539,7 +1539,7 @@ function onContainerEnter( tracker, eventData ) {
|
|||||||
this.raiseEvent( 'container-enter', {
|
this.raiseEvent( 'container-enter', {
|
||||||
tracker: tracker,
|
tracker: tracker,
|
||||||
position: eventData.position,
|
position: eventData.position,
|
||||||
buttonDownElement: eventData.buttonDownElement,
|
insideElementPressed: eventData.insideElementPressed,
|
||||||
buttonDownAny: eventData.buttonDownAny
|
buttonDownAny: eventData.buttonDownAny
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user