comparison client/digitallibrary/jquery/jquery.digilib.js @ 770:8944c61e08d1 jquery

minor precisations
author hertzhaft
date Fri, 11 Feb 2011 23:19:39 +0100
parents cef1ef426366 5c04652f3660
children ac5aa77ada08
comparison
equal deleted inserted replaced
769:fb5e070210ff 770:8944c61e08d1
206 'rgba' : '0/0/0', 206 'rgba' : '0/0/0',
207 'ddpi' : null, 207 'ddpi' : null,
208 'ddpix' : null, 208 'ddpix' : null,
209 'ddpiy' : null, 209 'ddpiy' : null,
210 // list of digilib parameters 210 // list of digilib parameters
211 'digilibParamNames' : ['fn','pn','ww','wh','wx','wy','ws','mo','rot','cont','brgt','rgbm','rgba','mk','clop'], 211 'digilibParamNames' : ['fn','pn','ww','wh','wx','wy','ws','mo','rot','cont','brgt','rgbm','rgba','ddpi','mk','clop'],
212 // digilib parameter defaults 212 // digilib parameter defaults
213 'mk' : '', 213 'mk' : '',
214 'clop' : '', 214 'clop' : '',
215 // mode of operation: 215 // mode of operation:
216 // fullscreen = take parameters from page URL, keep state in page URL 216 // fullscreen = take parameters from page URL, keep state in page URL
598 redisplay(data); 598 redisplay(data);
599 } 599 }
600 }, 600 },
601 601
602 // calibrate (only faking) 602 // calibrate (only faking)
603 calibrate : function (data) { 603 calibrate : function (data, res) {
604 loadImageInfo(data); 604 var oldRes = data.settings.ddpi;
605 if (res == null) {
606 res = window.prompt("Display resolution (dpi)", oldRes);
607 }
608 if (res != null) {
609 data.settings.ddpi = res;
610 redisplay(data);
611 }
605 }, 612 },
606 613
607 // set image scale mode 614 // set image scale mode
608 setScaleMode : function (data, mode) { 615 setScaleMode : function (data, mode) {
609 var oldM = getScaleMode(data); 616 var oldM = getScaleMode(data);
1166 highlight('quality', flags.q1 || flags.q2); 1173 highlight('quality', flags.q1 || flags.q2);
1167 highlight('zoomin', ! isFullArea(data.zoomArea)); 1174 highlight('zoomin', ! isFullArea(data.zoomArea));
1168 }; 1175 };
1169 1176
1170 // create Transform from area and $img 1177 // create Transform from area and $img
1171 var getImgTrafo = function ($img, area, rot, hmir, vmir, mode, imgInfo) { 1178 var getImgTrafo = function ($img, area, rot, hmir, vmir, mode, data) {
1172 var picrect = geom.rectangle($img); 1179 var picrect = geom.rectangle($img);
1173 if (mode != null) { 1180 if (mode != null) {
1181 var imgInfo = data.imgInfo;
1174 if (mode === 'pixel') { 1182 if (mode === 'pixel') {
1175 // scaler mo=clip - image area size does not come from ww, wh 1183 // scaler mo=clip - image area size does not come from ww, wh
1176 if (imgInfo != null) { 1184 if (imgInfo != null) {
1177 area.width = picrect.width / imgInfo.width; 1185 area.width = picrect.width / imgInfo.width;
1178 area.height = picrect.height / imgInfo.height; 1186 area.height = picrect.height / imgInfo.height;
1179 } else { 1187 } else {
1180 console.error("No image info for pixel mode!"); 1188 console.error("No image info for pixel mode!");
1189 }
1190 }
1191 if (mode === 'size') {
1192 // scaler mo=osize - image area size does not come from ww, wh
1193 if (imgInfo != null) {
1194 var ddpi = parseFloat(data.settings.ddpi);
1195 area.width = (picrect.width / ddpi) / (imgInfo.width / imgInfo.dpi_x);
1196 area.height = (picrect.height / ddpi) / (imgInfo.height / imgInfo.dpi_y);
1197 } else {
1198 console.error("No image info for original size mode!");
1181 } 1199 }
1182 } 1200 }
1183 } 1201 }
1184 var trafo = geom.transform(); 1202 var trafo = geom.transform();
1185 // move zoom area offset to center 1203 // move zoom area offset to center
1216 var $img = data.$img; 1234 var $img = data.$img;
1217 if ($img != null && $img.get(0).complete) { 1235 if ($img != null && $img.get(0).complete) {
1218 // create Transform from current zoomArea and image size 1236 // create Transform from current zoomArea and image size
1219 data.imgTrafo = getImgTrafo($img, data.zoomArea, 1237 data.imgTrafo = getImgTrafo($img, data.zoomArea,
1220 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir, 1238 data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir,
1221 data.scaleMode, data.imgInfo); 1239 data.scaleMode, data);
1222 // console.debug("imgTrafo=", data.imgTrafo); 1240 // console.debug("imgTrafo=", data.imgTrafo);
1223 } 1241 }
1224 }; 1242 };
1225 1243
1226 // returns function for load event of scaler img 1244 // returns function for load event of scaler img
1277 } 1295 }
1278 }; 1296 };
1279 1297
1280 // show zoom area indicator on bird's eye view 1298 // show zoom area indicator on bird's eye view
1281 var renderBirdArea = function (data) { 1299 var renderBirdArea = function (data) {
1282 if (data.$birdImg == null) return; 1300 if (data.$birdImg == null || ! data.$birdImg.get(0).complete) return;
1283 var $birdZoom = data.$birdZoom; 1301 var $birdZoom = data.$birdZoom;
1284 var zoomArea = data.zoomArea; 1302 var zoomArea = data.zoomArea;
1285 var normalSize = isFullArea(zoomArea); 1303 var normalSize = isFullArea(zoomArea);
1286 if (normalSize) { 1304 if (normalSize) {
1287 $birdZoom.hide(); 1305 $birdZoom.hide();