Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 652:9ec8f039e942 jquery
small birdview improvements
| author | hertzhaft |
|---|---|
| date | Sat, 22 Jan 2011 00:26:43 +0100 |
| parents | 2d85d820501d |
| children | 2390d548ae0b |
comparison
equal
deleted
inserted
replaced
| 651:2d85d820501d | 652:9ec8f039e942 |
|---|---|
| 192 'buttonsCustom' : [], | 192 'buttonsCustom' : [], |
| 193 // is birdView shown? | 193 // is birdView shown? |
| 194 'isBirdDivVisible' : false, | 194 'isBirdDivVisible' : false, |
| 195 // dimensions of bird's eye window | 195 // dimensions of bird's eye window |
| 196 'birdDivOptions' : {'dw' : 200, 'dh' : 200}, | 196 'birdDivOptions' : {'dw' : 200, 'dh' : 200}, |
| 197 // style of bird's eye window | |
| 198 'birdIndicatorStyle' : {'border' : '2px solid #ff0000' }, | |
| 197 // is the "about" window shown? | 199 // is the "about" window shown? |
| 198 'isAboutDivVisible' : false | 200 'isAboutDivVisible' : false |
| 199 | 201 |
| 200 }; | 202 }; |
| 201 | 203 |
| 282 // no bird div -> create | 284 // no bird div -> create |
| 283 setupBirdDiv(data); | 285 setupBirdDiv(data); |
| 284 } | 286 } |
| 285 // TODO: keep bird view visible after reload (parameter, cookie?) | 287 // TODO: keep bird view visible after reload (parameter, cookie?) |
| 286 data.settings.isBirdDivVisible = showDiv(data.settings.isBirdDivVisible, data.$birdDiv, show); | 288 data.settings.isBirdDivVisible = showDiv(data.settings.isBirdDivVisible, data.$birdDiv, show); |
| 287 showBirdIndicator(data); | |
| 288 }, | 289 }, |
| 289 | 290 |
| 290 // goto given page nr (+/-: relative) | 291 // goto given page nr (+/-: relative) |
| 291 gotoPage : function (data, pageNr) { | 292 gotoPage : function (data, pageNr) { |
| 292 var settings = data.settings; | 293 var settings = data.settings; |
| 762 } | 763 } |
| 763 }; | 764 }; |
| 764 | 765 |
| 765 var renderBirdArea = function (data) { | 766 var renderBirdArea = function (data) { |
| 766 var $ind = data.$birdDiv.find('div.birdzoom'); | 767 var $ind = data.$birdDiv.find('div.birdzoom'); |
| 767 var indRect = data.birdTrafo.transform(data.zoomArea); | 768 var zoomArea = data.zoomArea; |
| 769 var indRect = data.birdTrafo.transform(zoomArea); | |
| 770 //if (isFullArea(zoomArea)) return $ind.hide(); | |
| 768 // TODO: set the coordinates all in one call? | 771 // TODO: set the coordinates all in one call? |
| 769 $ind.width(indRect.width); | 772 $ind.width(indRect.width); |
| 770 $ind.height(indRect.height); | 773 $ind.height(indRect.height); |
| 771 $ind.offset({ left : indRect.x, top : indRect.y }); | 774 // offset minus frame width |
| 772 // TODO: how to override this style with a CSS stylesheet? | 775 $ind.offset({ left : indRect.x-2, top : indRect.y-2 }); |
| 773 if (!$ind.css('border')) $ind.css('border', '2px solid #ff0000'); | 776 $ind.css(data.settings.birdIndicatorStyle); |
| 774 } | 777 } |
| 775 | 778 |
| 776 // zooms by the given factor | 779 // zooms by the given factor |
| 777 var zoomBy = function(data, factor) { | 780 var zoomBy = function(data, factor) { |
| 778 var area = data.zoomArea; | 781 var area = data.zoomArea; |
| 779 var newarea = area.copy(); | 782 var newarea = area.copy(); |
| 780 // scale | 783 // scale |
| 890 } | 893 } |
| 891 return settings[key]; | 894 return settings[key]; |
| 892 }; | 895 }; |
| 893 | 896 |
| 894 // auxiliary function (from old dllib.js) | 897 // auxiliary function (from old dllib.js) |
| 895 isFullArea = function(data) { | 898 isFullArea = function(area) { |
| 896 var area = data.zoomArea; | 899 return (area.width === 1.0) && (area.height === 1.0); |
| 897 return (area.width == 1.0) && (area.height == 1.0); | |
| 898 }; | 900 }; |
| 899 | 901 |
| 900 // auxiliary function (from Douglas Crockford, A.10) | 902 // auxiliary function (from Douglas Crockford, A.10) |
| 901 var isNumber = function isNumber(value) { | 903 var isNumber = function isNumber(value) { |
| 902 return typeof value === 'number' && isFinite(value); | 904 return typeof value === 'number' && isFinite(value); |
