(function() { // ---------- window.Util = { // ---------- simulateViewerClick: function(viewer, widthFactor, heightFactor) { if (widthFactor === undefined) { widthFactor = 0.5; } //TODO Redefine to be the middle by default if (heightFactor === undefined) { heightFactor = 0.5; } widthFactor = Math.min(1, Math.max(0, widthFactor)); //TODO Fix this. The max height should be 1/AR 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); }, resetDom: function () { if ($('#exampleNavigator').is(':ui-dialog')) { $('#exampleNavigator').dialog('destroy'); } $("#exampleNavigator").remove(); $(".navigator").remove(); $("#example").empty(); $("#tallexample").empty(); $("#wideexample").empty(); $("#example").parent().append('
'); }, 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); }, 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(); } } }; } }; })();