package commons.graph.worker;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics;
import javax.swing.JPanel;
import commons.graph.view.DEFAULTS;
public abstract class Painter extends EdgeWorker
{

JPanel      panel;
int         xoffset, yoffset, extension;
Graphics    graphics;
FontMetrics fontMetrics;

//Design      design     = new Design();
double      zoomFactor = 1;

public Painter(JPanel panel, Graphics graphics, double zoom)
{
   this.zoomFactor = zoom;
   this.panel = panel;
   this.graphics = graphics;
   Dimension screensize = panel.getSize();
   xoffset = screensize.width / 2;
   yoffset = screensize.height / 2;
   extension = screensize.width < screensize.height ? screensize.width : screensize.height;
   if (zoomFactor == 1) extension = (int) ((double) extension * (1 - DEFAULTS.PADDING));
//   OsUtl.trace("extension:"+extension+ " zoomFactor:"+zoomFactor);
   
}



int xpos (double v)
{
   return (int) (zoomFactor * v * extension) + xoffset;
}

int ypos (double v)
{
   return (int) (zoomFactor * v * extension) + yoffset;
}
}
