|
|
| version 1.6, 2004/06/04 16:07:49 | version 1.9, 2004/06/25 16:59:45 |
|---|---|
| Line 190 var elemScaler = null; | Line 190 var elemScaler = null; |
| var picElem = null; | var picElem = null; |
| function dl_init() { | function dl_init() { |
| elemScaler = getElement("scaler"); | elemScaler = getElement("scaler", true); |
| picElem = getElement("pic", true); | picElem = getElement("pic", true); |
| if (picElem == null) { | if (picElem == null && elemScaler) { |
| // in N4 pic is in the scaler layer | // in N4 pic is in the scaler layer |
| picElem = elemScaler.document.images[0]; | picElem = elemScaler.document.images[0]; |
| } | } |
| Line 200 function dl_init() { | Line 200 function dl_init() { |
| alert("Sorry, zogilib doesn't work here!"); | alert("Sorry, zogilib doesn't work here!"); |
| return false; | return false; |
| } | } |
| // give a name to the window containing digilib | |
| top.window.name = "digilib"; | |
| // put the query parameters (sans "?") in the parameters array | // put the query parameters (sans "?") in the parameters array |
| parseParameters(location.search.slice(1)); | parseParameters(location.search.slice(1)); |
| // treat special parameters | // treat special parameters |
| Line 297 function setMark() { | Line 295 function setMark() { |
| registerMouseDown(elemScaler, markEvent); | 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() { | function zoomArea() { |
| var click = 1; | var click = 1; |
| Line 373 function zoomArea() { | Line 338 function zoomArea() { |
| unregisterMouseMove(eck4, zoomMove); | unregisterMouseMove(eck4, zoomMove); |
| unregisterMouseDown(elemScaler, zoomClick); | unregisterMouseDown(elemScaler, zoomClick); |
| unregisterMouseDown(eck4, zoomClick); | unregisterMouseDown(eck4, zoomClick); |
| unregisterMouseUp(elemScaler, zoomClick); | |
| unregisterMouseUp(eck4, zoomClick); | |
| var p1 = dlTrafo.invtransform(pt1); | var p1 = dlTrafo.invtransform(pt1); |
| var p2 = dlTrafo.invtransform(pt2); | var p2 = dlTrafo.invtransform(pt2); |
| var ww = p2.x-p1.x; | var ww = p2.x-p1.x; |
| Line 407 function zoomArea() { | Line 374 function zoomArea() { |
| // starting event capture | // starting event capture |
| registerMouseDown(elemScaler, zoomClick); | registerMouseDown(elemScaler, zoomClick); |
| registerMouseDown(eck4, zoomClick); | registerMouseDown(eck4, zoomClick); |
| registerMouseUp(elemScaler, zoomClick); | |
| registerMouseUp(eck4, zoomClick); | |
| } | } |