// FractalCanvas.java (Ver.1.00) // Fractal Canvas class // Copyright (C) 1996, 1997 Y.Nagatani // nagatani@eken.phys.nagoya-u.ac.jp import java.awt.*; import Mandelbrot; public class FractalCanvas extends Canvas { public Mandelbrot mandel; public int xSize, ySize; public Image imBuffer; public Graphics gBuffer; public int xMouse1, yMouse1, xMouse2, yMouse2; FractalCanvas (int xSize, int ySize, Image imBuffer) { this.xSize = xSize; this.ySize = ySize; resize (xSize, ySize); this.imBuffer = imBuffer; this.gBuffer = imBuffer.getGraphics (); mandel = new Mandelbrot (xSize, ySize); setBackground (Color.red); xMouse1 = 0; yMouse1 = 0; xMouse2 = xSize; yMouse2 = ySize; } public boolean SubCalculation () { return mandel.SubPaint (gBuffer); } public void Calculation () { gBuffer.setColor (Color.green); gBuffer.fillRect (0, 0, xSize , ySize); mandel.paint (gBuffer); } public void paint (Graphics g) { g.setColor (getBackground()); g.setColor (Color.blue); g.fillRect (0, 0, xSize , ySize); g.drawImage (imBuffer, 0, 0, null); } public boolean bMouseDowned = false, bFirstMouse = true; public boolean mouseDown (Event e, int x, int y){ bMouseDowned = true; if (bFirstMouse) { xMouse1 = x; yMouse1 = y; } else { xMouse2 = x; yMouse2 = y; } bFirstMouse = !bFirstMouse; return false; // because to put this value to TextFields. } public void MouseDownedReset () { bMouseDowned = false; } }