2013-03-22 00:44:22 +04:00
|
|
|
(function() {
|
|
|
|
|
|
|
|
// ----------
|
|
|
|
window.Util = {
|
|
|
|
// ----------
|
|
|
|
simulateViewerClick: function(viewer, widthFactor, heightFactor) {
|
|
|
|
if (widthFactor === undefined) {
|
|
|
|
widthFactor = 0.5;
|
|
|
|
}
|
2013-06-19 21:33:25 +04:00
|
|
|
|
2013-03-31 05:53:22 +04:00
|
|
|
//TODO Redefine to be the middle by default
|
2013-03-22 00:44:22 +04:00
|
|
|
if (heightFactor === undefined) {
|
|
|
|
heightFactor = 0.5;
|
|
|
|
}
|
|
|
|
|
|
|
|
widthFactor = Math.min(1, Math.max(0, widthFactor));
|
2013-03-31 05:53:22 +04:00
|
|
|
//TODO Fix this. The max height should be 1/AR
|
2013-03-22 00:44:22 +04:00
|
|
|
heightFactor = Math.min(1, Math.max(0, heightFactor));
|
|
|
|
|
|
|
|
var $canvas = $(viewer.element).find('.openseadragon-canvas').not('.navigator .openseadragon-canvas');
|
|
|
|
var offset = $canvas.offset();
|
|
|
|
var event = {
|
|
|
|
clientX: offset.left + Math.floor($canvas.width() * widthFactor),
|
|
|
|
clientY: offset.top + Math.floor($canvas.height() * heightFactor)
|
|
|
|
};
|
|
|
|
|
|
|
|
$canvas
|
|
|
|
.simulate('mouseover', event)
|
|
|
|
.simulate('mousedown', event)
|
|
|
|
.simulate('mouseup', event);
|
2013-04-05 06:30:59 +04:00
|
|
|
},
|
|
|
|
|
|
|
|
resetDom: function () {
|
|
|
|
if ($('#exampleNavigator').is(':ui-dialog')) {
|
|
|
|
$('#exampleNavigator').dialog('destroy');
|
|
|
|
}
|
|
|
|
$("#exampleNavigator").remove();
|
|
|
|
$(".navigator").remove();
|
|
|
|
$("#example").empty();
|
|
|
|
$("#tallexample").empty();
|
|
|
|
$("#wideexample").empty();
|
|
|
|
$("#example").parent().append('<div id="exampleNavigator"></div>');
|
|
|
|
},
|
|
|
|
|
|
|
|
equalsWithVariance: function (value1, value2, variance) {
|
|
|
|
return Math.abs(value1 - value2) <= variance;
|
|
|
|
},
|
|
|
|
|
|
|
|
assessNumericValue: function (value1, value2, variance, message) {
|
|
|
|
ok(Util.equalsWithVariance(value1, value2, variance), message + " Expected:" + value1 + " Found: " + value2 + " Variance: " + variance);
|
2013-05-18 06:29:08 +04:00
|
|
|
},
|
|
|
|
|
2013-05-10 22:53:49 +04:00
|
|
|
timeWatcher: function(time) {
|
|
|
|
time = time || 2000;
|
|
|
|
var finished = false;
|
|
|
|
|
|
|
|
setTimeout(function() {
|
|
|
|
if (!finished) {
|
|
|
|
finished = true;
|
|
|
|
ok(false, 'finishes in ' + time + 'ms');
|
|
|
|
start();
|
|
|
|
}
|
|
|
|
}, time);
|
|
|
|
|
|
|
|
return {
|
|
|
|
done: function() {
|
|
|
|
if (!finished) {
|
|
|
|
finished = true;
|
|
|
|
start();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
2013-03-22 00:44:22 +04:00
|
|
|
}
|
2013-03-31 05:53:22 +04:00
|
|
|
|
2013-03-22 00:44:22 +04:00
|
|
|
};
|
|
|
|
|
2013-04-09 04:59:16 +04:00
|
|
|
})();
|
|
|
|
|