Annotation of ECHO_content/js/hl_add.js, revision 1.1
1.1 ! casties 1: /* Copyright (C) 2004 itgroup MPIWG
! 2:
! 3: This program is free software; you can redistribute it and/or
! 4: modify it under the terms of the GNU General Public License
! 5: as published by the Free Software Foundation; either version 2
! 6: of the License, or (at your option) any later version.
! 7:
! 8: This program is distributed in the hope that it will be useful,
! 9: but WITHOUT ANY WARRANTY; without even the implied warranty of
! 10: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 11: GNU General Public License for more details.
! 12:
! 13: You should have received a copy of the GNU General Public License
! 14: along with this program; if not, write to the Free Software
! 15: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
! 16:
! 17: Authors: ROC 23.11.2004
! 18:
! 19: !! requires hl_lib.js !!
! 20: */
! 21:
! 22: var elemCoords;
! 23: var elemRed;
! 24:
! 25: function mapadd_init() {
! 26: map_init();
! 27: // form element for coordinates
! 28: elemCoords = getElement("coordstr");
! 29: // new red area
! 30: elemRed = getElement("newarea");
! 31: selectArea();
! 32: }
! 33:
! 34: function selectArea() {
! 35: var click = 1;
! 36: var pt1, pt2;
! 37: var redrect;
! 38: window.focus();
! 39:
! 40: function areaClick(evt) {
! 41: // mouse click handler
! 42: if (click == 1) {
! 43: // first click -- start moving
! 44: click = 2;
! 45: pt1 = evtPosition(evt);
! 46: pt2 = pt1;
! 47: redrect = new Rectangle(pt1.x, pt1.y, 10, 10);
! 48: moveElement(elemRed, redrect);
! 49: // show element
! 50: if (elemRed.style) {
! 51: elemRed.style.background = "url(area_img)";
! 52: } else if (elemRed.layers) {
! 53: elemRed.background.src = "area_img";
! 54: }
! 55: showElement(elemRed, true);
! 56: // show moving
! 57: registerEvent("mousemove", elemScaler, areaMove);
! 58: registerEvent("mousemove", elemRed, areaMove);
! 59: } else {
! 60: // second click -- end moving
! 61: pt2 = evtPosition(evt);
! 62: unregisterEvent("mousemove", elemScaler, areaMove);
! 63: unregisterEvent("mousemove", elemRed, areaMove);
! 64: var p1 = dlTrafo.invtransform(pt1);
! 65: var p2 = dlTrafo.invtransform(pt2);
! 66: var ww = p2.x - p1.x;
! 67: var wh = p2.y - p1.y;
! 68: if ((ww > 0)&&(wh > 0)) {
! 69: var coords = cropFloat(p1.x)+","+cropFloat(p1.y)+","+cropFloat(ww)+","+cropFloat(wh);
! 70: // fill coords into form
! 71: elemCoords.value = coords;
! 72: }
! 73: // start again
! 74: click = 1;
! 75: }
! 76: }
! 77:
! 78: function areaMove(evt) {
! 79: // mouse move handler
! 80: pt2 = evtPosition(evt);
! 81: // restrict marks to move right and down
! 82: var w = pt2.x - pt1.x;
! 83: var h = pt2.y - pt1.y;
! 84: redrect.width = (w > 0) ? w : 1;
! 85: redrect.height = (h > 0) ? h : 1;
! 86: moveElement(elemRed, redrect);
! 87: }
! 88:
! 89: // starting event capture
! 90: registerEvent("mousedown", elemScaler, areaClick);
! 91: registerEvent("mousedown", elemRed, areaClick);
! 92: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>