samer@0
|
1 package samer.tools;
|
samer@0
|
2
|
samer@0
|
3 import samer.core.util.*;
|
samer@0
|
4 import java.awt.*;
|
samer@0
|
5
|
samer@0
|
6 public interface Renderer {
|
samer@0
|
7 public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0);
|
samer@0
|
8
|
samer@0
|
9 class Line implements Renderer {
|
samer@0
|
10 public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) {
|
samer@0
|
11 g.drawLine(x1,j1,x2,j2);
|
samer@0
|
12 }
|
samer@0
|
13 }
|
samer@0
|
14
|
samer@0
|
15 class Fill implements Renderer {
|
samer@0
|
16 public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) {
|
samer@0
|
17 if (j2>j0) g.fillRect(x1,j0,x2-x1,j2-j0);
|
samer@0
|
18 else g.fillRect(x1,j2,x2-x1,j0-j2);
|
samer@0
|
19 }
|
samer@0
|
20 }
|
samer@0
|
21
|
samer@0
|
22 class Fill3D implements Renderer {
|
samer@0
|
23 public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) {
|
samer@0
|
24 // need to make sure rectangle is the right way up
|
samer@0
|
25 if (j2>j0) g.fill3DRect(x1,j0,x2-x1,j2-j0,true);
|
samer@0
|
26 else g.fill3DRect(x1,j2,x2-x1,j0-j2,true);
|
samer@0
|
27 }
|
samer@0
|
28 }
|
samer@0
|
29
|
samer@0
|
30 class Steps implements Renderer {
|
samer@0
|
31 public void draw( Graphics g, int x1, int x2, int j1, int j2, int j0) {
|
samer@0
|
32 g.drawLine(x1,j1,x1,j2);
|
samer@0
|
33 g.drawLine(x1,j2,x2,j2);
|
samer@0
|
34 }
|
samer@0
|
35 }
|
samer@0
|
36 public final static Renderer LINE=new Line();
|
samer@0
|
37 public final static Renderer FILL=new Fill();
|
samer@0
|
38 public final static Renderer FILL3D=new Fill3D();
|
samer@0
|
39 public final static Renderer STEPS=new Steps();
|
samer@0
|
40 }
|