Mercurial > hg > digilib-old
comparison client/digitallibrary/greyskin/dllib.js @ 520:a113320349c0
Reset-Button und Funktion
author | hertzhaft |
---|---|
date | Tue, 08 Sep 2009 13:19:43 +0200 |
parents | 72604a10ee1a |
children | 688620e8c015 |
comparison
equal
deleted
inserted
replaced
518:312e12bc2721 | 520:a113320349c0 |
---|---|
196 // mouse drag area that counts as one click | 196 // mouse drag area that counts as one click |
197 this.MIN_AREA_SIZE = 3 * 3 + 1; | 197 this.MIN_AREA_SIZE = 3 * 3 + 1; |
198 // standard zoom factor | 198 // standard zoom factor |
199 this.ZOOMFACTOR = Math.sqrt(2); | 199 this.ZOOMFACTOR = Math.sqrt(2); |
200 // bird's eye view dimensions | 200 // bird's eye view dimensions |
201 this.BIRD_MAXX = 100; | 201 this.BIRD_MAXX = 200; |
202 this.BIRD_MAXY = 100; | 202 this.BIRD_MAXY = 200; |
203 // witdh of arrow bars | 203 // witdh of arrow bars |
204 this.ARROW_WIDTH = 32; | 204 this.ARROW_WIDTH = 32; |
205 // width of calibration bar | 205 // width of calibration bar |
206 this.CALIBRATION_WIDTH = 64; | 206 this.CALIBRATION_WIDTH = 64; |
207 /* variables */ | 207 /* variables */ |
349 digilib.renderMarks(); | 349 digilib.renderMarks(); |
350 digilib.showBirdDiv(isBirdDivVisible); | 350 digilib.showBirdDiv(isBirdDivVisible); |
351 digilib.showArrows(); // show arrow overlays for zoom navigation | 351 digilib.showArrows(); // show arrow overlays for zoom navigation |
352 //digilib.moveCenter(true); // click to move point to center | 352 //digilib.moveCenter(true); // click to move point to center |
353 // new Slider("sizes", 1, 5, 2); | 353 // new Slider("sizes", 1, 5, 2); |
354 | |
355 //Drag Image (6.9.2009, not yet working) | |
356 //registerEvent("mousedown", digilib.scalerDiv, dragImage); | |
357 | |
354 focus(); | 358 focus(); |
355 } | 359 } |
356 } | 360 } |
357 | 361 |
358 Digilib.prototype.renderMarks = function() { | 362 Digilib.prototype.renderMarks = function() { |
419 | 423 |
420 Digilib.prototype.removeMark = function() { | 424 Digilib.prototype.removeMark = function() { |
421 // remove the last mark | 425 // remove the last mark |
422 this.marks.pop(); | 426 this.marks.pop(); |
423 this.display(); | 427 this.display(); |
428 } | |
429 | |
430 Digilib.prototype.resetImage = function() { | |
431 // reset the image to its original state | |
432 this.display(this.params.PARAM_FILE); // keep only fn/pn | |
433 } | |
434 | |
435 Digilib.prototype.dragImage = function(evt) { | |
436 // drag the image and load a new detail on mouse up | |
437 // makes sense only when zoomed | |
438 if (this.isFullArea()) | |
439 return; | |
440 var startPos = evtPosition(evt); | |
441 var picRect = getElementRect(this.scalerImg); | |
442 var newRect; // position after drag | |
443 // start event capturing | |
444 registerEvent("mousemove", document, moveDragEvent); | |
445 registerEvent("mouseup", document, moveEndEvent); | |
446 window.focus(); | |
447 | |
448 // our own reference to this for the local function | |
449 var digilib = this; | |
450 | |
451 function moveDragEvent(evt) { | |
452 // mousemove handler: drag | |
453 var pos = evtPosition(evt); | |
454 var dx = pos.x - startPos.x; | |
455 var dy = pos.y - startPos.y; | |
456 // move scalerImg div | |
457 newRect = new Rectangle( | |
458 picRect.x + dx, | |
459 picRect.y + dy, | |
460 picRect.width, | |
461 picRect.height); | |
462 // move scalerImg to new position | |
463 moveElement(this.scalerImg, newRect); | |
464 return stopEvent(evt); | |
465 } | |
466 | |
467 function moveEndEvent(evt) { | |
468 // mouseup handler: reload page | |
469 unregisterEvent("mousemove", document, moveDragEvent); | |
470 unregisterEvent("mouseup", document, moveEndEvent); | |
471 if (newRect == null) { // no movement happened | |
472 return stopEvent(evt); | |
473 } | |
474 var newX = cropFloat(newRect.x - picRect.x); | |
475 var newY = cropFloat(newRect.y - picRect.y); | |
476 // if (newX < 0) newX = 0; | |
477 // if (newY < 0) newY = 0; | |
478 digilib.params.set("wx", newX); | |
479 digilib.params.set("wy", newY); | |
480 // zoomed is always fit | |
481 // digilib.params.set("ws", 1); | |
482 digilib.display(); | |
483 return stopEvent(evt); | |
484 } | |
424 } | 485 } |
425 | 486 |
426 Digilib.prototype.zoomArea = function() { | 487 Digilib.prototype.zoomArea = function() { |
427 var pt1, pt2; | 488 var pt1, pt2; |
428 var zoomdiv = getElement("zoom"); | 489 var zoomdiv = getElement("zoom"); |
943 /* old digilib function compatibility */ | 1004 /* old digilib function compatibility */ |
944 function setDLParam(e, s, relative) {dl.setDLParam(e, s, relative)}; | 1005 function setDLParam(e, s, relative) {dl.setDLParam(e, s, relative)}; |
945 function display(detail, moDetail) {dl.display(detail, moDetail)}; | 1006 function display(detail, moDetail) {dl.display(detail, moDetail)}; |
946 function setMark(reload) {dl.setMark(reload)}; | 1007 function setMark(reload) {dl.setMark(reload)}; |
947 function removeMark(reload) {dl.removeMark(reload)}; | 1008 function removeMark(reload) {dl.removeMark(reload)}; |
1009 function resetImage() {dl.resetImage()}; | |
1010 function dragImage(evt) {dl.dragImage(evt)}; | |
948 function zoomArea() {dl.zoomArea()}; | 1011 function zoomArea() {dl.zoomArea()}; |
949 function zoomBy(factor) {dl.zoomBy(factor)}; | 1012 function zoomBy(factor) {dl.zoomBy(factor)}; |
950 function zoomFullpage(a) {dl.zoomFullpage(a)}; | 1013 function zoomFullpage(a) {dl.zoomFullpage(a)}; |
951 function moveCenter(on) {dl.moveCenter(on)}; | 1014 function moveCenter(on) {dl.moveCenter(on)}; |
952 function isFullArea(area) {dl.isFullArea(area)}; | 1015 function isFullArea(area) {dl.isFullArea(area)}; |