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); |