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);
	}
}
