/**
 * @(#)Graficos.java
 *
 * Sample Applet application
 *
 * @author LGM
 * @version 1.00 04/10/22
 */
 
import java.awt.*;
import java.applet.*;

public class Graficos extends Applet {
	
	int context,i;
	Color fg,bg,azul,rojo,verde;
	Button prev,next;
	public void init() {
		bg=new Color(51,102,255);
		fg=new Color(0,0,0);
		azul=new Color(0,0,255);
		rojo=new Color(255,0,0);
		verde=new Color(0,153,0);
		context=1;
		prev=new Button("-");
		next=new Button("+");
		add(prev);
		add(next);
	}

	public void paint(Graphics g) {
		g.setColor(bg);
		g.fillRect(0,0,320,200);
		g.setColor(fg);
		switch(context) {
		case 1:
			g.drawRect(80,50,160,100);
			g.drawLine(80,50,240,150);
			g.drawLine(80,150,240,50);
			break;
		case 2:
			g.drawOval(80,50,100,100);
			g.drawOval(140,50,100,100);
			break;
		case 3:
			int x=(int)Math.round(Math.cos(80.0*Math.PI/180.0)*50.0)+160;
			int y=(int)Math.round(Math.sin(80.0*Math.PI/180.0)*40.0)+100;
			g.drawArc(110,50,100,100,100,80);
			g.drawLine(160,100,110,100);
			g.drawLine(160,100,x,y);
			break;
		case 4:
			g.drawRoundRect(80,50,160,100,20,20);
			break;
		case 5:
			g.setColor(verde);
			g.fillRect(110,40,100,80);
			g.setColor(rojo);
			g.fillRect(160,80,100,80);
			g.setColor(azul);
			g.fillRect(160,80,50,40);
			g.setColor(fg);
			break;
		case 6:
			g.drawLine(160,40,240,120);
			g.drawLine(240,120,80,120);
			g.drawLine(80,120,160,40);
			g.drawLine(120,80,160,120);
			g.drawLine(160,120,200,80);
			g.drawLine(120,80,200,80);
			break;
		case 7:
			for(i=1;i<=4;i++) {
				g.drawRect(160-i*20,100-i*20,i*40,i*40);
			}
			break;
		case 8:
			g.drawOval(100,50,120,100);
			g.drawOval(110,80,40,40);
			g.drawOval(150,60,40,40);
			g.drawOval(170,70,40,40);
			g.drawOval(140,110,40,40);
			break;
		default:
			break;
		}
	}
	public boolean action(Event event, Object arg)
	{
		if (event.target instanceof Button) {
			if (event.target.equals(prev)) {
				context+=6;
				context%=8;
				context++;
			}      			
			if (event.target.equals(next)) {
				context%=8;
				context++;
			}
		}      			
		repaint();
		return true;
	}
}

