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