--- zogiLib/js/Attic/dl_lib.js 2004/06/03 18:13:29 1.5 +++ zogiLib/js/Attic/dl_lib.js 2004/06/25 16:59:45 1.9 @@ -190,17 +190,16 @@ var elemScaler = null; var picElem = null; function dl_init() { - elemScaler = getElement("scaler"); - if (! elemScaler) { - return false; - } + elemScaler = getElement("scaler", true); picElem = getElement("pic", true); - if (picElem == null) { + if (picElem == null && elemScaler) { // in N4 pic is in the scaler layer picElem = elemScaler.document.images[0]; } - // give a name to the window containing digilib - top.window.name = "digilib"; + if ((!elemScaler)||(!picElem)) { + alert("Sorry, zogilib doesn't work here!"); + return false; + } // put the query parameters (sans "?") in the parameters array parseParameters(location.search.slice(1)); // treat special parameters @@ -296,39 +295,6 @@ function setMark() { registerMouseDown(elemScaler, markEvent); } -var ZOOMFACTOR = Math.sqrt(2); - -function zoomPoint(inout) { - // zoom image in or out around the clicked point - var zoom = ZOOMFACTOR; - if (inout < 0) { - zoom = 1/ZOOMFACTOR; - } - window.focus(); - - function zoomPointEvent(evt) { - // take new center and set zoom parameters - unregisterMouseDown(elemScaler, zoomPointEvent); - var p = dlTrafo.invtransform(evtPosition(evt)); - var neww = Math.min(dlArea.width * (1/zoom), 1.0); - var newh = Math.min(dlArea.height * (1/zoom), 1.0); - var newx = p.x - 0.5 * neww; - var newy = p.y - 0.5 * newh; - var zoomarea = new Rectangle(newx, newy, neww, newh); - // check bounds - zoomarea = dlMaxArea.fit(zoomarea); - // set parameters - setParamFromArea(zoomarea); - parseArea(); - // zoomed is always fit - setParameter("ws", 1); - display(); - } - - // starting event capture - registerMouseDown(elemScaler, zoomPointEvent); -} - function zoomArea() { var click = 1; @@ -372,6 +338,8 @@ function zoomArea() { unregisterMouseMove(eck4, zoomMove); unregisterMouseDown(elemScaler, zoomClick); unregisterMouseDown(eck4, zoomClick); + unregisterMouseUp(elemScaler, zoomClick); + unregisterMouseUp(eck4, zoomClick); var p1 = dlTrafo.invtransform(pt1); var p2 = dlTrafo.invtransform(pt2); var ww = p2.x-p1.x; @@ -406,6 +374,8 @@ function zoomArea() { // starting event capture registerMouseDown(elemScaler, zoomClick); registerMouseDown(eck4, zoomClick); + registerMouseUp(elemScaler, zoomClick); + registerMouseUp(eck4, zoomClick); }