Diff for /zogiLib/js/Attic/dl_lib.js between versions 1.2 and 1.9

version 1.2, 2004/06/02 17:32:54 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);
     if (! elemScaler) {  
     return false;  
     }  
     picElem = getElement("pic", true);      picElem = getElement("pic", true);
     if (picElem == null) {      if (picElem == null && elemScaler) {
     // in N4 pic is in the layer scaler      // in N4 pic is in the scaler layer
     picElem = elemScaler.document.images[0];      picElem = elemScaler.document.images[0];
     }      }
     // give a name to the window containing digilib      if ((!elemScaler)||(!picElem)) {
     top.window.name = "digilib";      alert("Sorry, zogilib doesn't work here!");
       return false;
       }
     // 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 211  function dl_init() { Line 210  function dl_init() {
     renderMarks();      renderMarks();
     // done      // done
     focus();      focus();
     return null;      return;
 }  }
   
 function display(detail) {  function display(detail) {
Line 235  function openWin(url, title, params) { Line 234  function openWin(url, title, params) {
   
 function getRef(select) {  function getRef(select) {
     // open a dialog with a reference to the current digilib set      // open a dialog with a reference to the current digilib set
     var hyperlinkRef = baseUrl + "?" + getAllParameters(9);      if (! baseUrl) {
       var baseUrl = location.protocol + "//" + location.host + location.pathname;
       }
       var hyperlinkRef = baseUrl;
       var par = getAllParameters(9);
       if (par.length > 0) {
       hyperlinkRef += "?" + par;
       }
     if ( select == 0 ) {      if ( select == 0 ) {
     prompt("Link for LaTeX-documents", "\\href{" + hyperlinkRef + "}{TEXT}");      prompt("Link for LaTeX-documents", "\\href{" + hyperlinkRef + "}{TEXT}");
     } else if ( select == 1 ) {      } else if ( select == 1 ) {
Line 250  function renderMarks() { Line 256  function renderMarks() {
     if (defined(picElem.complete) && picElem.complete == false && ! browserType.isN4 ) {      if (defined(picElem.complete) && picElem.complete == false && ! browserType.isN4 ) {
     setTimeout("renderMarks()", 100);      setTimeout("renderMarks()", 100);
     } else {      } else {
     //alert("rendermarks!");  
     dlTrafo = parseTrafo(picElem);      dlTrafo = parseTrafo(picElem);
     for (var i = 0; i < 8; i++) {      for (var i = 0; i < 8; i++) {
         var me = getElement("dot"+i);          var me = getElement("dot"+i);
Line 280  function setMark() { Line 285  function setMark() {
   
     function markEvent(evt) {      function markEvent(evt) {
     // event handler adding a new mark       // event handler adding a new mark 
     var p = dlTrafo.invtransform(evtPosition(evt));  
     unregisterMouseDown(elemScaler, markEvent);      unregisterMouseDown(elemScaler, markEvent);
       var p = dlTrafo.invtransform(evtPosition(evt));
     addMark(p);      addMark(p);
     display();      display();
     }      }
Line 290  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  
     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 365  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 399  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);
 }  }
   
   
 function moveTo() {  function moveCenter() {
       // move visible area so that it's centered around the clicked point
     if ( (dlArea.width == 1.0) && (dlArea.height == 1.0) ) {      if ( (dlArea.width == 1.0) && (dlArea.height == 1.0) ) {
     alert("This function is only available when zoomed in!");      // noting to do
     return;      return;
     }      }
       window.focus();
   
     function moveToEvent(event) {      function moveCenterEvent(evt) {
     // move to handler      // move to handler
     var pt = evtPosition(evt);      unregisterMouseDown(elemScaler, moveCenterEvent);
       var pt = dlTrafo.invtransform(evtPosition(evt));
     var newarea = new Rectangle(pt.x-0.5*dlArea.width, pt.y-0.5*dlArea.height, dlArea.width, dlArea.height);      var newarea = new Rectangle(pt.x-0.5*dlArea.width, pt.y-0.5*dlArea.height, dlArea.width, dlArea.height);
     newarea = dlMaxArea.fit(newarea);      newarea = dlMaxArea.fit(newarea);
     // stopping event capture  
     unregisterMouseDown(elemScaler, moveToEvent);  
     // set parameters      // set parameters
     setParameter("wx", cropFloat(newarea.x));      setParamFromArea(newarea);
     setParameter("wy", cropFloat(newarea.y));      parseArea();
     setParameter("ww", cropFloat(newarea.width));  
     setParameter("wh", cropFloat(newarea.height));  
     display();      display();
     }      }
   
     // starting event capture      // starting event capture
     registerMouseDown(elemScaler, moveToEvent);      registerMouseDown(elemScaler, moveCenterEvent);
 }  }
   
   

Removed from v.1.2  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>