comparison client/digitallibrary/greyskin/dllib.js @ 443:089adc9e2a5f

placement of size menu
author hertzhaft
date Fri, 13 Jan 2006 12:03:25 +0100
parents 85aef29cc1da
children 6154dfc67615
comparison
equal deleted inserted replaced
442:3d37d8eae372 443:089adc9e2a5f
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.029"; 27 dllibVersion = "2.031";
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();
353 function loadScalerImage(detail) { 353 function loadScalerImage(detail) {
354 var pic = getElement('pic'); 354 var pic = getElement('pic');
355 var scaler = getElement('scaler'); 355 var scaler = getElement('scaler');
356 var zoomdiv = getElement("zoom"); // test for presence only 356 var zoomdiv = getElement("zoom"); // test for presence only
357 var overlay = getElement("overlay"); // test for presence only 357 var overlay = getElement("overlay"); // test for presence only
358 var about = getElement("bird"); // test for presence only 358 var about = getElement("about"); // test for presence only
359 var bird = getElement("bird"); // test for presence only 359 var bird = getElement("bird"); // test for presence only
360 var picsize = bestPicSize(scaler, 50); 360 var picsize = bestPicSize(scaler, 50);
361 var src = "../servlet/Scaler?" 361 var src = "../servlet/Scaler?"
362 + getQueryString() 362 + getQueryString()
363 + "&dw=" + picsize.width 363 + "&dw=" + picsize.width
393 } 393 }
394 // put the visible marks on the image 394 // put the visible marks on the image
395 dlTrafo = parseTrafo(scalerImg); 395 dlTrafo = parseTrafo(scalerImg);
396 // debugProps(dlArea, "dlArea"); 396 // debugProps(dlArea, "dlArea");
397 for (var i = 0; i < dlMarks.length; i++) { 397 for (var i = 0; i < dlMarks.length; i++) {
398 var div = document.getElementById("mark" + i) || createMarkDiv(i); 398 var div = getElement("mark" + i) || createMarkDiv(i);
399 var mark = dlMarks[i]; 399 var mark = dlMarks[i];
400 // debugProps(mark, "mark"); 400 // debugProps(mark, "mark");
401 if (dlArea.containsPosition(mark)) { 401 if (dlArea.containsPosition(mark)) {
402 var mpos = dlTrafo.transform(mark); // FIX ME: transform does not change anything 402 var mpos = dlTrafo.transform(mark); // FIX ME: transform does not change anything
403 // debugProps(mark, "mpos"); 403 // debugProps(mark, "mpos");
581 display(); 581 display();
582 } 582 }
583 583
584 function isFullArea(area) { 584 function isFullArea(area) {
585 if (!area) area = dlArea; 585 if (!area) area = dlArea;
586 return ((area.width == 1.0) && (area.height == 1.0)); 586 // pixel by pixel is not always full area
587 return (area.width == 1.0) && (area.height == 1.0) && ! hasFlag("clip");
587 } 588 }
588 589
589 function canMove(movx, movy) { 590 function canMove(movx, movy) {
590 if (isFullArea()) return false; 591 if (isFullArea()) return false;
591 var x2 = dlArea.x + dlArea.width; 592 var x2 = dlArea.x + dlArea.width;
717 718
718 function showAboutDiv(show) { 719 function showAboutDiv(show) {
719 // show or hide "about" div 720 // show or hide "about" div
720 var elem = getElement("about"); 721 var elem = getElement("about");
721 if (elem == null) { 722 if (elem == null) {
722 if (!show) return; 723 if (show) alert("About Digilib - dialog missing in HTML code!"
723 alert("About Digilib - dialog missing in HTML code!"
724 + "\nDigilib Version: " + digilibVersion 724 + "\nDigilib Version: " + digilibVersion
725 + "\JSP Version: " + jspVersion 725 + "\JSP Version: " + jspVersion
726 + "\ndlLib Version: " + dllibVersion 726 + "\ndlLib Version: " + dllibVersion
727 + "\nbaseLib Version: " + baseLibVersion); 727 + "\nbaseLib Version: " + baseLibVersion);
728 return; 728 return;
729 } 729 }
730 document.getElementById("digilib-version").innerHTML = "Digilib Version: " + digilibVersion; 730 if (show) {
731 document.getElementById("jsp-version").innerHTML = "JSP Version: " + jspVersion; 731 getElement("digilib-version").innerHTML = "Digilib Version: " + digilibVersion;
732 document.getElementById("baselib-version").innerHTML = "baseLib Version: " + baseLibVersion; 732 getElement("jsp-version").innerHTML = "JSP Version: " + jspVersion;
733 document.getElementById("dllib-version").innerHTML = "dlLib Version: " + dllibVersion; 733 getElement("baselib-version").innerHTML = "baseLib Version: " + baseLibVersion;
734 getElement("dllib-version").innerHTML = "dlLib Version: " + dllibVersion;
735 var aboutRect = getElementRect(elem);
736 aboutRect.setCenter(getWinRect().getCenter());
737 moveElement(elem, aboutRect);
738 }
734 showElement(elem, show); 739 showElement(elem, show);
735 } 740 }
736 741
737 function loadBirdImage() { 742 function loadBirdImage() {
738 var img = getElement("bird-image"); 743 var img = getElement("bird-image");
827 moveElement(arrow, rect); 832 moveElement(arrow, rect);
828 showElement(arrow, show); 833 showElement(arrow, show);
829 } 834 }
830 835
831 function showArrows() { 836 function showArrows() {
837 // show the 4 arrow bars on top of scaler img according to current dlArea
832 if (defined(scalerImg.complete) && !scalerImg.complete && !browserType.isN4 ) { 838 if (defined(scalerImg.complete) && !scalerImg.complete && !browserType.isN4 ) {
833 setTimeout("showArrows()", 100); 839 setTimeout("showArrows()", 100);
834 return; 840 return;
835 } 841 }
836 var r = getElementRect(scalerImg); 842 var r = getElementRect(scalerImg);
869 // mousedown handler: start drag 875 // mousedown handler: start drag
870 startPos = evtPosition(evt); 876 startPos = evtPosition(evt);
871 unregisterEvent("mousedown", document, calibrationStartDrag); 877 unregisterEvent("mousedown", document, calibrationStartDrag);
872 registerEvent("mousemove", document, calibrationMove); 878 registerEvent("mousemove", document, calibrationMove);
873 registerEvent("mouseup", document, calibrationEndDrag); 879 registerEvent("mouseup", document, calibrationEndDrag);
874 registerEvent("mousemove", calDiv, calibrationMove);
875 registerEvent("mouseup", calDiv, calibrationEndDrag);
876 newRect = new Rectangle( 880 newRect = new Rectangle(
877 startPos.x, 881 startPos.x,
878 startPos.y, 882 startPos.y,
879 xDir ? 1 : CALIBRATION_WIDTH, 883 xDir ? 1 : CALIBRATION_WIDTH,
880 xDir ? CALIBRATION_WIDTH : 1 884 xDir ? CALIBRATION_WIDTH : 1
900 904
901 function calibrationEndDrag(evt) { 905 function calibrationEndDrag(evt) {
902 // mouseup handler: calibrate 906 // mouseup handler: calibrate
903 unregisterEvent("mousemove", document, calibrationMove); 907 unregisterEvent("mousemove", document, calibrationMove);
904 unregisterEvent("mouseup", document, calibrationEndDrag); 908 unregisterEvent("mouseup", document, calibrationEndDrag);
905 unregisterEvent("mousemove", calDiv, calibrationMove);
906 unregisterEvent("mouseup", calDiv, calibrationEndDrag);
907 if (xDir) { 909 if (xDir) {
908 var val = newRect.width * 0.254; // ratio dm/inch 910 var val = newRect.width * 0.254; // ratio dm/inch
909 cookie.add("ddpi", val); 911 cookie.add("ddpi", val);
910 cookie.add("ddpix", val); 912 cookie.add("ddpix", val);
911 } else { 913 } else {
917 moveCenter(true); 919 moveCenter(true);
918 return stopEvent(evt); 920 return stopEvent(evt);
919 } 921 }
920 } 922 }
921 923
922 function originalSize() { 924 function originalSize(on) {
923 var dpi = cookie.get("ddpi"); 925 // set osize flag, needs calibrated screen
924 if (dpi == null) { 926 if (on) {
925 alert("Screen has not yet been calibrated - using default value of 72 dpi"); 927 var dpi = cookie.get("ddpi");
926 dpi = 72; 928 if (dpi == null) {
927 } 929 alert("Screen has not yet been calibrated - using default value of 72 dpi");
928 setParameter("ddpi", dpi); 930 dpi = 72;
929 addFlag("osize"); 931 }
930 display(); 932 setParameter("ddpi", dpi);
933 addFlag("osize");
934 display();
935 }
936 else removeFlag("osize");
931 } 937 }
932 938
933 function pixelByPixel() { 939 function pixelByPixel(on) {
934 addFlag("clip"); 940 // sets clip flag
935 display(); 941 if (on) {
942 addFlag("clip");
943 display();
944 }
945 else removeFlag("clip");
936 } 946 }
937 947
938 function resize(factor) { 948 function resize(factor) {
939 setParameter("ws", factor); 949 setParameter("ws", factor);
950 showSizeMenu(false);
940 display(); 951 display();
952 }
953
954 function showSizeMenu(show) {
941 var menu = getElement("sizes"); 955 var menu = getElement("sizes");
942 showElement(menu, false); 956 if (show) {
943 } 957 // align menu with button
944 958 var buttonPos = getElementPosition(getElement("size"));
945 function sizeMenu() { 959 moveElement(menu, new Position(buttonPos.x - 50, buttonPos.y));
946 var menu = getElement("sizes"); 960 }
947 showElement(menu, true); 961 showElement(menu, show);
948 } 962 }
949
950 // :tabSize=4:indentSize=4:noTabs=true: 963 // :tabSize=4:indentSize=4:noTabs=true:
951 964