## org.jfree.chart.annotations
Class XYDataImageAnnotation

    java.lang.Object
      org.jfree.chart.annotations.AbstractAnnotation
          org.jfree.chart.annotations.AbstractXYAnnotation
              org.jfree.chart.annotations.XYDataImageAnnotation

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Annotation, XYAnnotation, XYAnnotationBoundsInfo, org.jfree.util.PublicCloneable

    public class XYDataImageAnnotation

extends AbstractXYAnnotation
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, XYAnnotationBoundsInfo

An annotation that allows an image to be placed within a rectangle specified in data coordinates on an `XYPlot`. Note that this annotation is not currently serializable, so don't use it if you plan on serializing your chart(s).

Since:
  1.0.11
See Also:
  Serialized Form

Constructor Summary
`XYDataImageAnnotation(java.awt.Image image, double x, double y, double w, double h)` Creates a new annotation to be displayed within the specified rectangle.
`XYDataImageAnnotation(java.awt.Image image, double x, double y, double w, double h, boolean includeInDataBounds)` Creates a new annotation to be displayed within the specified rectangle.

Method Summary
`java.lang.Object` `clone()` Returns a clone of the annotation.
`void` `draw(java.awt.Graphics2D g2, XYPlot plot, java.awt.geom.Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info)` Draws the annotation.
`boolean` `equals(java.lang.Object obj)` Tests this object for equality with an arbitrary object.
`double` `getHeight()` Returns the height (in data space) of the data rectangle into which the image will be drawn.
`java.awt.Image` `getImage()` Returns the image for the annotation.
`boolean` `getIncludeInDataBounds()` Returns the flag that controls whether or not the annotation should contribute to the autoRange for the axis it is plotted against.
`double` `getWidth()` Returns the width (in data space) of the data rectangle into which the image will be drawn.
`double` `getX()` Returns the x-coordinate (in data space) for the annotation.
`Range` `getXRange()` Returns the x-range for the annotation.
`double` `getY()` Returns the y-coordinate (in data space) for the annotation.
`Range` `getYRange()` Returns the y-range for the annotation.
`int` `hashCode()` Returns a hash code for this object.

Methods inherited from class org.jfree.chart.annotations.AbstractXYAnnotation
`addEntity, getToolTipText, getURL, setToolTipText, setURL`

Methods inherited from class org.jfree.chart.annotations.AbstractAnnotation
`addChangeListener, fireAnnotationChanged, getNotify, hasListener, notifyListeners, removeChangeListener, setNotify`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.annotations.Annotation
`addChangeListener, removeChangeListener`

Constructor Detail

### XYDataImageAnnotation

    public XYDataImageAnnotation(java.awt.Image image,
                                 double x,
                                 double y,
                                 double w,
                                 double h)

  Creates a new annotation to be displayed within the specified rectangle.

  Parameters:
    `image` - the image (`null` not permitted).
    `x` - the x-coordinate (in data space).
    `y` - the y-coordinate (in data space).
    `w` - the image display area width.
    `h` - the image display area height.

### XYDataImageAnnotation

    public XYDataImageAnnotation(java.awt.Image image,
                                 double x,
                                 double y,
                                 double w,
                                 double h,
                                 boolean includeInDataBounds)

  Creates a new annotation to be displayed within the specified rectangle.

  Parameters:
    `image` - the image (`null` not permitted).
    `x` - the x-coordinate (in data space).
    `y` - the y-coordinate (in data space).
    `w` - the image display area width.
    `h` - the image display area height.
    `includeInDataBounds` - a flag that controls whether or not the annotation is included in the data bounds for the axis autoRange.
  Since:
    1.0.13

Method Detail

### getImage

    public java.awt.Image getImage()

  Returns the image for the annotation.

  Returns:
    The image.

### getX

    public double getX()

  Returns the x-coordinate (in data space) for the annotation.

  Returns:
    The x-coordinate.

### getY

    public double getY()

  Returns the y-coordinate (in data space) for the annotation.

  Returns:
    The y-coordinate.

### getWidth

    public double getWidth()

  Returns the width (in data space) of the data rectangle into which the image will be drawn.

  Returns:
    The width.

### getHeight

    public double getHeight()

  Returns the height (in data space) of the data rectangle into which the image will be drawn.

  Returns:
    The height.

### getIncludeInDataBounds

    public boolean getIncludeInDataBounds()

  Returns the flag that controls whether or not the annotation should contribute to the autoRange for the axis it is plotted against.

  Specified by:
    `getIncludeInDataBounds` in interface `XYAnnotationBoundsInfo`
  Returns:
    A boolean.
  Since:
    1.0.13

### getXRange

    public Range getXRange()

  Returns the x-range for the annotation.

  Specified by:
    `getXRange` in interface `XYAnnotationBoundsInfo`
  Returns:
    The range.
  Since:
    1.0.13

### getYRange

    public Range getYRange()

  Returns the y-range for the annotation.

  Specified by:
    `getYRange` in interface `XYAnnotationBoundsInfo`
  Returns:
    The range.
  Since:
    1.0.13

### draw

    public void draw(java.awt.Graphics2D g2,
                     XYPlot plot,
                     java.awt.geom.Rectangle2D dataArea,
                     ValueAxis domainAxis,
                     ValueAxis rangeAxis,
                     int rendererIndex,
                     PlotRenderingInfo info)

  Draws the annotation. This method is called by the drawing code in the `XYPlot` class, you don't normally need to call this method directly.

  Specified by:
    `draw` in interface `XYAnnotation`
  Specified by:
    `draw` in class `AbstractXYAnnotation`
  Parameters:
    `g2` - the graphics device.
    `plot` - the plot.
    `dataArea` - the data area.
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `rendererIndex` - the renderer index.
    `info` - if supplied, this info object will be populated with entity information.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this object for equality with an arbitrary object.

  Overrides:
    `equals` in class `AbstractXYAnnotation`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### hashCode

    public int hashCode()

  Returns a hash code for this object.

  Overrides:
    `hashCode` in class `AbstractXYAnnotation`
  Returns:
    A hash code.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the annotation.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractAnnotation`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the annotation can't be cloned.