VASSAL.build.module.map
Class ImageSaver

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.ImageSaver
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable

public class ImageSaver
extends AbstractConfigurable

This allows the user to capture a snapshot of the entire map into a PNG file


Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
ImageSaver()
           
ImageSaver(Map m)
           
 
Method Summary
 void addTo(Buildable b)
          Expects to be added to a Map.
 java.lang.Class[] getAllowableConfigureComponents()
          Return a list of valid sub-component Classes.
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String key)
          Called by the getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
 org.w3c.dom.Element getBuildElement(org.w3c.dom.Document doc)
           
 java.lang.String getConfigureName()
          The name of this Configurable Object
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
 void removeFrom(Buildable b)
          Remove this component from its parent
 void setAttribute(java.lang.String key, java.lang.Object value)
          Called by the AbstractBuildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 void writeImage(java.io.OutputStream[] out)
          Write a PNG-encoded snapshot of the map to the given OutputStreams, dividing the map into vertical sections, one per stream
 void writeMapAsImage()
          Outputs a snapshot of the Map to a PNG file.
 void writePPM(java.io.OutputStream p)
          Write a snapshot of the map to the given OutputStream in PPM format.
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureComponents, getConfigurer, remove, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
add, build, getBuildComponents, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.build.Buildable
add, build
 

Constructor Detail

ImageSaver

public ImageSaver()

ImageSaver

public ImageSaver(Map m)
Method Detail

addTo

public void addTo(Buildable b)
Expects to be added to a Map. Adds a button to the map window toolbar that initiates the capture

removeFrom

public void removeFrom(Buildable b)
Description copied from interface: Configurable
Remove this component from its parent

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeDescriptions in class AbstractConfigurable

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeTypes in class AbstractConfigurable

setAttribute

public void setAttribute(java.lang.String key,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String key)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

writeMapAsImage

public void writeMapAsImage()
Outputs a snapshot of the Map to a PNG file. Displays a file dialog to prompt the user for the file

writeImage

public void writeImage(java.io.OutputStream[] out)
                throws java.io.IOException
Write a PNG-encoded snapshot of the map to the given OutputStreams, dividing the map into vertical sections, one per stream

writePPM

public void writePPM(java.io.OutputStream p)
              throws java.lang.Exception
Write a snapshot of the map to the given OutputStream in PPM format. This results in a larger file (in a less familiar format), but requires less memory

getHelpFile

public HelpFile getHelpFile()
Following copied from interface: VASSAL.build.Configurable
Returns:
a HelpFilte describing how to use and configure this component

getBuildElement

public org.w3c.dom.Element getBuildElement(org.w3c.dom.Document doc)
Overrides:
getBuildElement in class AbstractBuildable
Following copied from interface: VASSAL.build.Buildable
Returns:
an XML element from which this component can be built

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

getConfigureName

public java.lang.String getConfigureName()
Description copied from interface: Configurable
The name of this Configurable Object
Overrides:
getConfigureName in class AbstractConfigurable

getAllowableConfigureComponents

public java.lang.Class[] getAllowableConfigureComponents()
Description copied from interface: Configurable
Return a list of valid sub-component Classes. If a Class appears in this list, then instances of that class may be added to this component from the Configuration Window.