Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 670:2ce9d77677b1 jquery
took renderBirdArea hooks out of scalerImgLoaded into redisplay.
still some problems with displaying bird zoom area
author | robcast |
---|---|
date | Tue, 25 Jan 2011 23:58:27 +0100 |
parents | b2a1421572b5 |
children | ba582354e659 |
comparison
equal
deleted
inserted
replaced
669:b2a1421572b5 | 670:2ce9d77677b1 |
---|---|
610 window.location = url; | 610 window.location = url; |
611 } else { | 611 } else { |
612 // embedded mode -- just change img src | 612 // embedded mode -- just change img src |
613 var url = getScalerUrl(data); | 613 var url = getScalerUrl(data); |
614 data.$img.attr('src', url); | 614 data.$img.attr('src', url); |
615 }; | 615 // and update bird's eye view |
616 if (settings.isBirdDivVisible) { | |
617 renderBirdArea(data); | |
618 } | |
619 }; | |
616 }; | 620 }; |
617 | 621 |
618 // returns maximum size for scaler img in fullscreen mode | 622 // returns maximum size for scaler img in fullscreen mode |
619 var getFullscreenImgSize = function($elem) { | 623 var getFullscreenImgSize = function($elem) { |
620 var $win = $(window); | 624 var $win = $(window); |
739 $birdDiv.append($birdzoomDiv); | 743 $birdDiv.append($birdzoomDiv); |
740 $birdDiv.append($birdImg); | 744 $birdDiv.append($birdImg); |
741 $birdzoomDiv.css(data.settings.birdIndicatorStyle); | 745 $birdzoomDiv.css(data.settings.birdIndicatorStyle); |
742 data.$birdDiv = $birdDiv; | 746 data.$birdDiv = $birdDiv; |
743 data.$birdImg = $birdImg; | 747 data.$birdImg = $birdImg; |
748 data.$birdZoom = $birdzoomDiv; | |
744 $birdImg.load(birdImgLoadedHandler(data)); | 749 $birdImg.load(birdImgLoadedHandler(data)); |
745 $birdImg.attr('src', birdUrl); | 750 $birdImg.attr('src', birdUrl); |
746 if (data.settings.isBirdDivVisible) { | 751 if (data.settings.isBirdDivVisible) { |
747 $birdDiv.fadeIn(); | 752 $birdDiv.fadeIn(); |
748 } | 753 } |
832 data.imgTrafo = getImgTrafo($img, data.zoomArea, | 837 data.imgTrafo = getImgTrafo($img, data.zoomArea, |
833 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir); | 838 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir); |
834 // display marks | 839 // display marks |
835 renderMarks(data); | 840 renderMarks(data); |
836 //digilib.showArrows(); // show arrow overlays for zoom navigation | 841 //digilib.showArrows(); // show arrow overlays for zoom navigation |
837 var $birdImg = data.$birdImg; | 842 /* var $birdImg = data.$birdImg; |
838 if ($birdImg) { | 843 if ($birdImg) { |
839 $birdImg.triggerHandler('load'); | 844 $birdImg.triggerHandler('load'); |
840 }; | 845 }; */ |
841 }; | 846 }; |
842 }; | 847 }; |
843 | 848 |
844 // returns function for load event of bird's eye view img | 849 // returns function for load event of bird's eye view img |
845 var birdImgLoadedHandler = function (data) { | 850 var birdImgLoadedHandler = function (data) { |
846 var $img = data.$birdImg; | 851 var $img = data.$birdImg; |
847 return function () { | 852 return function () { |
848 if (!$img) return; | 853 console.debug("birdimg loaded! this=", this, " data=", data); |
849 // console.debug("birdimg loaded! this=", this, " data=", data); | |
850 // create Transform from current area and picsize | 854 // create Transform from current area and picsize |
851 data.birdTrafo = getImgTrafo($img, MAX_ZOOMAREA); | 855 data.birdTrafo = getImgTrafo($img, MAX_ZOOMAREA); |
852 // display red indicator around zoomarea | 856 // display red indicator around zoomarea |
853 renderBirdArea(data); | 857 renderBirdArea(data); |
854 }; | 858 }; |
871 $mark.offset({left : mpos.x, top : mpos.y}); | 875 $mark.offset({left : mpos.x, top : mpos.y}); |
872 } | 876 } |
873 } | 877 } |
874 }; | 878 }; |
875 | 879 |
880 // show zoom area indicator on bird's eye view | |
876 var renderBirdArea = function (data) { | 881 var renderBirdArea = function (data) { |
877 var $birdzoom = data.$birdDiv.find('div.birdzoom'); | 882 var $birdzoom = data.$birdZoom; |
878 var zoomArea = data.zoomArea; | 883 var zoomArea = data.zoomArea; |
879 var indRect = data.birdTrafo.transform(zoomArea); | 884 var indRect = data.birdTrafo.transform(zoomArea); |
880 var coords = { | 885 var coords = { |
881 left : indRect.x-2, // acount for frame width | 886 left : indRect.x-2, // acount for frame width |
882 top : indRect.y-2, | 887 top : indRect.y-2, |