//
import java.awt.*;

/* GENERIC WIDGET */

public class Widget extends Rectangle
{
   public Color bgColor = new Color(255,230,230), fgColor = Color.black;

   protected boolean isDown = false;

//---------------- OBJECT CONSTRUCTOR

   public Widget(int x, int y, int width, int height) {
      super(x, y, width, height);
   }

//---------------- HANDLING MOUSE EVENTS

   public boolean down(int x, int y) {     // DOWN EVENT
      return isDown = inside(x,y);
   }
   public boolean drag(int x, int y) {     // DRAG EVENT
      return isDown;
   }
   public boolean up(int x, int y) {       // UP EVENT
      if (isDown) {
	 isDown = false;
	 return true;          // IF WAS DOWN, THEN RETURN TRUE
      }
      return false;            // OTHERWISE, RETURN FALSE
   }

//---------------- RENDERING THE WIDGET

   public void render(Graphics g) {
      g.setColor(bgColor);
      g.fill3DRect(x, y, width, height, true);
   }
}