public class KmcCanvas
extends java.awt.Canvas
Modifier and Type | Field and Description |
---|---|
private int |
baseX |
private int |
baseY |
private boolean |
blackAndWhite |
private static java.awt.Color |
BLUE |
private static java.awt.Color |
BLUEVIOLET |
private java.awt.Color[] |
colours |
private static java.awt.Color |
CORNFLOWERBLUE |
private static java.awt.Color |
DARKBLUE |
private static java.awt.Color |
GOLD |
private static java.awt.Color |
GRAY |
private static java.awt.Color |
GREEN |
private java.lang.String |
imageName |
private static java.awt.Color |
INDIANRED |
private AbstractGrowthLattice |
lattice |
private static java.awt.Color |
ORANGE |
private boolean |
paused |
private RoundPerimeter |
perimeter |
private boolean |
printId |
private boolean |
printIslandCentres |
private boolean |
printIslandNumber |
private boolean |
printMultiAtom |
private boolean |
printPerimeter |
private static java.awt.Color |
RED |
private Restart |
restart |
private int |
scale |
private java.awt.image.BufferStrategy |
strategy
Buffer Strategy.
|
private static java.awt.Color |
WHITE |
private static java.awt.Color |
WHITE_GRAY |
Constructor and Description |
---|
KmcCanvas() |
KmcCanvas(AbstractGrowthLattice lattice,
RoundPerimeter perimeter) |
Modifier and Type | Method and Description |
---|---|
void |
changeBlackAndWhite() |
void |
changeOccupationByHand(double xMouse,
double yMouse)
Changes the occupation of the clicked atom from unoccupied to occupied, or vice versa.
|
void |
changePrintIslandCentres() |
void |
changePrintPerimeter() |
void |
dispose() |
private java.awt.Color |
getContrastColor(java.awt.Color colour)
Method taken from http://stackoverflow.com/questions/4672271/reverse-opposing-colors
|
int |
getScale() |
int |
getSizeX() |
int |
getSizeY() |
void |
initialise()
Call this before starting game loop, it initialises the bufferStrategy.
|
boolean |
isPaused() |
void |
paint(java.awt.Graphics g) |
private void |
paintCatalysis(java.awt.Graphics g) |
void |
performDraw()
Public drawing method, call this from your game loop for update image.
|
private void |
performDrawToImage()
Does the actual writing.
|
void |
performDrawToImage(int i)
This method prints the current canvas to a file.
|
void |
performDrawToImage(java.lang.String fileName)
This method prints the current canvas to a file.
|
void |
performDrawToImage(java.lang.String folder,
int i)
This method prints the current canvas to a file.
|
void |
setBaseLocation(int baseX,
int baseY) |
void |
setPaused(boolean pause) |
void |
setPrintId(boolean printId) |
void |
setPrintIslandNumber(boolean printIslandNumber) |
void |
setPrintMultiAtom(boolean printMultiAtom) |
void |
setScale(int scale) |
private void |
writeSvg() |
private void |
writeXyz() |
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy, update
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
private int baseX
private int baseY
private java.awt.image.BufferStrategy strategy
private AbstractGrowthLattice lattice
private RoundPerimeter perimeter
private int scale
private java.lang.String imageName
private boolean blackAndWhite
private boolean printPerimeter
private boolean paused
private boolean printId
private boolean printIslandNumber
private boolean printMultiAtom
private boolean printIslandCentres
private Restart restart
private static final java.awt.Color GRAY
private static final java.awt.Color WHITE_GRAY
private static final java.awt.Color RED
private static final java.awt.Color BLUE
private static final java.awt.Color ORANGE
private static final java.awt.Color GREEN
private static final java.awt.Color WHITE
private static final java.awt.Color INDIANRED
private static final java.awt.Color BLUEVIOLET
private static final java.awt.Color CORNFLOWERBLUE
private static final java.awt.Color DARKBLUE
private static final java.awt.Color GOLD
private final java.awt.Color[] colours
public KmcCanvas(AbstractGrowthLattice lattice, RoundPerimeter perimeter)
public KmcCanvas()
public void setBaseLocation(int baseX, int baseY)
public int getScale()
public int getSizeX()
public int getSizeY()
public void setScale(int scale)
public void changeBlackAndWhite()
public void changePrintPerimeter()
public void setPaused(boolean pause)
public void setPrintId(boolean printId)
public void setPrintIslandNumber(boolean printIslandNumber)
public void setPrintMultiAtom(boolean printMultiAtom)
public void changePrintIslandCentres()
public boolean isPaused()
public void dispose()
public void initialise()
public void performDraw()
public void performDrawToImage(java.lang.String fileName)
fileName
- filename to which is going to be written.public void performDrawToImage(int i)
i
- simulation number.public void performDrawToImage(java.lang.String folder, int i)
folder
- folder in which is going to be written.i
- simulation number.private void performDrawToImage()
public void paint(java.awt.Graphics g)
paint
in class java.awt.Canvas
public void changeOccupationByHand(double xMouse, double yMouse)
xMouse
- absolute X location of the pressed pointyMouse
- absolute Y location of the pressed pointprivate java.awt.Color getContrastColor(java.awt.Color colour)
colour
- base colour.private void paintCatalysis(java.awt.Graphics g)
private void writeXyz()
private void writeSvg()