samer@0: package samer.tools; samer@0: samer@0: import samer.core.util.*; samer@0: import java.awt.*; samer@0: samer@0: public interface Renderer { samer@0: public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0); samer@0: samer@0: class Line implements Renderer { samer@0: public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) { samer@0: g.drawLine(x1,j1,x2,j2); samer@0: } samer@0: } samer@0: samer@0: class Fill implements Renderer { samer@0: public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) { samer@0: if (j2>j0) g.fillRect(x1,j0,x2-x1,j2-j0); samer@0: else g.fillRect(x1,j2,x2-x1,j0-j2); samer@0: } samer@0: } samer@0: samer@0: class Fill3D implements Renderer { samer@0: public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) { samer@0: // need to make sure rectangle is the right way up samer@0: if (j2>j0) g.fill3DRect(x1,j0,x2-x1,j2-j0,true); samer@0: else g.fill3DRect(x1,j2,x2-x1,j0-j2,true); samer@0: } samer@0: } samer@0: samer@0: class Steps implements Renderer { samer@0: public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) { samer@0: g.drawLine(x1,j1,x1,j2); samer@0: g.drawLine(x1,j2,x2,j2); samer@0: } samer@0: } samer@0: public final static Renderer LINE=new Line(); samer@0: public final static Renderer FILL=new Fill(); samer@0: public final static Renderer FILL3D=new Fill3D(); samer@0: public final static Renderer STEPS=new Steps(); samer@0: }