Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 696:09e06aa12c0d jquery
set quality works now (window.prompt only)
author | robcast |
---|---|
date | Fri, 28 Jan 2011 11:51:13 +0100 |
parents | 53c75b4bc358 |
children | 3379674e4e15 |
comparison
equal
deleted
inserted
replaced
694:53c75b4bc358 | 696:09e06aa12c0d |
---|---|
114 onclick : "javascript:setParamWin('rgb', '...')", | 114 onclick : "javascript:setParamWin('rgb', '...')", |
115 tooltip : "set rgb values", | 115 tooltip : "set rgb values", |
116 img : "rgb.png" | 116 img : "rgb.png" |
117 }, | 117 }, |
118 quality : { | 118 quality : { |
119 onclick : "javascript:setQualityWin('Quality (0..2)')", | 119 onclick : "setquality", |
120 tooltip : "set image quality", | 120 tooltip : "set image quality", |
121 img : "quality.png" | 121 img : "quality.png" |
122 }, | 122 }, |
123 size : { | 123 size : { |
124 onclick : "javascript:toggleSizeMenu()", | 124 onclick : "javascript:toggleSizeMenu()", |
437 | 437 |
438 // display more (or less) button sets | 438 // display more (or less) button sets |
439 morebuttons : function (data, more) { | 439 morebuttons : function (data, more) { |
440 var settings = data.settings; | 440 var settings = data.settings; |
441 if (more == null) { | 441 if (more == null) { |
442 // toggle more or less | 442 // toggle more or less (only works for 2 sets) |
443 var maxbtns = settings.buttonSettings[settings.interactionMode].buttonSets.length; | 443 var maxbtns = settings.buttonSettings[settings.interactionMode].buttonSets.length; |
444 if (settings.visibleButtonSets >= maxbtns) { | 444 if (settings.visibleButtonSets >= maxbtns) { |
445 more = '-1'; | 445 more = '-1'; |
446 } else { | 446 } else { |
447 more = '+1'; | 447 more = '+1'; |
460 settings.visibleButtonSets++; | 460 settings.visibleButtonSets++; |
461 } | 461 } |
462 } | 462 } |
463 }, | 463 }, |
464 | 464 |
465 // reset image parameters to defaults | |
465 reset : function (data) { | 466 reset : function (data) { |
466 var settings = data.settings; | 467 var settings = data.settings; |
467 var paramNames = settings.digilibParamNames; | 468 var paramNames = settings.digilibParamNames; |
468 var params = data.queryParams; | 469 var params = data.queryParams; |
469 resetData(data); | 470 resetData(data); |
481 $.extend(settings, params); | 482 $.extend(settings, params); |
482 }; | 483 }; |
483 redisplay(data); | 484 redisplay(data); |
484 }, | 485 }, |
485 | 486 |
486 reference : function (data) { | 487 // presents a reference url (returns value if noprompt) |
488 reference : function (data, noprompt) { | |
487 var settings = data.settings; | 489 var settings = data.settings; |
488 var url; | 490 var url; |
489 if (settings.interactionMode === 'fullscreen') { | 491 if (settings.interactionMode === 'fullscreen') { |
490 url = getDigilibUrl(data); | 492 url = getDigilibUrl(data); |
491 } else { | 493 } else { |
492 url = getScalerUrl(data); | 494 url = getScalerUrl(data); |
493 }; | 495 }; |
494 window.prompt("URL reference to the current view", url); | 496 if (noprompt == null) { |
497 window.prompt("URL reference to the current view", url); | |
498 } | |
499 return url; | |
500 }, | |
501 | |
502 // set image quality | |
503 setquality : function (data, qual) { | |
504 var oldq = getQuality(data); | |
505 if (qual == null) { | |
506 qual = window.prompt("Image quality (0..2)", oldq); | |
507 } | |
508 qual = parseInt(qual, 10); | |
509 if (qual >= 0 && qual <= 2) { | |
510 setQuality(data, qual); | |
511 redisplay(data); | |
512 } | |
495 } | 513 } |
496 }; | 514 }; |
497 | 515 |
498 // returns parameters from page url | 516 // returns parameters from page url |
499 var parseQueryParams = function() { | 517 var parseQueryParams = function() { |
1230 | 1248 |
1231 $birdImg.bind("mousedown.digilib", birdZoomStartDrag); | 1249 $birdImg.bind("mousedown.digilib", birdZoomStartDrag); |
1232 $birdZoom.bind("mousedown.digilib", birdZoomStartDrag); | 1250 $birdZoom.bind("mousedown.digilib", birdZoomStartDrag); |
1233 }; | 1251 }; |
1234 | 1252 |
1253 // get image quality as a number (0..2) | |
1254 var getQuality = function (data) { | |
1255 var flags = data.scalerFlags; | |
1256 var q = flags.q2 || flags.q1 || 'q0'; // assume q0 as default | |
1257 return parseInt(q[1], 10); | |
1258 }; | |
1259 | |
1260 // set image quality as a number (0..2) | |
1261 var setQuality = function (data, qual) { | |
1262 var flags = data.scalerFlags; | |
1263 // clear flags | |
1264 for (var i = 0; i < 3; ++i) { | |
1265 delete flags['q'+i]; | |
1266 } | |
1267 flags['q'+qual] = 'q'+qual; | |
1268 }; | |
1269 | |
1235 // sets a key to a value (relative values with +/- if relative=true) | 1270 // sets a key to a value (relative values with +/- if relative=true) |
1236 var setNumValue = function(settings, key, value) { | 1271 var setNumValue = function(settings, key, value) { |
1237 if (isNumber(value)) return settings[key] = value; | 1272 if (isNumber(value)) return settings[key] = value; |
1238 var sign = value.substring(0,1); | 1273 var sign = value.substring(0,1); |
1239 if (sign === '+' || sign === '-') { | 1274 if (sign === '+' || sign === '-') { |