it.freedom.graphics
Class Renderer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by it.freedom.graphics.Renderer
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
PlainDrawer

public abstract class Renderer
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected static java.awt.Color BACKGROUND_COLOR
           
protected static int ENVIRONMENT_ANCHOR_POINT_X
           
protected static int ENVIRONMENT_ANCHOR_POINT_Y
           
protected static int ENVIRONMENT_HEIGHT
           
protected static int ENVIRONMENT_WIDTH
           
protected  java.awt.Graphics graph
           
protected  java.util.Hashtable<java.lang.String,java.awt.image.BufferedImage> imageCache
           
protected  java.util.ArrayList<java.awt.Shape> indicators
           
protected static java.lang.String PLANT
           
protected static double WALLS_FILE_HEIGHT
           
protected static double WALLS_FILE_WIDTH
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Renderer()
           
 
Method Summary
protected  void addIndicator(java.awt.Shape shape)
           
 void createCallout(java.lang.String text, int x, int y, float angle)
           
protected  void drawString(java.lang.String text, int x, int y, float angle)
           
protected  void drawTextLine(java.lang.String text, int x, int y, float angle)
           
 void findRescaleFactor()
           
protected  java.awt.Graphics getContext()
           
protected  java.awt.image.BufferedImage getImage(java.lang.String icon, int width, int height)
           
protected  EnvObject getOldSelection()
           
 java.awt.Graphics2D getRenderingContext()
           
static java.awt.Shape getRotatedShape(java.awt.Shape shape, double rotation)
           
static java.awt.Shape getTranslatedShape(java.awt.Shape shape, java.awt.Point translation)
           
protected static double max(double a, double b)
           
protected static double min(double a, double b)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
abstract  void mouseDoubleClickObject(EnvObject obj)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
abstract  void mouseRightClickObject(EnvObject obj)
           
protected  void paintComponent(java.awt.Graphics g)
           
protected  void paintImage(EnvObject obj)
           
protected  void paintImageCentredOnCoords(java.awt.image.BufferedImage img, int x, int y)
           
protected  void paintImageCentredOnCoords(java.lang.String icon, int x, int y, java.awt.Dimension dimension)
           
protected  void paintTexture(java.lang.String textureFile, java.awt.Shape shape)
           
protected  EnvObject pointInObject(java.awt.Point p)
           
protected  void removeIndicators()
           
protected  java.awt.image.BufferedImage resizeImageTo(java.awt.image.BufferedImage image, int width, int height)
           
protected  void restoreTransformContext()
           
 void setNeedRepaint()
           
protected  java.awt.geom.AffineTransform setTransformContextFor(EnvObject obj)
           
protected  java.awt.Point toRealCoords(java.awt.Point clickPoint)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

graph

protected java.awt.Graphics graph

imageCache

protected java.util.Hashtable<java.lang.String,java.awt.image.BufferedImage> imageCache

PLANT

protected static java.lang.String PLANT

WALLS_FILE_WIDTH

protected static double WALLS_FILE_WIDTH

WALLS_FILE_HEIGHT

protected static double WALLS_FILE_HEIGHT

ENVIRONMENT_WIDTH

protected static int ENVIRONMENT_WIDTH

ENVIRONMENT_HEIGHT

protected static int ENVIRONMENT_HEIGHT

ENVIRONMENT_ANCHOR_POINT_X

protected static int ENVIRONMENT_ANCHOR_POINT_X

ENVIRONMENT_ANCHOR_POINT_Y

protected static int ENVIRONMENT_ANCHOR_POINT_Y

BACKGROUND_COLOR

protected static java.awt.Color BACKGROUND_COLOR

indicators

protected java.util.ArrayList<java.awt.Shape> indicators
Constructor Detail

Renderer

public Renderer()
Method Detail

getOldSelection

protected EnvObject getOldSelection()

addIndicator

protected void addIndicator(java.awt.Shape shape)

removeIndicators

protected void removeIndicators()

setNeedRepaint

public void setNeedRepaint()

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

getContext

protected java.awt.Graphics getContext()

getRenderingContext

public java.awt.Graphics2D getRenderingContext()

max

protected static double max(double a,
                            double b)

min

protected static double min(double a,
                            double b)

restoreTransformContext

protected void restoreTransformContext()

findRescaleFactor

public void findRescaleFactor()

setTransformContextFor

protected java.awt.geom.AffineTransform setTransformContextFor(EnvObject obj)

getImage

protected java.awt.image.BufferedImage getImage(java.lang.String icon,
                                                int width,
                                                int height)

resizeImageTo

protected java.awt.image.BufferedImage resizeImageTo(java.awt.image.BufferedImage image,
                                                     int width,
                                                     int height)

getTranslatedShape

public static java.awt.Shape getTranslatedShape(java.awt.Shape shape,
                                                java.awt.Point translation)

getRotatedShape

public static java.awt.Shape getRotatedShape(java.awt.Shape shape,
                                             double rotation)

paintTexture

protected void paintTexture(java.lang.String textureFile,
                            java.awt.Shape shape)

paintImageCentredOnCoords

protected void paintImageCentredOnCoords(java.lang.String icon,
                                         int x,
                                         int y,
                                         java.awt.Dimension dimension)

paintImageCentredOnCoords

protected void paintImageCentredOnCoords(java.awt.image.BufferedImage img,
                                         int x,
                                         int y)

paintImage

protected void paintImage(EnvObject obj)

drawString

protected void drawString(java.lang.String text,
                          int x,
                          int y,
                          float angle)

createCallout

public void createCallout(java.lang.String text,
                          int x,
                          int y,
                          float angle)

drawTextLine

protected void drawTextLine(java.lang.String text,
                            int x,
                            int y,
                            float angle)

toRealCoords

protected java.awt.Point toRealCoords(java.awt.Point clickPoint)

pointInObject

protected EnvObject pointInObject(java.awt.Point p)

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseDoubleClickObject

public abstract void mouseDoubleClickObject(EnvObject obj)

mouseRightClickObject

public abstract void mouseRightClickObject(EnvObject obj)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener