aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-03-10 13:21:38 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-03-10 13:21:38 +0000
commit76c16dd4c24cbf9ca6c311edcde5336e8c8b63f0 (patch)
tree8824e3ad925c3c75bbbaea307806393f90008db6 /libjava/java/awt
parente0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e (diff)
downloadgcc-76c16dd4c24cbf9ca6c311edcde5336e8c8b63f0.zip
gcc-76c16dd4c24cbf9ca6c311edcde5336e8c8b63f0.tar.gz
gcc-76c16dd4c24cbf9ca6c311edcde5336e8c8b63f0.tar.bz2
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. From-SVN: r64078
Diffstat (limited to 'libjava/java/awt')
-rw-r--r--libjava/java/awt/FocusTraversalPolicy.java39
-rw-r--r--libjava/java/awt/Window.java48
-rw-r--r--libjava/java/awt/datatransfer/DataFlavor.java649
-rw-r--r--libjava/java/awt/font/TextHitInfo.java45
-rw-r--r--libjava/java/awt/image/BufferedImage.java35
5 files changed, 448 insertions, 368 deletions
diff --git a/libjava/java/awt/FocusTraversalPolicy.java b/libjava/java/awt/FocusTraversalPolicy.java
index fcabece..0354a7f 100644
--- a/libjava/java/awt/FocusTraversalPolicy.java
+++ b/libjava/java/awt/FocusTraversalPolicy.java
@@ -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);
diff --git a/libjava/java/awt/Window.java b/libjava/java/awt/Window.java
index 805152e..e98c5ed 100644
--- a/libjava/java/awt/Window.java
+++ b/libjava/java/awt/Window.java
@@ -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;
+ }
}
}
diff --git a/libjava/java/awt/datatransfer/DataFlavor.java b/libjava/java/awt/datatransfer/DataFlavor.java
index 7239add..51b610b 100644
--- a/libjava/java/awt/datatransfer/DataFlavor.java
+++ b/libjava/java/awt/datatransfer/DataFlavor.java
@@ -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
{
diff --git a/libjava/java/awt/font/TextHitInfo.java b/libjava/java/awt/font/TextHitInfo.java
index 903f1f6..daeb7c6 100644
--- a/libjava/java/awt/font/TextHitInfo.java
+++ b/libjava/java/awt/font/TextHitInfo.java
@@ -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" )
+ + "]";
}
}
diff --git a/libjava/java/awt/image/BufferedImage.java b/libjava/java/awt/image/BufferedImage.java
index bf6c45c..5d72288 100644
--- a/libjava/java/awt/image/BufferedImage.java
+++ b/libjava/java/awt/image/BufferedImage.java
@@ -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);
+ }
}