package net.sf.jasperreports.engine;

import java.awt.Graphics2D;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D;
import java.io.Serializable;

public interface JRRenderable extends Serializable {
  public static final byte TYPE_IMAGE = 0;
  
  public static final byte TYPE_SVG = 1;
  
  public static final byte IMAGE_TYPE_UNKNOWN = 0;
  
  public static final byte IMAGE_TYPE_GIF = 1;
  
  public static final byte IMAGE_TYPE_JPEG = 2;
  
  public static final byte IMAGE_TYPE_PNG = 3;
  
  public static final byte IMAGE_TYPE_TIFF = 4;
  
  public static final String MIME_TYPE_GIF = "image/gif";
  
  public static final String MIME_TYPE_JPEG = "image/jpeg";
  
  public static final String MIME_TYPE_PNG = "image/png";
  
  public static final String MIME_TYPE_TIFF = "image/tiff";
  
  String getId();
  
  byte getType();
  
  byte getImageType();
  
  Dimension2D getDimension() throws JRException;
  
  byte[] getImageData() throws JRException;
  
  void render(Graphics2D paramGraphics2D, Rectangle2D paramRectangle2D) throws JRException;
}
