package Current.plot.Plotters; import Current.basic.*; import Current.manage.*; import java.awt.Color; import java.awt.Component; import java.io.Serializable; /** * Represents an object that stores the bare minimum amount of information * necessary to do a plot. * * A class implementing this interface should not hold on to the Manager * (since the manager is not Serializable) */ public interface XPlotter extends Serializable { /** plots the tile */ public Tile plot(String word, Color C, Interrupter I, Manager M); /** build a controlling canvas */ public Component getController(Manager M); /** Return the name of the plot technique */ public String getName(); /** Returns true if the plot can be run. This is useful for example * if the plot relies on C code which may or may not be available */ public boolean canRun(); // /** return the documentation for this plotter */ // public HelpDocument document(); /** button color */ public Color getColor(); }