package ip.hak;


import java.awt.*;


public class Preview extends ip.gui.frames.ClosableFrame {

  Double4 d4[];

  int w = 220;

  int h = 240;

  double max,min;

  double s = 0.0;


  public Preview(Double4 db4[]) {

    super("Preview");

    d4 = db4;

    setSize(w, h);

    init();

    setVisible(true);

    //setResizable(false);

  }


  private void getMaxMin() {

    max = min = d4[0].x;

    for (int i = 1; i < d4.length; i++) {

      if (max < d4[i].x + d4[i].r)

        max = d4[i].x + d4[i].r;

      if (min > d4[i].x - d4[i].r)

        min = d4[i].x - d4[i].r;

    }

    for (int i = 0; i < d4.length; i++) {

      if (max < d4[i].y + d4[i].r)

        max = d4[i].y + d4[i].r;

      if (min > d4[i].y - d4[i].r)

        min = d4[i].y - d4[i].r;

    }

  }


  private void init() {

    getMaxMin();

    //for (int i=0;i<d4.length;i++)

    //{

    //System.out.println("X:"+d4[i].x+" Y:"+d4[i].y+" R:"+d4[i].r);

    //}

    s = (w - 20) / (max - min);

    //System.out.println(s);



    repaint();

  }


  public void paint(Graphics g) {

    if (d4 == null || s == 0.0)

      return;

    for (int i = 0; i < d4.length; i++) {

      int xp = (int) ((d4[i].x - min) * s);

      int yp = h - 10 - (int) ((d4[i].y - min) * s);

      int c = (int) (d4[i].r * s * 2);

      int hc = c / 2;

      g.drawOval(xp - hc, yp - hc, c, c);

    }

  }

}