sim.portrayal.simple
Class ImagePortrayal2D

java.lang.Object
  extended by sim.portrayal.SimplePortrayal2D
      extended by sim.portrayal.simple.RectanglePortrayal2D
          extended by sim.portrayal.simple.ImagePortrayal2D
All Implemented Interfaces:
java.io.Serializable, Portrayal, Portrayal2D

public class ImagePortrayal2D
extends RectanglePortrayal2D

A simple portrayal for 2D visualization of images. It extends the SimplePortrayal2D and it manages the drawing and hit-testing for rectangular shapes containing images/pictures.

ImagePortrayal2D draws an image centered on the Portrayal's origin. Images are not stretched to fill the info.draw.height x info.draw.width rectangle. Instead, if the image is taller than it is wide, then the width of the image will be info.draw.width * scale and the height will stay in proportion; else the height of the image will be info.draw.height * scale and the width will stay in proportion.

See Also:
Serialized Form

Field Summary
 java.awt.Image image
           
 
Fields inherited from class sim.portrayal.simple.RectanglePortrayal2D
filled, paint, scale
 
Fields inherited from class sim.portrayal.SimplePortrayal2D
TYPE_HIT_OBJECT, TYPE_SELECTED_OBJECT
 
Constructor Summary
ImagePortrayal2D(java.lang.Class c, java.lang.String resourceName)
          Creates an ImagePortrayal2D by loading an Image resource using getClass().getResource()
ImagePortrayal2D(java.lang.Class c, java.lang.String resourceName, double scale)
          Creates an ImagePortrayal2D by loading an Image resource using getClass().getResource(), and scaled with the given scale.
ImagePortrayal2D(java.awt.Image image)
          Creates an ImagePortrayal2D with the given image.
ImagePortrayal2D(java.awt.Image image, double scale)
          Creates an ImagePortrayal2D with the given image, and scaled with the given scale..
ImagePortrayal2D(javax.swing.ImageIcon icon)
          Creates an ImagePortrayal2D with the image inside the given ImageIcon.
ImagePortrayal2D(javax.swing.ImageIcon icon, double scale)
          Creates an ImagePortrayal2D with the image inside the given ImageIcon, and scaled with the given scale.
 
Method Summary
 void draw(java.lang.Object object, java.awt.Graphics2D graphics, DrawInfo2D info)
          Draw a the given object with an origin at (info.draw.x, info.draw.y), and with the coordinate system scaled by so that 1 unit is in the x and y directions are equal to info.draw.width and info.draw.height respectively in pixels.
 
Methods inherited from class sim.portrayal.simple.RectanglePortrayal2D
hitObject
 
Methods inherited from class sim.portrayal.SimplePortrayal2D
getInspector, getName, getStatus, handleMouseEvent, setSelected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

image

public java.awt.Image image
Constructor Detail

ImagePortrayal2D

public ImagePortrayal2D(javax.swing.ImageIcon icon,
                        double scale)
Creates an ImagePortrayal2D with the image inside the given ImageIcon, and scaled with the given scale.


ImagePortrayal2D

public ImagePortrayal2D(javax.swing.ImageIcon icon)
Creates an ImagePortrayal2D with the image inside the given ImageIcon.


ImagePortrayal2D

public ImagePortrayal2D(java.lang.Class c,
                        java.lang.String resourceName,
                        double scale)
Creates an ImagePortrayal2D by loading an Image resource using getClass().getResource(), and scaled with the given scale.


ImagePortrayal2D

public ImagePortrayal2D(java.lang.Class c,
                        java.lang.String resourceName)
Creates an ImagePortrayal2D by loading an Image resource using getClass().getResource()


ImagePortrayal2D

public ImagePortrayal2D(java.awt.Image image)
Creates an ImagePortrayal2D with the given image.


ImagePortrayal2D

public ImagePortrayal2D(java.awt.Image image,
                        double scale)
Creates an ImagePortrayal2D with the given image, and scaled with the given scale..

Method Detail

draw

public void draw(java.lang.Object object,
                 java.awt.Graphics2D graphics,
                 DrawInfo2D info)
Description copied from interface: Portrayal2D
Draw a the given object with an origin at (info.draw.x, info.draw.y), and with the coordinate system scaled by so that 1 unit is in the x and y directions are equal to info.draw.width and info.draw.height respectively in pixels. The rectangle given by info.clip specifies the only region in which it is necessary to draw. If info.precise is true, try to draw using real-valued high-resolution drawing rather than faster integer drawing. It is possible that object is null. The location of the object in the field may (and may not) be stored in info.location. The form of that location varies depending on the kind of field used.

Specified by:
draw in interface Portrayal2D
Overrides:
draw in class RectanglePortrayal2D