Mercurial > hg > digilib
comparison client/digitallibrary/jquery/jquery.digilib.js @ 736:a3381aff9f12 jquery
zoom-drag background follows rotation and mirror
author | robcast |
---|---|
date | Wed, 02 Feb 2011 22:28:36 +0100 |
parents | 9969e01b37cf |
children | f527959baa3e |
comparison
equal
deleted
inserted
replaced
735:9969e01b37cf | 736:a3381aff9f12 |
---|---|
638 var url = settings.scalerBaseUrl + '?' + queryString; | 638 var url = settings.scalerBaseUrl + '?' + queryString; |
639 return url; | 639 return url; |
640 }; | 640 }; |
641 | 641 |
642 // returns URL for bird's eye view image | 642 // returns URL for bird's eye view image |
643 var getBirdImgUrl = function (data) { | 643 var getBirdImgUrl = function (data, moreParams) { |
644 var settings = data.settings; | 644 var settings = data.settings; |
645 var birdDivOptions = { | 645 var birdDivOptions = { |
646 dw : settings.birdDivWidth, | 646 dw : settings.birdDivWidth, |
647 dh : settings.birdDivHeight | 647 dh : settings.birdDivHeight |
648 }; | 648 }; |
649 var birdSettings = $.extend({}, settings, birdDivOptions); | 649 var birdSettings = jQuery.extend({}, settings, birdDivOptions); |
650 // use only the relevant parameters | 650 // use only the relevant parameters |
651 var url = settings.scalerBaseUrl + '?' + | 651 if (moreParams == null) { |
652 getParamString(birdSettings, settings.birdDivParams); | 652 var params = getParamString(birdSettings, settings.birdDivParams, defaults); |
653 } else { | |
654 var params = getParamString(birdSettings, | |
655 settings.birdDivParams.concat(moreParams), defaults); | |
656 } | |
657 var url = settings.scalerBaseUrl + '?' + params; | |
653 return url; | 658 return url; |
654 }; | 659 }; |
655 | 660 |
656 // returns URL and query string for current digilib | 661 // returns URL and query string for current digilib |
657 var getDigilibUrl = function (data) { | 662 var getDigilibUrl = function (data) { |
1375 fullRect = data.imgTrafo.transform(FULL_AREA); | 1380 fullRect = data.imgTrafo.transform(FULL_AREA); |
1376 if (fullRect.height < data.settings.maxBgSize && fullRect.width < data.settings.maxBgSize) { | 1381 if (fullRect.height < data.settings.maxBgSize && fullRect.width < data.settings.maxBgSize) { |
1377 // correct offset because background is relative | 1382 // correct offset because background is relative |
1378 var scalePos = geom.position($scaler); | 1383 var scalePos = geom.position($scaler); |
1379 fullRect.addPosition(scalePos.neg()); | 1384 fullRect.addPosition(scalePos.neg()); |
1380 scalerCss['background-image'] = 'url(' + getBirdImgUrl(data) + ')'; | 1385 var url = getBirdImgUrl(data, ['rot', 'mo']); |
1386 scalerCss['background-image'] = 'url(' + url + ')'; | |
1381 scalerCss[data.bgSizeName] = fullRect.width + 'px ' + fullRect.height + 'px'; | 1387 scalerCss[data.bgSizeName] = fullRect.width + 'px ' + fullRect.height + 'px'; |
1382 scalerCss['background-position'] = fullRect.x + 'px '+ fullRect.y + 'px'; | 1388 scalerCss['background-position'] = fullRect.x + 'px '+ fullRect.y + 'px'; |
1383 } else { | 1389 } else { |
1384 // too big | 1390 // too big |
1385 fullRect = null; | 1391 fullRect = null; |