The main interface of this package is the {@link Tool} interface. It represents a graphical tool with which a user can select, move, manipulate or draw figures on a drawing surface of the type {@link org.esa.beam.framework.ui.ImageDisplay}.

The {@link Tool} interface in conjunction with the {@link org.esa.beam.framework.ui.ImageDisplay} class implements the GoF 'State' pattern: An image display can have a tool assigned to which it delegates all user inputs. The tool itself can change at any time. Neew tools can be developed without changing the ImageDisplay implementation.