Mercurial > hg > digilib
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(); |