import java.awt.Graphics2D;
import java.awt.geom.*;
import java.awt.*;
/**
 * @author Felipe Lopez P. - Cristian Carrasco G.
 * Clase GFixer: esta clase modela graficamente un bloque estatico. Para
 * realizar esto se hereda de la clase GBlock.
 */
public class GFixer extends GBlock {
   private float width, height;
   private Color color = Color.green;
   Rectangle2D.Float rectang = null;

   /**
    * Constructor del Fixer.
    * @param position Posicion del Fixer.
    * @param width Ancho del Fixer.
    * @param height Alto del Fixer.
    */
   public GFixer (Vector2D position,float width, float height){
      super(10^20,position,new Vector2D(),width,height);
      this.width = width;
      this.height = height;

      rectang = new Rectangle2D.Float((float)pos_t.getX()-width/2, (float)pos_t.getY()-height/2, width, height);
      fixer=true;
   }
   /**
    * Se dibuja el Fixer con forma rectangular.
    * @param g Objeto Graphics2D que representa el panel.
    */
   public void draw (Graphics2D g){
      rectang.setFrame((float)pos_t.getX()-width/2, (float)pos_t.getY()-height/2, width, height);
      g.setColor(color);
      g.fill(rectang);
   }
   public boolean contains (double x, double y){
      return rectang.contains(x,y);
   }
   public boolean contains (Vector2D v) {
      return rectang.contains(v.getX(), v.getY());
   }
   /**
    * Arrastre del Fixer.
    * @param x Nueva posicion x.
    * @param y Nueva posicion y.
    */
   public void drag(double x, double y){
      pos_t = new Vector2D(x,y);
   }
   /**
    * Seteo del Color cuando se selecciona un Fixer.
    */
   public void setSelectedColor (){
      color = Color.RED;
   }
   /**
    * Seteo del Color por defecto del Fixer.
    */
   public void setDefaultColor() {
      color = Color.green;
   }
   public void attachNearElement(double x, double y, BlockSpringConfiguration bsc){
   }
}
