2003-03-10 Michael Koch <konqueror@gmx.de>
authorMichael Koch <konqueror@gmx.de>
Mon, 10 Mar 2003 13:21:38 +0000 (13:21 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Mon, 10 Mar 2003 13:21:38 +0000 (13:21 +0000)
* java/awt/FocusTraversalPolicy.java
(FocusTraversalPolicy): Documentation added.
(getComponentAfter): Documentation added.
(getComponentBefore): Documentation added.
(getFirstComponent): Documentation added.
(getLastComponent): Documentation added.
(getDefaultComponent): Documentation added.
(getInitialComponent): Documentation added.
* java/awt/ScrollPaneAdjustable.java
(sp): New member variable.
(orientation): New member variable.
(value): New member variable.
(minimum): New member variable.
(maximum): New member variable.
(visibleAmount): New member variable.
(unitIncrement): New member variable.
(blockIncrement): New member variable.
(adjustmentListener): New member variable.
(ScrollPaneAdjustable): Rewrote.
(addAdjustmentListener): New method.
(removeAdjustmentListener): New method.
(getAdjustmentListeners): New method.
(getBlockIncrement): New method.
(getMaximum): New method.
(getMinimum): New method.
(getOrientation): New method.
(getUnitIncrement): New method.
(getValue): New method.
(getVisibleAmount): New method.
(setBlockIncrement): New method.
(setUnitIncrement): New method.
(setMaximum): Implemented.
(setMinimum): Implemented.
(setValue): New method.
(setVisibleAmount): Implemented.
(paramString): New method.
* java/awt/Window.java
(show): Use setVisible(true) instead of super.show().
(hide): Use sevVisible(false) instead of super.hide().
(processWindowEvent): Added cases for WINDOW_GAINED_FOCUS,
WINDOW_LOST_FOCUS and WINDOW_STATE_CHANGED.
(postEvent): Deprecated.
(applyResourceBundle): Deprecated.
(processWindowFocusEvent): New method.
(processWindowStateEvent): New method.
* java/awt/datatransfer/DataFlavor.java: Reindented.
* java/awt/font/TextHitInfo.java
(charIndex): New member variable.
(leadingEdge): New member variable.
(TextHitInfo): New constructor.
(getCharIndex): Implemented.
(isLeadingEdge): Implemented.
(getInsertionIndex): Implemented.
(hashCode): Access charIndex directly.
(equals): Reformated.
(leading): Implemented.
(trailing): Implemented.
(beforeOffset): Implemented.
(afterOffset): Implemented.
(getOtherHit): Implemented.
(getOffsetHit): Implemented.
(toString): Implemented.
* java/awt/image/BufferedImage.java
(BufferedImage): Implements WritableRenderedImage.
(observers): New member variable.
(addTileObserver): New method.
(removeTileObserver): New method.

From-SVN: r64078

libjava/ChangeLog
libjava/java/awt/FocusTraversalPolicy.java
libjava/java/awt/Window.java
libjava/java/awt/datatransfer/DataFlavor.java
libjava/java/awt/font/TextHitInfo.java
libjava/java/awt/image/BufferedImage.java

index 8689e79a3d486a8bb3ad8f598244ebb42a284efa..9d4f506ccee1955e053c73fa88d444f26944d8fb 100644 (file)
@@ -1,3 +1,73 @@
+2003-03-10  Michael Koch  <konqueror@gmx.de>
+
+       * java/awt/FocusTraversalPolicy.java
+       (FocusTraversalPolicy): Documentation added.
+       (getComponentAfter): Documentation added.
+       (getComponentBefore): Documentation added.
+       (getFirstComponent): Documentation added.
+       (getLastComponent): Documentation added.
+       (getDefaultComponent): Documentation added.
+       (getInitialComponent): Documentation added.
+       * java/awt/ScrollPaneAdjustable.java
+       (sp): New member variable.
+       (orientation): New member variable.
+       (value): New member variable.
+       (minimum): New member variable.
+       (maximum): New member variable.
+       (visibleAmount): New member variable.
+       (unitIncrement): New member variable.
+       (blockIncrement): New member variable.
+       (adjustmentListener): New member variable.
+       (ScrollPaneAdjustable): Rewrote.
+       (addAdjustmentListener): New method.
+       (removeAdjustmentListener): New method.
+       (getAdjustmentListeners): New method.
+       (getBlockIncrement): New method.
+       (getMaximum): New method.
+       (getMinimum): New method.
+       (getOrientation): New method.
+       (getUnitIncrement): New method.
+       (getValue): New method.
+       (getVisibleAmount): New method.
+       (setBlockIncrement): New method.
+       (setUnitIncrement): New method.
+       (setMaximum): Implemented.
+       (setMinimum): Implemented.
+       (setValue): New method.
+       (setVisibleAmount): Implemented.
+       (paramString): New method.
+       * java/awt/Window.java
+       (show): Use setVisible(true) instead of super.show().
+       (hide): Use sevVisible(false) instead of super.hide().
+       (processWindowEvent): Added cases for WINDOW_GAINED_FOCUS,
+       WINDOW_LOST_FOCUS and WINDOW_STATE_CHANGED.
+       (postEvent): Deprecated.
+       (applyResourceBundle): Deprecated.
+       (processWindowFocusEvent): New method.
+       (processWindowStateEvent): New method.
+       * java/awt/datatransfer/DataFlavor.java: Reindented.
+       * java/awt/font/TextHitInfo.java
+       (charIndex): New member variable.
+       (leadingEdge): New member variable.
+       (TextHitInfo): New constructor.
+       (getCharIndex): Implemented.
+       (isLeadingEdge): Implemented.
+       (getInsertionIndex): Implemented.
+       (hashCode): Access charIndex directly.
+       (equals): Reformated.
+       (leading): Implemented.
+       (trailing): Implemented.
+       (beforeOffset): Implemented.
+       (afterOffset): Implemented.
+       (getOtherHit): Implemented.
+       (getOffsetHit): Implemented.
+       (toString): Implemented.
+       * java/awt/image/BufferedImage.java
+       (BufferedImage): Implements WritableRenderedImage.
+       (observers): New member variable.
+       (addTileObserver): New method.
+       (removeTileObserver): New method.
+
 2003-03-09  Tom Tromey  <tromey@redhat.com>
 
        PR libgcj/9934:
index fcabeceb3758b28eacc5b029dfc9c2570c9d08dc..0354a7fe1a29137cc47afcdab9e7fe95bd4d74fe 100644 (file)
@@ -39,26 +39,63 @@ exception statement from your version. */
 package java.awt;
 
 /**
- * STUB CLASS ONLY
+ * @since 1.4
  */
 public abstract class FocusTraversalPolicy
 {
+  /**
+   * Creates a <code>FocusTraversalPolicy</code> object.
+   */
   public FocusTraversalPolicy()
   {
+    // Do nothing in here.
   }
 
+  /**
+   * Returns the Component that should receive the focus after a Component.
+   *
+   * @exception IllegalArgumentException If root or current is null,
+   * or if root is not a focus cycle root of current.
+   */
   public abstract Component getComponentAfter(Container root,
                                               Component current);
 
+  /**
+   * Returns the Component that should receive the focus before a Component.
+   *
+   * @exception IllegalArgumentException If root or current is null,
+   * or if root is not a focus cycle root of current.
+   */
   public abstract Component getComponentBefore(Container root,
                                                Component current);
 
+  /**
+   * Returns the first Component in the traversal cycle.
+   *
+   * @exception IllegalArgumentException If root is null.
+   */
   public abstract Component getFirstComponent(Container root);
 
+  /**
+   * Returns the last Component in the traversal cycle.
+   *
+   * @exception IllegalArgumentException If root is null.
+   */
   public abstract Component getLastComponent(Container root);
 
+  /**
+   * Returns the default Component to focus.
+   *
+   * @exception IllegalArgumentException If root is null.
+   */
   public abstract Component getDefaultComponent(Container root);
 
+  /**
+   * Returns the Component that should receive the focus when a Window is made
+   * visible for the first time.
+   *
+   * @exception IllegalArgumentException If window is null.
+   */
   public Component getInitialComponent(Window window)
   {
     return getDefaultComponent(window);
index 805152e5405f2ccdb370e316769540ce5a3f219f..e98c5edb3fa6859bf6d92329cf900ca86982508f 100644 (file)
@@ -503,30 +503,30 @@ public class Window extends Container
   {
     if (windowListener != null)
       {
-       switch (evt.getID())
-         {
-         case WindowEvent.WINDOW_ACTIVATED:
-           windowListener.windowActivated(evt);
-           break;
-         case WindowEvent.WINDOW_CLOSED:
-           windowListener.windowClosed(evt);
-           break;
-         case WindowEvent.WINDOW_CLOSING:
-           windowListener.windowClosing(evt);
-           break;
-         case WindowEvent.WINDOW_DEACTIVATED:
-           windowListener.windowDeactivated(evt);
-           break;
-         case WindowEvent.WINDOW_DEICONIFIED:
-           windowListener.windowDeiconified(evt);
-           break;
-         case WindowEvent.WINDOW_ICONIFIED:
-           windowListener.windowIconified(evt);
-           break;
-         case WindowEvent.WINDOW_OPENED:
-           windowListener.windowOpened(evt);
-           break;
-         }
+        switch (evt.getID())
+          {
+          case WindowEvent.WINDOW_ACTIVATED:
+            windowListener.windowActivated(evt);
+            break;
+          case WindowEvent.WINDOW_CLOSED:
+            windowListener.windowClosed(evt);
+            break;
+          case WindowEvent.WINDOW_CLOSING:
+            windowListener.windowClosing(evt);
+            break;
+          case WindowEvent.WINDOW_DEACTIVATED:
+            windowListener.windowDeactivated(evt);
+            break;
+          case WindowEvent.WINDOW_DEICONIFIED:
+            windowListener.windowDeiconified(evt);
+            break;
+          case WindowEvent.WINDOW_ICONIFIED:
+            windowListener.windowIconified(evt);
+            break;
+          case WindowEvent.WINDOW_OPENED:
+            windowListener.windowOpened(evt);
+            break;
+          }
       }
   }
 
index 7239adde7728f13696f54838b807a91f499838a0..51b610b8ae50261f94f47b846eed4e4a7695e881 100644 (file)
@@ -51,11 +51,11 @@ import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 
 /**
 * This class represents a particular data format used for transferring
 * data via the clipboard.
 *
 * @author Aaron M. Renn (arenn@urbanophile.com)
 */
+ * This class represents a particular data format used for transferring
+ * data via the clipboard.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ */
 public class DataFlavor implements java.io.Externalizable, Cloneable
 {
   static final long serialVersionUID = 8367026044764648243L;
@@ -67,50 +67,50 @@ public class DataFlavor implements java.io.Externalizable, Cloneable
  */
 
 /**
 * This is the data flavor used for tranferring plain text.  The MIME
 * type is "text/plain; charset=unicode".  The representation class
 * is <code>java.io.InputStream</code>.
 *
 * @deprecated The charset unicode is platform specific and InputStream
 * deals with bytes not chars. Use <code>getRederForText()</code>.
 */
+ * This is the data flavor used for tranferring plain text.  The MIME
+ * type is "text/plain; charset=unicode".  The representation class
+ * is <code>java.io.InputStream</code>.
+ *
+ * @deprecated The charset unicode is platform specific and InputStream
+ * deals with bytes not chars. Use <code>getRederForText()</code>.
+ */
 public static final DataFlavor plainTextFlavor;
 
 /**
 * This is the data flavor used for transferring Java strings.  The
 * MIME type is "application/x-java-serialized-object" and the 
 * representation class is <code>java.lang.String</code>.
 */
+ * This is the data flavor used for transferring Java strings.  The
+ * MIME type is "application/x-java-serialized-object" and the 
+ * representation class is <code>java.lang.String</code>.
+ */
 public static final DataFlavor stringFlavor;
 
 /**
 * This is a data flavor used for transferring lists of files.  The
 * representation type is a <code>java.util.List</code>, with each element of 
 * the list being a <code>java.io.File</code>.
 */
+ * This is a data flavor used for transferring lists of files.  The
+ * representation type is a <code>java.util.List</code>, with each element of 
+ * the list being a <code>java.io.File</code>.
+ */
 public static final DataFlavor javaFileListFlavor;
 
 public static final DataFlavor imageFlavor;
 
 /**
 * This is the MIME type used for transferring a serialized object.
 * The representation class is the type of object be deserialized.
 */
+ * This is the MIME type used for transferring a serialized object.
+ * The representation class is the type of object be deserialized.
+ */
 public static final String javaSerializedObjectMimeType =
   "application/x-java-serialized-object";
 
 /**
 * This is the MIME type used to transfer a Java object reference within
 * the same JVM.  The representation class is the class of the object
 * being transferred.
 */
+ * This is the MIME type used to transfer a Java object reference within
+ * the same JVM.  The representation class is the class of the object
+ * being transferred.
+ */
 public static final String javaJVMLocalObjectMimeType =
   "application/x-java-jvm-local-object";
 
 /**
 * This is the MIME type used to transfer a link to a remote object.
 * The representation class is the type of object being linked to.
 */
+ * This is the MIME type used to transfer a link to a remote object.
+ * The representation class is the type of object being linked to.
+ */
 public static final String javaRemoteObjectMimeType =
   "application/x-java-remote-object";
 
@@ -158,17 +158,17 @@ private String humanPresentableName;
  */
 
 /**
 * This method attempts to load the named class.  The following class
 * loaders are searched in order: the bootstrap class loader, the
 * system class loader, the context class loader (if it exists), and
 * the specified fallback class loader.
 *
 * @param className The name of the class to load.
 * @param classLoader The class loader to use if all others fail, which
 * may be <code>null</code>.
 *
 * @exception ClassNotFoundException If the class cannot be loaded.
 */
+ * This method attempts to load the named class.  The following class
+ * loaders are searched in order: the bootstrap class loader, the
+ * system class loader, the context class loader (if it exists), and
+ * the specified fallback class loader.
+ *
+ * @param className The name of the class to load.
+ * @param classLoader The class loader to use if all others fail, which
+ * may be <code>null</code>.
+ *
+ * @exception ClassNotFoundException If the class cannot be loaded.
+ */
 protected static final Class
 tryToLoadClass(String className, ClassLoader classLoader)
                throws ClassNotFoundException
@@ -214,9 +214,9 @@ tryToLoadClass(String className, ClassLoader classLoader)
  */
 
 /**
 * Empty public constructor needed for externalization.
 * Should not be used for normal instantiation.
 */
+ * Empty public constructor needed for externalization.
+ * Should not be used for normal instantiation.
+ */
 public
 DataFlavor()
 {
@@ -228,8 +228,8 @@ DataFlavor()
 /*************************************************************************/
 
 /**
 * Private constructor.
 */
+ * Private constructor.
+ */
 private
 DataFlavor(Class representationClass,
           String mimeType,
@@ -246,15 +246,15 @@ DataFlavor(Class representationClass,
 /*************************************************************************/
 
 /**
 * Initializes a new instance of <code>DataFlavor</code>.  The class
 * and human readable name are specified, the MIME type will be
 * "application/x-java-serialized-object". If the human readable name
 * is not specified (<code>null</code>) then the human readable name
 * will be the same as the MIME type.
 *
 * @param representationClass The representation class for this object.
 * @param humanPresentableName The display name of the object.
 */
+ * Initializes a new instance of <code>DataFlavor</code>.  The class
+ * and human readable name are specified, the MIME type will be
+ * "application/x-java-serialized-object". If the human readable name
+ * is not specified (<code>null</code>) then the human readable name
+ * will be the same as the MIME type.
+ *
+ * @param representationClass The representation class for this object.
+ * @param humanPresentableName The display name of the object.
+ */
 public
 DataFlavor(Class representationClass, String humanPresentableName)
 {
@@ -268,23 +268,23 @@ DataFlavor(Class representationClass, String humanPresentableName)
 /*************************************************************************/
 
 /**
 * Initializes a new instance of <code>DataFlavor</code> with the
 * specified MIME type and description.  If the MIME type has a
 * "class=<rep class>" parameter then the representation class will
 * be the class name specified. Otherwise the class defaults to
 * <code>java.io.InputStream</code>. If the human readable name
 * is not specified (<code>null</code>) then the human readable name
 * will be the same as the MIME type.
 *
 * @param mimeType The MIME type for this flavor.
 * @param humanPresentableName The display name of this flavor.
 * @param classLoader The class loader for finding classes if the default
 * class loaders do not work.
 *
 * @exception IllegalArgumentException If the representation class
 * specified cannot be loaded.
 * @exception ClassNotFoundException If the class is not loaded.
 */
+ * Initializes a new instance of <code>DataFlavor</code> with the
+ * specified MIME type and description.  If the MIME type has a
+ * "class=<rep class>" parameter then the representation class will
+ * be the class name specified. Otherwise the class defaults to
+ * <code>java.io.InputStream</code>. If the human readable name
+ * is not specified (<code>null</code>) then the human readable name
+ * will be the same as the MIME type.
+ *
+ * @param mimeType The MIME type for this flavor.
+ * @param humanPresentableName The display name of this flavor.
+ * @param classLoader The class loader for finding classes if the default
+ * class loaders do not work.
+ *
+ * @exception IllegalArgumentException If the representation class
+ * specified cannot be loaded.
+ * @exception ClassNotFoundException If the class is not loaded.
+ */
 public
 DataFlavor(String mimeType, String humanPresentableName, 
            ClassLoader classLoader) throws ClassNotFoundException
@@ -317,22 +317,22 @@ getRepresentationClassFromMime(String mimeString, ClassLoader classLoader)
 /*************************************************************************/
 
 /**
 * Initializes a new instance of <code>DataFlavor</code> with the
 * specified MIME type and description.  If the MIME type has a
 * "class=<rep class>" parameter then the representation class will
 * be the class name specified. Otherwise the class defaults to
 * <code>java.io.InputStream</code>. If the human readable name
 * is not specified (<code>null</code>) then the human readable name
 * will be the same as the MIME type. This is the same as calling
 * <code>new DataFlavor(mimeType, humanPresentableName, null)</code>.
 *
 * @param mimeType The MIME type for this flavor.
 * @param humanPresentableName The display name of this flavor.
 * @param classLoader The class loader for finding classes.
 *
 * @exception IllegalArgumentException If the representation class
 * specified cannot be loaded.
 */
+ * Initializes a new instance of <code>DataFlavor</code> with the
+ * specified MIME type and description.  If the MIME type has a
+ * "class=<rep class>" parameter then the representation class will
+ * be the class name specified. Otherwise the class defaults to
+ * <code>java.io.InputStream</code>. If the human readable name
+ * is not specified (<code>null</code>) then the human readable name
+ * will be the same as the MIME type. This is the same as calling
+ * <code>new DataFlavor(mimeType, humanPresentableName, null)</code>.
+ *
+ * @param mimeType The MIME type for this flavor.
+ * @param humanPresentableName The display name of this flavor.
+ * @param classLoader The class loader for finding classes.
+ *
+ * @exception IllegalArgumentException If the representation class
+ * specified cannot be loaded.
+ */
 public
 DataFlavor(String mimeType, String humanPresentableName)
            throws ClassNotFoundException
@@ -343,19 +343,19 @@ DataFlavor(String mimeType, String humanPresentableName)
 /*************************************************************************/
 
 /**
 * Initializes a new instance of <code>DataFlavor</code> with the specified
 * MIME type.  This type can have a "class=" parameter to specify the
 * representation class, and then the class must exist or an exception will
 * be thrown. If there is no "class=" parameter then the representation class
 * will be <code>java.io.InputStream</code>. This is the same as calling
 * <code>new DataFlavor(mimeType, null)</code>.
 *
 * @param mimeType The MIME type for this flavor.
 *
 * @exception IllegalArgumentException If a class is not specified in
 * the MIME type.
 * @exception ClassNotFoundException If the class cannot be loaded.
 */
+ * Initializes a new instance of <code>DataFlavor</code> with the specified
+ * MIME type.  This type can have a "class=" parameter to specify the
+ * representation class, and then the class must exist or an exception will
+ * be thrown. If there is no "class=" parameter then the representation class
+ * will be <code>java.io.InputStream</code>. This is the same as calling
+ * <code>new DataFlavor(mimeType, null)</code>.
+ *
+ * @param mimeType The MIME type for this flavor.
+ *
+ * @exception IllegalArgumentException If a class is not specified in
+ * the MIME type.
+ * @exception ClassNotFoundException If the class cannot be loaded.
+ */
 public
 DataFlavor(String mimeType) throws ClassNotFoundException
 {
@@ -365,10 +365,10 @@ DataFlavor(String mimeType) throws ClassNotFoundException
 /*************************************************************************/
 
 /**
 * Returns the MIME type of this flavor.
 *
 * @return The MIME type for this flavor.
 */
+ * Returns the MIME type of this flavor.
+ *
+ * @return The MIME type for this flavor.
+ */
 public String
 getMimeType()
 {
@@ -378,10 +378,10 @@ getMimeType()
 /*************************************************************************/
 
 /**
 * Returns the representation class for this flavor.
 *
 * @return The representation class for this flavor.
 */
+ * Returns the representation class for this flavor.
+ *
+ * @return The representation class for this flavor.
+ */
 public Class
 getRepresentationClass()
 {
@@ -391,10 +391,10 @@ getRepresentationClass()
 /*************************************************************************/
 
 /**
 * Returns the human presentable name for this flavor.
 *
 * @return The human presentable name for this flavor.
 */
+ * Returns the human presentable name for this flavor.
+ *
+ * @return The human presentable name for this flavor.
+ */
 public String
 getHumanPresentableName()
 {
@@ -404,10 +404,10 @@ getHumanPresentableName()
 /*************************************************************************/
 
 /**
 * Returns the primary MIME type for this flavor.
 *
 * @return The primary MIME type for this flavor.
 */
+ * Returns the primary MIME type for this flavor.
+ *
+ * @return The primary MIME type for this flavor.
+ */
 public String
 getPrimaryType()
 {
@@ -421,10 +421,10 @@ getPrimaryType()
 /*************************************************************************/
 
 /**
 * Returns the MIME subtype for this flavor.
 *
 * @return The MIME subtype for this flavor.
 */
+ * Returns the MIME subtype for this flavor.
+ *
+ * @return The MIME subtype for this flavor.
+ */
 public String
 getSubType()
 {
@@ -444,15 +444,15 @@ getSubType()
 /*************************************************************************/
 
 /**
 * Returns the value of the named MIME type parameter, or <code>null</code>
 * if the parameter does not exist. Given the parameter name and the mime
 * string.
 *
 * @param paramName The name of the parameter.
 * @param mimeString The mime string from where the name should be found.
 *
 * @return The value of the parameter or null.
 */
+ * Returns the value of the named MIME type parameter, or <code>null</code>
+ * if the parameter does not exist. Given the parameter name and the mime
+ * string.
+ *
+ * @param paramName The name of the parameter.
+ * @param mimeString The mime string from where the name should be found.
+ *
+ * @return The value of the parameter or null.
+ */
 private static String
 getParameter(String paramName, String mimeString)
 {
@@ -470,14 +470,15 @@ getParameter(String paramName, String mimeString)
 }
 
 /*************************************************************************/
+
 /**
 * Returns the value of the named MIME type parameter, or <code>null</code>
 * if the parameter does not exist.
 *
 * @param paramName The name of the paramter.
 *
 * @return The value of the parameter.
 */
+ * Returns the value of the named MIME type parameter, or <code>null</code>
+ * if the parameter does not exist.
+ *
+ * @param paramName The name of the paramter.
+ *
+ * @return The value of the parameter.
+ */
 public String
 getParameter(String paramName)
 {
@@ -487,10 +488,10 @@ getParameter(String paramName)
 /*************************************************************************/
 
 /**
 * Sets the human presentable name to the specified value.
 *
 * @param humanPresentableName The new display name.
 */
+ * Sets the human presentable name to the specified value.
+ *
+ * @param humanPresentableName The new display name.
+ */
 public void
 setHumanPresentableName(String humanPresentableName)
 {
@@ -500,16 +501,16 @@ setHumanPresentableName(String humanPresentableName)
 /*************************************************************************/
 
 /**
 * Tests the MIME type of this object for equality against the specified
 * MIME type.
 *
 * @param mimeType The MIME type to test against.
 *
 * @return <code>true</code> if the MIME type is equal to this object's
 * MIME type, <code>false</code> otherwise.
 *
 * @exception NullPointerException If mimeType is null.
 */
+ * Tests the MIME type of this object for equality against the specified
+ * MIME type.
+ *
+ * @param mimeType The MIME type to test against.
+ *
+ * @return <code>true</code> if the MIME type is equal to this object's
+ * MIME type, <code>false</code> otherwise.
+ *
+ * @exception NullPointerException If mimeType is null.
+ */
 public boolean
 isMimeTypeEqual(String mimeType)
 {
@@ -521,14 +522,14 @@ isMimeTypeEqual(String mimeType)
 /*************************************************************************/
 
 /**
 * Tests the MIME type of this object for equality against the specified
 * data flavor's MIME type
 *
 * @param flavor The flavor to test against.
 *
 * @return <code>true</code> if the flavor's MIME type is equal to this 
 * object's MIME type, <code>false</code> otherwise.
 */
+ * Tests the MIME type of this object for equality against the specified
+ * data flavor's MIME type
+ *
+ * @param flavor The flavor to test against.
+ *
+ * @return <code>true</code> if the flavor's MIME type is equal to this 
+ * object's MIME type, <code>false</code> otherwise.
+ */
 public boolean
 isMimeTypeEqual(DataFlavor flavor)
 {
@@ -538,11 +539,11 @@ isMimeTypeEqual(DataFlavor flavor)
 /*************************************************************************/
 
 /**
 * Tests whether or not this flavor represents a serialized object.
 *
 * @return <code>true</code> if this flavor represents a serialized
 * object, <code>false</code> otherwise.
 */
+ * Tests whether or not this flavor represents a serialized object.
+ *
+ * @return <code>true</code> if this flavor represents a serialized
+ * object, <code>false</code> otherwise.
+ */
 public boolean
 isMimeTypeSerializedObject()
 {
@@ -552,12 +553,12 @@ isMimeTypeSerializedObject()
 /*************************************************************************/
 
 /**
 * Tests whether or not this flavor has a representation class of
 * <code>java.io.InputStream</code>.
 *
 * @param <code>true</code> if the representation class of this flavor
 * is <code>java.io.InputStream</code>, <code>false</code> otherwise.
 */
+ * Tests whether or not this flavor has a representation class of
+ * <code>java.io.InputStream</code>.
+ *
+ * @param <code>true</code> if the representation class of this flavor
+ * is <code>java.io.InputStream</code>, <code>false</code> otherwise.
+ */
 public boolean
 isRepresentationClassInputStream()
 {
@@ -567,12 +568,12 @@ isRepresentationClassInputStream()
 /*************************************************************************/
 
 /**
 * Tests whether the representation class for this flavor is
 * serializable.
 *
 * @param <code>true</code> if the representation class is serializable,
 * <code>false</code> otherwise.
 */
+ * Tests whether the representation class for this flavor is
+ * serializable.
+ *
+ * @param <code>true</code> if the representation class is serializable,
+ * <code>false</code> otherwise.
+ */
 public boolean
 isRepresentationClassSerializable()
 {
@@ -592,11 +593,11 @@ isRepresentationClassSerializable()
 /*************************************************************************/
 
 /**
 * Tests whether the representation class for his flavor is remote.
 *
 * @return <code>true</code> if the representation class is remote,
 * <code>false</code> otherwise.
 */
+ * Tests whether the representation class for his flavor is remote.
+ *
+ * @return <code>true</code> if the representation class is remote,
+ * <code>false</code> otherwise.
+ */
 public boolean
 isRepresentationClassRemote()
 {
@@ -607,11 +608,11 @@ isRepresentationClassRemote()
 /*************************************************************************/
 
 /**
 * Tests whether or not this flavor represents a serialized object.
 *
 * @return <code>true</code> if this flavor represents a serialized
 * object, <code>false</code> otherwise.
 */
+ * Tests whether or not this flavor represents a serialized object.
+ *
+ * @return <code>true</code> if this flavor represents a serialized
+ * object, <code>false</code> otherwise.
+ */
 public boolean
 isFlavorSerializedObjectType()
 {
@@ -622,11 +623,11 @@ isFlavorSerializedObjectType()
 /*************************************************************************/
 
 /**
 * Tests whether or not this flavor represents a remote object.
 *
 * @return <code>true</code> if this flavor represents a remote object,
 * <code>false</code> otherwise.
 */
+ * Tests whether or not this flavor represents a remote object.
+ *
+ * @return <code>true</code> if this flavor represents a remote object,
+ * <code>false</code> otherwise.
+ */
 public boolean
 isFlavorRemoteObjectType()
 {
@@ -636,11 +637,11 @@ isFlavorRemoteObjectType()
 /*************************************************************************/
 
 /**
 * Tests whether or not this flavor represents a list of files.
 *
 * @return <code>true</code> if this flavor represents a list of files,
 * <code>false</code> otherwise.
 */
+ * Tests whether or not this flavor represents a list of files.
+ *
+ * @return <code>true</code> if this flavor represents a list of files,
+ * <code>false</code> otherwise.
+ */
 public boolean
 isFlavorJavaFileListType()
 {
@@ -654,14 +655,14 @@ isFlavorJavaFileListType()
 /*************************************************************************/
 
 /**
 * Returns a copy of this object.
 *
 * @return A copy of this object.
 *
 * @exception CloneNotSupportedException If the object's class does not support
 * the Cloneable interface. Subclasses that override the clone method can also
 * throw this exception to indicate that an instance cannot be cloned.
 */
+ * Returns a copy of this object.
+ *
+ * @return A copy of this object.
+ *
+ * @exception CloneNotSupportedException If the object's class does not support
+ * the Cloneable interface. Subclasses that override the clone method can also
+ * throw this exception to indicate that an instance cannot be cloned.
+ */
 public Object clone () throws CloneNotSupportedException
 {
   try
@@ -677,15 +678,15 @@ public Object clone () throws CloneNotSupportedException
 /*************************************************************************/
 
 /**
 * This method test the specified <code>DataFlavor</code> for equality
 * against this object.  This will be true if the MIME type and
 * representation type are the equal.
 *
 * @param flavor The <code>DataFlavor</code> to test against.
 *
 * @return <code>true</code> if the flavor is equal to this object,
 * <code>false</code> otherwise.
 */
+ * This method test the specified <code>DataFlavor</code> for equality
+ * against this object.  This will be true if the MIME type and
+ * representation type are the equal.
+ *
+ * @param flavor The <code>DataFlavor</code> to test against.
+ *
+ * @return <code>true</code> if the flavor is equal to this object,
+ * <code>false</code> otherwise.
+ */
 public boolean
 equals(DataFlavor flavor)
 {
@@ -704,22 +705,22 @@ equals(DataFlavor flavor)
 /*************************************************************************/
 
 /**
 * This method test the specified <code>Object</code> for equality
 * against this object.  This will be true if the following conditions
 * are met:
 * <p>
 * <ul>
 * <li>The object is not <code>null</code>.
 * <li>The object is an instance of <code>DataFlavor</code>.
 * <li>The object's MIME type and representation class are equal to
 * this object's.
 * </ul>
 *
 * @param obj The <code>Object</code> to test against.
 *
 * @return <code>true</code> if the flavor is equal to this object,
 * <code>false</code> otherwise.
 */
+ * This method test the specified <code>Object</code> for equality
+ * against this object.  This will be true if the following conditions
+ * are met:
+ * <p>
+ * <ul>
+ * <li>The object is not <code>null</code>.
+ * <li>The object is an instance of <code>DataFlavor</code>.
+ * <li>The object's MIME type and representation class are equal to
+ * this object's.
+ * </ul>
+ *
+ * @param obj The <code>Object</code> to test against.
+ *
+ * @return <code>true</code> if the flavor is equal to this object,
+ * <code>false</code> otherwise.
+ */
 public boolean
 equals(Object obj)
 {
@@ -735,17 +736,17 @@ equals(Object obj)
 /*************************************************************************/
 
 /**
 * Tests whether or not the specified string is equal to the MIME type
 * of this object.
 *
 * @param str The string to test against.
 *
 * @return <code>true</code> if the string is equal to this object's MIME
 * type, <code>false</code> otherwise.
 *
 * @deprecated Not compatible with <code>hashCode()</code>.
 *             Use <code>isMimeTypeEqual()</code>
 */
+ * Tests whether or not the specified string is equal to the MIME type
+ * of this object.
+ *
+ * @param str The string to test against.
+ *
+ * @return <code>true</code> if the string is equal to this object's MIME
+ * type, <code>false</code> otherwise.
+ *
+ * @deprecated Not compatible with <code>hashCode()</code>.
+ *             Use <code>isMimeTypeEqual()</code>
+ */
 public boolean
 equals(String str)
 {
@@ -755,10 +756,10 @@ equals(String str)
 /*************************************************************************/
 
 /**
 * Returns the hash code for this data flavor.
 * The hash code is based on the (lower case) mime type and the
 * representation class.
 */
+ * Returns the hash code for this data flavor.
+ * The hash code is based on the (lower case) mime type and the
+ * representation class.
+ */
 public int
 hashCode()
 {
@@ -768,9 +769,9 @@ hashCode()
 /*************************************************************************/
 
 /**
 * Returns <code>true</code> when the given <code>DataFlavor</code>
 * matches this one.
 */
+ * Returns <code>true</code> when the given <code>DataFlavor</code>
+ * matches this one.
+ */
 public boolean
 match(DataFlavor dataFlavor)
 {
@@ -781,16 +782,16 @@ match(DataFlavor dataFlavor)
 /*************************************************************************/
 
 /**
 * This method exists for backward compatibility.  It simply returns
 * the same name/value pair passed in.
 *
 * @param name The parameter name.
 * @param value The parameter value.
 *
 * @return The name/value pair.
 *
 * @deprecated
 */
+ * This method exists for backward compatibility.  It simply returns
+ * the same name/value pair passed in.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ *
+ * @return The name/value pair.
+ *
+ * @deprecated
+ */
 protected String
 normalizeMimeTypeParameter(String name, String value)
 {
@@ -800,15 +801,15 @@ normalizeMimeTypeParameter(String name, String value)
 /*************************************************************************/
 
 /**
 * This method exists for backward compatibility.  It simply returns
 * the MIME type string unchanged.
 *
 * @param type The MIME type.
 
 * @return The MIME type.
 *
 * @deprecated
 */
+ * This method exists for backward compatibility.  It simply returns
+ * the MIME type string unchanged.
+ *
+ * @param type The MIME type.
+ * 
+ * @return The MIME type.
+ *
+ * @deprecated
+ */
 protected String
 normalizeMimeType(String type)
 {
@@ -818,12 +819,12 @@ normalizeMimeType(String type)
 /*************************************************************************/
 
 /**
 * Serialize this class.
 *
 * @param stream The <code>ObjectOutput</code> stream to serialize to.
 *
 * @exception IOException If an error occurs.
 */
+ * Serialize this class.
+ *
+ * @param stream The <code>ObjectOutput</code> stream to serialize to.
+ *
+ * @exception IOException If an error occurs.
+ */
 public void
 writeExternal(ObjectOutput stream) throws IOException
 {
@@ -833,14 +834,14 @@ writeExternal(ObjectOutput stream) throws IOException
 /*************************************************************************/
 
 /**
 * De-serialize this class.
 *
 * @param stream The <code>ObjectInput</code> stream to deserialize from.
 *
 * @exception IOException If an error ocurs.
 * @exception ClassNotFoundException If the class for an object being restored
 * cannot be found.
 */
+ * De-serialize this class.
+ *
+ * @param stream The <code>ObjectInput</code> stream to deserialize from.
+ *
+ * @exception IOException If an error ocurs.
+ * @exception ClassNotFoundException If the class for an object being restored
+ * cannot be found.
+ */
 public void
 readExternal(ObjectInput stream) throws IOException, ClassNotFoundException
 {
@@ -850,9 +851,9 @@ readExternal(ObjectInput stream) throws IOException, ClassNotFoundException
 /*************************************************************************/
 
 /**
 * Returns a string representation of this DataFlavor. Including the
 * representation class name, MIME type and human presentable name.
 */
+ * Returns a string representation of this DataFlavor. Including the
+ * representation class name, MIME type and human presentable name.
+ */
 public String
 toString()
 {
@@ -867,8 +868,8 @@ toString()
 /*************************************************************************/
 
 /**
 * XXX - Currently returns <code>plainTextFlavor</code>.
 */
+ * XXX - Currently returns <code>plainTextFlavor</code>.
+ */
 public static final DataFlavor
 getTextPlainUnicodeFlavor()
 {
@@ -878,10 +879,10 @@ getTextPlainUnicodeFlavor()
 /*************************************************************************/
 
 /**
 * XXX - Currently returns <code>java.io.InputStream</code>.
 *
 * @since 1.3
 */
+ * XXX - Currently returns <code>java.io.InputStream</code>.
+ *
+ * @since 1.3
+ */
 public final Class
 getDefaultRepresentationClass()
 {
@@ -890,8 +891,8 @@ getDefaultRepresentationClass()
 /*************************************************************************/
 
 /**
 * XXX - Currently returns <code>java.io.InputStream</code>.
 */
+ * XXX - Currently returns <code>java.io.InputStream</code>.
+ */
 public final String
 getDefaultRepresentationClassAsString()
 {
@@ -901,15 +902,15 @@ getDefaultRepresentationClassAsString()
 /*************************************************************************/
 
 /**
 * Selects the best supported text flavor on this implementation.
 * Returns <code>null</code> when none of the given flavors is liked.
 *
 * The <code>DataFlavor</code> returned the first data flavor in the
 * array that has either a representation class which is (a subclass of)
 * <code>Reader</code> or <code>String</code>, or has a representation
 * class which is (a subclass of) <code>InputStream</code> and has a
 * primary MIME type of "text" and has an supported encoding.
 */
+ * Selects the best supported text flavor on this implementation.
+ * Returns <code>null</code> when none of the given flavors is liked.
+ *
+ * The <code>DataFlavor</code> returned the first data flavor in the
+ * array that has either a representation class which is (a subclass of)
+ * <code>Reader</code> or <code>String</code>, or has a representation
+ * class which is (a subclass of) <code>InputStream</code> and has a
+ * primary MIME type of "text" and has an supported encoding.
+ */
 public static final DataFlavor
 selectBestTextFlavor(DataFlavor[] availableFlavors)
 {
@@ -952,30 +953,30 @@ selectBestTextFlavor(DataFlavor[] availableFlavors)
 /*************************************************************************/
 
 /**
 * Creates a <code>Reader</code> for a given <code>Transferable</code>.
 *
 * If the representation class is a (subclass of) <code>Reader</code>
 * then an instance of the representation class is returned. If the
 * representatation class is a <code>String</code> then a
 * <code>StringReader</code> is returned. And if the representation class
 * is a (subclass of) <code>InputStream</code> and the primary MIME type
 * is "text" then a <code>InputStreamReader</code> for the correct charset
 * encoding is returned.
 *
 * @param transferable The <code>Transferable</code> for which a text
 *                     <code>Reader</code> is requested.
 *
 * @exception IllegalArgumentException If the representation class is not one
 * of the seven listed above or the Transferable has null data.
 * @exception NullPointerException If the Transferable is null.
 * @exception UnsupportedFlavorException when the transferable doesn't
 * support this <code>DataFlavor</code>. Or if the representable class
 * isn't a (subclass of) <code>Reader</code>, <code>String</code>,
 * <code>InputStream</code> and/or the primary MIME type isn't "text".
 * @exception IOException when any IOException occurs.
 * @exception UnsupportedEncodingException if the "charset" isn't supported
 * on this platform.
 */
+ * Creates a <code>Reader</code> for a given <code>Transferable</code>.
+ *
+ * If the representation class is a (subclass of) <code>Reader</code>
+ * then an instance of the representation class is returned. If the
+ * representatation class is a <code>String</code> then a
+ * <code>StringReader</code> is returned. And if the representation class
+ * is a (subclass of) <code>InputStream</code> and the primary MIME type
+ * is "text" then a <code>InputStreamReader</code> for the correct charset
+ * encoding is returned.
+ *
+ * @param transferable The <code>Transferable</code> for which a text
+ *                     <code>Reader</code> is requested.
+ *
+ * @exception IllegalArgumentException If the representation class is not one
+ * of the seven listed above or the Transferable has null data.
+ * @exception NullPointerException If the Transferable is null.
+ * @exception UnsupportedFlavorException when the transferable doesn't
+ * support this <code>DataFlavor</code>. Or if the representable class
+ * isn't a (subclass of) <code>Reader</code>, <code>String</code>,
+ * <code>InputStream</code> and/or the primary MIME type isn't "text".
+ * @exception IOException when any IOException occurs.
+ * @exception UnsupportedEncodingException if the "charset" isn't supported
+ * on this platform.
+ */
 public Reader getReaderForText(Transferable transferable)
   throws UnsupportedFlavorException, IOException
 {
index 903f1f616b9619ccdf92144b2082dcfcfb4cea1f..daeb7c689b369696524c02e193c8b6af62bedf78 100644 (file)
@@ -39,76 +39,87 @@ package java.awt.font;
 
 /**
  * @author John Leuner <jewel@debian.org>
- *
- *
  */
-
-public final class TextHitInfo {
-
+public final class TextHitInfo
+{
+  private int charIndex;
+  private boolean leadingEdge;
+  
+  TextHitInfo (int charIndex, boolean leadingEdge)
+  {
+    this.charIndex = charIndex;
+    this.leadingEdge = leadingEdge;
+  }
+  
   public int getCharIndex()
   {
-    return -1;
+    return charIndex;
   }
 
   public boolean isLeadingEdge()
   {
-    return false;
+    return leadingEdge;
   }
 
   public int getInsertionIndex()
   {
-    return -1;
+    return (leadingEdge ? charIndex : charIndex + 1);
   }
 
   public int hashCode()
   {
-    return getCharIndex();
+    return charIndex;
   }
 
   public boolean equals(Object obj)
   {
     if(obj instanceof TextHitInfo)
       return this.equals((TextHitInfo) obj);
+    
     return false;
   }
 
   public boolean equals(TextHitInfo hitInfo)
   {
-    return (getCharIndex() == hitInfo.getCharIndex()) && (isLeadingEdge() == hitInfo.isLeadingEdge());
+    return (charIndex == hitInfo.getCharIndex ())
+            && (leadingEdge == hitInfo.isLeadingEdge ());
   }
 
   public static TextHitInfo leading(int charIndex)
   {
-    return new TextHitInfo();
+    return new TextHitInfo (charIndex, true);
   }
 
   public static TextHitInfo trailing(int charIndex)
   {
-    return new TextHitInfo();
+    return new TextHitInfo (charIndex, false);
   }
 
   public static TextHitInfo beforeOffset(int offset)
   {
-    return new TextHitInfo();
+    return new TextHitInfo (offset, false);
   }
 
   public static TextHitInfo afterOffset(int offset)
   {
-    return new TextHitInfo();
+    return new TextHitInfo (offset, true);
   }
 
   public TextHitInfo getOtherHit()
   {
-    return new TextHitInfo();
+    return (leadingEdge ? trailing (charIndex - 1) : leading (charIndex + 1));
   }
 
   public TextHitInfo getOffsetHit(int offset)
   {
-    return new TextHitInfo();
+    return new TextHitInfo (charIndex + offset, leadingEdge);
   }
 
   public String toString()
   {
-    return "";
+    return "TextHitInfo["
+            + charIndex
+            + (leadingEdge ? "L" : "T" )
+            + "]";
   }
 }
index bf6c45cab9986c56ff10629abcb84ae33e547e76..5d72288f589307938441b9ba2a8e5e7bffa76b0e 100644 (file)
@@ -53,8 +53,8 @@ import gnu.java.awt.ComponentDataBlitOp;
  * 
  * @author Rolf W. Rasmussen <rolfwr@ii.uib.no>
  */
-public class BufferedImage extends java.awt.Image
-    //implements java.awt.image.WritableRenderedImage
+public class BufferedImage extends Image
+  implements WritableRenderedImage
 {
   public static final int TYPE_CUSTOM         =  0,
                           TYPE_INT_RGB        =  1,
@@ -88,6 +88,8 @@ public class BufferedImage extends java.awt.Image
                                   0x03e0,
                                   0x001f,
                                   DataBuffer.TYPE_USHORT};
+
+  Vector observers;
   
   public BufferedImage(int w, int h, int type)
   {
@@ -569,4 +571,33 @@ public class BufferedImage extends java.awt.Image
     // FIXME: implement:
     return super.toString();
   }
+
+  /**
+   * Adds a tile observer. If the observer is already present, it receives
+   * multiple notifications.
+   *
+   * @param to The TileObserver to add.
+   */
+  public void addTileObserver (TileObserver to)
+  {
+    if (observers == null)
+      observers = new Vector ();
+       
+    observers.add (to);
+  }
+       
+  /**
+   * Removes a tile observer. If the observer was not registered,
+   * nothing happens. If the observer was registered for multiple
+   * notifications, it is now registered for one fewer notification.
+   *
+   * @param to The TileObserver to remove.
+   */
+  public void removeTileObserver (TileObserver to)
+  {
+    if (observers == null)
+      return;
+       
+    observers.remove (to);
+  }
 }