import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class FireApplet extends Applet implements Runnable, ItemListener {

  ParticleSystem ps;
  ParticleSystemRenderer psr;
  Thread animator;
  
  Checkbox gusts;
  
  public void init() {
    ps = new ParticleSystem();
    psr = new ParticleSystemRenderer(ps, getSize().width, getSize().height);
    psr.origin = new Point(getSize().width/2, 5*getSize().height/6);
    try {
      if (getParameter("birthrate")!=null) ps.birthrate=Integer.parseInt(getParameter("birthrate"));
      if (getParameter("scale")!=null) psr.scale=Integer.parseInt(getParameter("scale"));
    }
    catch (NumberFormatException nfe) {
      System.out.println(nfe);
    }
    setLayout(new BorderLayout());
    setBackground(Color.black);
    gusts = new Checkbox("Gusts");
    gusts.setState(true);
    gusts.setForeground(Color.gray);
    gusts.addItemListener(this);
    add(gusts, "North");
    add(psr);
    animator=new Thread(this);
    animator.start();
    repaint();
  }
  
  public void start() {
    //if (animator!=null) stop();
  }
  
  public void stop() {
    //try { if (animator!=null) animator.stop(); }
    //catch (Exception e) { System.out.println(e); }
  }
  
  public void run() {
    psr.animate();
  }
  
  public void itemStateChanged(ItemEvent e) {
    ps.gusty = gusts.getState();
  }

}