/* Copyright (C) 1999  Cygnus Solutions

   This file is part of libjava.

This software is copyrighted work licensed under the terms of the
Libjava License.  Please consult the file "LIBJAVA_LICENSE" for
details.  */

package java.awt;

/**
 * @author Per Bothner <bothner@cygnus.com>
 * @date Fenruary 8, 1999.
 */

/* Written using "Java Class Libraries", 2nd edition.
 * Status:  Believed complete and correct.
 */

public interface Shape
{
  public Rectangle getBounds ();
}
