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;