comparison client/digitallibrary/greyskin/dllib.js @ 439:65219f4fcf6b

added osize and pixel-by-pixel; reordered buttons;
author hertzhaft
date Tue, 10 Jan 2006 12:28:57 +0100
parents 4eeabb5ed193
children 85aef29cc1da
comparison
equal deleted inserted replaced
438:06f6b72dc8ac 439:65219f4fcf6b
22 22
23 ! Requires baselib.js ! 23 ! Requires baselib.js !
24 24
25 */ 25 */
26 digilibVersion = "Digilib NG"; 26 digilibVersion = "Digilib NG";
27 dllibVersion = "2.027"; 27 dllibVersion = "2.028";
28 isDigilibInitialized = false; // gets set to true in dl_param_init 28 isDigilibInitialized = false; // gets set to true in dl_param_init
29 reloadPage = true; // reload the page when parameters are changed, otherwise update only "src" attribute of scaler img 29 reloadPage = true; // reload the page when parameters are changed, otherwise update only "src" attribute of scaler img
30 30
31 // global variables 31 // global variables
32 dlTrafo = new Transform(); 32 dlTrafo = new Transform();
855 function calibrate(direction) { 855 function calibrate(direction) {
856 // calibrate screen 856 // calibrate screen
857 var startPos; // anchor for dragging 857 var startPos; // anchor for dragging
858 var newRect; // position after drag 858 var newRect; // position after drag
859 var calDiv = getElement("calibration"); 859 var calDiv = getElement("calibration");
860 var pixel = calDiv.getElementsByTagName("p")[0];
860 var overlay = getElement("overlay"); 861 var overlay = getElement("overlay");
861 moveElement(overlay, getWinRect()); 862 moveElement(overlay, getWinRect());
862 showElement(overlay, true); 863 showElement(overlay, true);
863 var xDir = direction == "x"; 864 var xDir = direction == "x";
864 moveCenter(false); 865 moveCenter(false);
876 startPos.x, 877 startPos.x,
877 startPos.y, 878 startPos.y,
878 xDir ? 1 : CALIBRATION_WIDTH, 879 xDir ? 1 : CALIBRATION_WIDTH,
879 xDir ? CALIBRATION_WIDTH : 1 880 xDir ? CALIBRATION_WIDTH : 1
880 ); 881 );
881 // stay within image
882 moveElement(calDiv, newRect); 882 moveElement(calDiv, newRect);
883 showElement(calDiv, true); 883 showElement(calDiv, true);
884 // debugProps(getElementRect(bird)) 884 // debugProps(getElementRect(bird))
885 return stopEvent(evt); 885 return stopEvent(evt);
886 } 886 }
890 var pos = evtPosition(evt); 890 var pos = evtPosition(evt);
891 var dx = (xDir) ? pos.x - startPos.x : CALIBRATION_WIDTH; 891 var dx = (xDir) ? pos.x - startPos.x : CALIBRATION_WIDTH;
892 var dy = (xDir) ? CALIBRATION_WIDTH : pos.y - startPos.y; 892 var dy = (xDir) ? CALIBRATION_WIDTH : pos.y - startPos.y;
893 // move birdArea div, keeping size 893 // move birdArea div, keeping size
894 newRect = new Rectangle(startPos.x, startPos.y, dx, dy); 894 newRect = new Rectangle(startPos.x, startPos.y, dx, dy);
895 // stay within image 895 pixel.innerHTML = (xDir ? dx : dy) + " px";
896 moveElement(calDiv, newRect); 896 moveElement(calDiv, newRect);
897 showElement(calDiv, true); 897 showElement(calDiv, true);
898 return stopEvent(evt); 898 return stopEvent(evt);
899 } 899 }
900 900
902 // mouseup handler: calibrate 902 // mouseup handler: calibrate
903 unregisterEvent("mousemove", document, calibrationMove); 903 unregisterEvent("mousemove", document, calibrationMove);
904 unregisterEvent("mouseup", document, calibrationEndDrag); 904 unregisterEvent("mouseup", document, calibrationEndDrag);
905 unregisterEvent("mousemove", calDiv, calibrationMove); 905 unregisterEvent("mousemove", calDiv, calibrationMove);
906 unregisterEvent("mouseup", calDiv, calibrationEndDrag); 906 unregisterEvent("mouseup", calDiv, calibrationEndDrag);
907 if (xDir) {
908 var val = newRect.width * 0.254; // ratio dm/inch
909 cookie.add("ddpi", val);
910 cookie.add("ddpix", val);
911 } else {
912 var val = newRect.height * 0.254;
913 cookie.add("ddpiy", val);
914 }
907 showElement(calDiv, false); 915 showElement(calDiv, false);
908 showElement(overlay, false); 916 showElement(overlay, false);
909 moveCenter(true); 917 moveCenter(true);
910
911 // TODO: calculate ...
912 return stopEvent(evt); 918 return stopEvent(evt);
913 } 919 }
914 } 920 }
915 921
922 function originalSize() {
923 var dpi = cookie.get("ddpi");
924 if (dpi == null) {
925 alert("Screen has not yet been calibrated - using default value of 72 dpi");
926 dpi = 72;
927 }
928 setParameter("ddpi", dpi);
929 addFlag("osize");
930 display();
931 }
932
933 function pixelByPixel() {
934 addFlag("clip");
935 display();
936 }
916 // :tabSize=4:indentSize=4:noTabs=true: 937 // :tabSize=4:indentSize=4:noTabs=true:
917 938