annotate src/samer/tools/Renderer.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
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 }