/*
* Created on Mar 14, 2006
*/
package org.seqcode.projects.seqview.paintable;
import java.awt.Graphics2D;
/**
* @author tdanford
*/
public interface VizPaintable {
public void paintItem(Graphics2D g,
int ulx, int uly,
int lrx, int lry);
/* returns true iff the VizPaintable is ready to
draw itself. */
public boolean canPaint();
/* returns true when the VizPaintable is ready to paint
itself but has not yet done so and when the underlying data (or the
display that will be generated) has changed. Should be true
only if canPaint is true */
public boolean wantsPaint();
// a Paintable's label is some string that it may
// use in its display to identify itself.
public void setLabel(String label);
public String getLabel();
public void cleanup();
}