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