comparison client/digitallibrary/jquery/jquery.digilib.js @ 761:16778bd2de7c jquery

added setScaleMode. no compensation for change in scaling yet.
author robcast
date Wed, 09 Feb 2011 10:22:29 +0100
parents f0be4432f515
children 31664707999e
comparison
equal deleted inserted replaced
760:f0be4432f515 761:16778bd2de7c
151 onclick : "calibrate", 151 onclick : "calibrate",
152 tooltip : "calibrate screen resolution", 152 tooltip : "calibrate screen resolution",
153 img : "calibration-x.png" 153 img : "calibration-x.png"
154 }, 154 },
155 scale : { 155 scale : {
156 onclick : "javascript:toggleScaleMenu()", 156 onclick : "setScaleMode",
157 tooltip : "change image scale", 157 tooltip : "change image scale",
158 img : "original-size.png" 158 img : "original-size.png"
159 }, 159 },
160 toggleoptions : { 160 toggleoptions : {
161 onclick : "moreButtons", 161 onclick : "moreButtons",
588 588
589 // calibrate (only faking) 589 // calibrate (only faking)
590 calibrate : function (data) { 590 calibrate : function (data) {
591 getImageInfo(data); 591 getImageInfo(data);
592 }, 592 },
593
594 // set image scale mode
595 setScaleMode : function (data, mode) {
596 var oldM = getScaleMode(data);
597 if (mode == null) {
598 mode = window.prompt("Image scale mode (screen, pixel, size)", oldM);
599 }
600 if (mode != null) {
601 setScaleMode(data, mode);
602 redisplay(data);
603 }
604 }
593 605
594 }; 606 };
595 607
596 // returns parameters from page url 608 // returns parameters from page url
597 var parseQueryParams = function() { 609 var parseQueryParams = function() {
1147 var $birdImg = $(this); 1159 var $birdImg = $(this);
1148 var birdRect = geom.rectangle($birdImg); 1160 var birdRect = geom.rectangle($birdImg);
1149 console.debug("birdImg loaded!", $birdImg, "rect=", birdRect, "data=", data); 1161 console.debug("birdImg loaded!", $birdImg, "rect=", birdRect, "data=", data);
1150 if (birdRect.width === 0) { 1162 if (birdRect.width === 0) {
1151 // malheureusement IE7 calls load handler when there is no size info yet 1163 // malheureusement IE7 calls load handler when there is no size info yet
1152 setTimeout(function () { $birdImg.triggerHandler('load') }, 200); 1164 setTimeout(function () { $birdImg.triggerHandler('load'); }, 200);
1153 } 1165 }
1154 // display red indicator around zoomarea 1166 // display red indicator around zoomarea
1155 renderBirdArea(data); 1167 renderBirdArea(data);
1156 // enable click and drag 1168 // enable click and drag
1157 setupBirdDrag(data); 1169 setupBirdDrag(data);
1524 delete flags['q'+i]; 1536 delete flags['q'+i];
1525 } 1537 }
1526 flags['q'+qual] = 'q'+qual; 1538 flags['q'+qual] = 'q'+qual;
1527 }; 1539 };
1528 1540
1529 // sets a key to a value (relative values with +/- if relative=true) 1541 // get image scale mode (screen, pixel, size)
1542 var getScaleMode = function (data) {
1543 if (data.scalerFlags.clip != null) {
1544 return 'pixel';
1545 } else if (data.scalerFlags.osize != null) {
1546 return 'size';
1547 }
1548 // mo=fit is default
1549 return 'screen';
1550 };
1551
1552 // set image scale mode (screen, pixel, size)
1553 var setScaleMode = function (data, mode) {
1554 delete data.scalerFlags.fit;
1555 delete data.scalerFlags.clip;
1556 delete data.scalerFlags.osize;
1557 if (mode === 'pixel') {
1558 data.scalerFlags.clip = 'clip';
1559 } else if (mode === 'size') {
1560 data.scalerFlags.osize = 'osize';
1561 }
1562 // mo=fit is default
1563 };
1564
1565 // sets a key to a value (relative values with +/- if relative=true)
1530 var setNumValue = function(settings, key, value) { 1566 var setNumValue = function(settings, key, value) {
1531 if (value == null) return null; 1567 if (value == null) return null;
1532 if (isNumber(value)) { 1568 if (isNumber(value)) {
1533 settings[key] = value; 1569 settings[key] = value;
1534 return value; 1570 return value;