Logo Search packages:      
Sourcecode: wims version File versions

pointlibre.java

// pointlibre.java - 28/11/98

package geo ;

import java.awt.Graphics ;

/**
 * définit un point dont l'emplacement peut être modifié à la souris
 *
 */

00012 public class pointlibre extends pt
{ public int Xp, Yp ;
  public boolean deplace ;

/**
 * construit un point libre à l'emplacement (X, Y)
 *
 */

00021   public pointlibre (int X, int Y, String Nom, Repere R)
  { super (X, Y, Nom, R) ; Xp = X ; Yp = Y ; deplace = false ; }

/**
 * construit un point libre de coordonnées (x, y)
 *
 */

00029   public pointlibre (double x, double y, String Nom, Repere R)
  { super (x, y, Nom, R) ; Xp = X ; Yp = Y ; deplace = false; }

/**
 * teste si la souris est proche du point libre, retourne alors deplace = true
 *
 */

00037   public boolean zone (int X, int Y)
  { if (deplace = (X >=  this.X - 2) && (X <= this.X + 2) && (Y >= this.Y - 2) && (Y <= this.Y + 2))
    Xp = this.X ; Yp = this.Y ;
    return deplace ; }

/**
 * pour un point en cours de déplacement, met à jour (X, Y) et met dans (Xp, Yp) les anciennes
 * coordonnées "écran"
 *
 */

00048   public void bouge (int X, int Y)
  { if (deplace && R.affiche (X, Y)) { this.X = X ; x = R.Abs (X) ;
                                       this.Y = Y ; y = R.Ord (Y) ;
                                     }
  }

/**
 * efface le point (utilisé uniquement par les points libres)
 *
 */

00059   public void efface (Graphics g)
  { if (defini && deplace)
      { g.fillRect (Xp - 2, Yp - 2, 5, 5) ;
        if (Nom.length () != 0) g.drawString (Nom, Xp + 3, Yp - 3) ;
        Xp = X ; Yp = Y ;
      }
  }

/**
 * Mise à jour d'un point libre.
 */

00071  public void point ()
 { majXY () ; Xp = X ; Yp = Y ; }

}


Generated by  Doxygen 1.6.0   Back to index