Mercurial > hg > digilib-old
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 |