OSDN Git Service

* Makefile.in: Rebuilt.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2002 05:51:34 +0000 (05:51 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jan 2002 05:51:34 +0000 (05:51 +0000)
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/image/AreaAveragingScaleFilter.java: New file from
Classpath.
* java/awt/image/CropImageFilter.java: New file from Classpath.
* java/awt/image/FilteredImageSource.java: New file from
Classpath.
* java/awt/image/ImageFilter.java: New file from Classpath.
* java/awt/image/MemoryImageSource.java: New file from Classpath.
* java/awt/image/PixelGrabber.java: New file from Classpath.
* java/awt/image/RGBImageFilter.java: New file from Classpath.
* java/awt/image/ReplicateScaleFilter.java: New file from
Classpath.
* java/awt/image/ImageProducer.java: Replaced with Classpath
version.
* java/awt/image/ImageObserver.java: Replaced with Classpath
version.
* java/awt/image/ImageConsumer.java: Replaced with Classpath
version.
* java/awt/GridBagConstraints.java (clone): Catch
CloneNotSupportedException.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49169 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/java/awt/image/ImageConsumer.java
libjava/java/awt/image/ImageObserver.java
libjava/java/awt/image/ImageProducer.java

index 26519cb..25073ff 100644 (file)
-/* Copyright (C) 2000  Free Software Foundation
+/* ImageConsumer.java -- Java interface for image consumption
+   Copyright (C) 1999 Free Software Foundation, Inc.
 
-   This file is part of libgcj.
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
 
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
 
 package java.awt.image;
+
 import java.util.Hashtable;
 
+/**
+ * An object implementing the <code>ImageProducer</code> interface can
+ * use objects implementing this interface to deliver the image data.
+ * 
+ * @author C. Brian Jones (cbj@gnu.org)
+ */
 public interface ImageConsumer
 {
+    /**
+     * The pixel order may be random.  This should be
+     * the default assumption of the <code>ImageConsumer</code>.
+     *
+     * @see #setHints 
+     */
+    public static final int RANDOMPIXELORDER = 1;
+
+    /**
+     * The pixel order is top-down, left-right.
+     *
+     * @see #setHints
+     */
+    public static final int TOPDOWNLEFTRIGHT = 2;
+
+    /**
+     * The pixel order is in multiples of complete scanlines.
+     *
+     * @see #setHints
+     */
+    public static final int COMPLETESCANLINES = 4;
+
+    /**
+     * The pixels will be delivered in a single pass.  There is at
+     * most one call to <code>setPixels</code> for any single pixel.
+     *
+     * @see #setHints
+     * @see #setPixels 
+     */
+    public static final int SINGLEPASS = 8;
+
+    /**
+     * The pixels will be delivered with multiple calls to
+     * <code>setPixels</code>.  The image contains a single frame
+     * which ends when <code>imageComplete</code> is called with the
+     * <code>STATICIMAGEDONE</code> flag.  If the image is constantly
+     * changing such as with video then the end of each frame is
+     * marked by a similar call to <code>imageComplete</code> with the
+     * <code>SINGLEFRAMEDONE</code> flag.
+     * 
+     * @see #setHints
+     * @see #imageComplete 
+     */
+    public static final int SINGLEFRAME = 16;
+
+    /**
+     * Indicates an error occurred while producing an image.
+     *
+     * @see #imageComplete
+     */
+    public static final int IMAGEERROR = 1;
 
-  public static final int RANDOMPIXELORDER  = 1 << 0,
-                         TOPDOWNLEFTRIGHT  = 1 << 1,
-                         COMPLETESCANLINES = 1 << 2,
-                         SINGLEPASS        = 1 << 3,
-                         SINGLEFRAME       = 1 << 4;
-                         
-  public static final int IMAGEERROR        = 1,
-                         SINGLEFRAMEDONE   = 2,
-                         STATICIMAGEDONE   = 3,
-                         IMAGEABORTED      = 4;
-
-  public void setDimensions(int width, int height);
-  public void setProperties(Hashtable props);
-  public void setColorModel(ColorModel model);
-  public void setHints(int hintflags);
-  public void setPixels(int x, int y, int w, int h, ColorModel model,
-                       byte[] pixels, int off, int scansize);
-  public void setPixels(int x, int y, int w, int h, ColorModel model,
-                       int[] pixels, int off, int scansize);
-  public void imageComplete(int status);
+    /**
+     * A single frame is complete but more will follow.
+     * 
+     * @see #imageComplete
+     */
+    public static final int SINGLEFRAMEDONE = 2;
+
+    /**
+     * The image is complete and no more pixels or frames will follow.
+     *
+     * @see #imageComplete
+     */
+    public static final int STATICIMAGEDONE = 3;
+
+    /**
+     * Production of the image has been aborted.
+     *
+     * @see #imageComplete
+     */
+    public static final int IMAGEABORTED = 4;
+
+    /**
+     * An <code>ImageProducer</code> indicates the size of the image
+     * being produced using this method.
+     * 
+     * @param width the width of the image
+     * @param height the height of the image 
+     */
+    public abstract void setDimensions(int width, int height);
+
+    /**
+     * An <code>ImageProducer</code> can set a list of properties
+     * associated with this image by using this method.
+     *
+     * @param props the list of properties associated with this image 
+     */
+    public abstract void setProperties(Hashtable props);
+
+    /**
+     * This <code>ColorModel</code> should indicate the model used by
+     * the majority of calls to <code>setPixels</code>.  Each call to
+     * <code>setPixels</code> could however indicate a different
+     * <code>ColorModel</code>.
+     *
+     * @param model the color model to be used most often by setPixels
+     * @see ColorModel 
+     */
+    public abstract void setColorModel(ColorModel model);
+
+    /**
+     * The <code>ImageProducer</code> should call this method with a
+     * bit mask of hints from any of <code>RANDOMPIXELORDER</code>,
+     * <code>TOPDOWNLEFTRIGHT</code>, <code>COMPLETESCANLINES</code>,
+     * <code>SINGLEPASS</code>, <code>SINGLEFRAME</code>.
+     * 
+     * @param flags a bit mask of hints
+     */
+    public abstract void setHints(int flags);
+
+    /**
+     * This function delivers a rectangle of pixels where any
+     * pixel(m,n) is stored in the array as a <code>byte</code> at
+     * index (n * scansize + m + offset).  
+     */
+    public abstract void setPixels(int x, int y, int w, int h, 
+          ColorModel model, byte[] pixels, int offset, int scansize);
+
+    /**
+     * This function delivers a rectangle of pixels where any
+     * pixel(m,n) is stored in the array as an <code>int</code> at
+     * index (n * scansize + m + offset).  
+     */
+    public abstract void setPixels(int x, int y, int w, int h, 
+           ColorModel model, int[] pixels, int offset, int scansize);
+
+    /**
+     * The <code>ImageProducer</code> calls this method to indicate a
+     * single frame or the entire image is complete.  The method is
+     * also used to indicate an error in loading or producing the
+     * image.  
+     */
+    public abstract void imageComplete(int status);
 }
+
index 770e28c..6c4673e 100644 (file)
-/* Copyright (C) 2000  Free Software Foundation
+/* ImageObserver.java -- Java interface for asynchronous updates to an image
+   Copyright (C) 1999 Free Software Foundation, Inc.
 
-   This file is part of libgcj.
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
 
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
 
 package java.awt.image;
 
 import java.awt.Image;
 
-public interface ImageObserver 
+/**
+ * An object implementing the <code>ImageObserver</code> interface can
+ * receive updates on image construction from an
+ * <code>ImageProducer</code> asynchronously.
+ *
+ * @see ImageProducer
+ * @author C. Brian Jones (cbj@gnu.org) 
+ */
+public interface ImageObserver
 {
-  int WIDTH      = 1 << 0;
-  int HEIGHT     = 1 << 1;
-  int PROPERTIES = 1 << 2;
-  int SOMEBITS   = 1 << 3;
-  int FRAMEBITS  = 1 << 4;
-  int ALLBITS    = 1 << 5;
-  int ERROR      = 1 << 6;
-  int ABORT      = 1 << 7;
-
-  boolean imageUpdate(Image image, int infoFlags, int x, int y, int width, 
-                      int height);
-}
+    /**
+     * The width of the image has been provided as the
+     * <code>width</code> argument to <code>imageUpdate</code>.
+     *
+     * @see #imageUpdate 
+     */
+    public static final int WIDTH = 1;
+
+    /**
+     * The height of the image has been provided as the
+     * <code>height</code> argument to <code>imageUpdate</code>.
+     *
+     * @see #imageUpdate 
+     */
+    public static final int HEIGHT = 2;
 
+    /**
+     * The properties of the image have been provided.
+     *
+     * @see #imageUpdate
+     * @see java.awt.Image#getProperty (java.lang.String, java.awt.image.ImageObserver)
+     */
+    public static final int PROPERTIES = 4;
 
+    /**
+     * More pixels are now available for drawing a scaled variation of
+     * the image.
+     *
+     * @see #imageUpdate 
+     */
+    public static final int SOMEBITS = 8;
+
+    /**
+     * All the pixels needed to draw a complete frame of a multi-frame
+     * image are available.
+     *
+     * @see #imageUpdate 
+     */
+    public static final int FRAMEBITS = 16;
+
+    /**
+     * An image with a single frame, a static image, is complete.
+     *
+     * @see #imageUpdate
+     */
+    public static final int ALLBITS = 32;
+
+    /**
+     * An error was encountered while producing the image.
+     *
+     * @see #imageUpdate
+     */
+    public static final int ERROR = 64;
+
+    /**
+     * Production of the image was aborted.
+     *
+     * @see #imageUpdate
+     */
+    public static final int ABORT = 128;
+
+    /**
+     * This is a callback method for an asynchronous image producer to
+     * provide updates on the production of the image as it happens.
+     *
+     * @param image the image the update refers to
+     * @param flags a bit mask indicating what is provided with this update
+     * @param x the x coordinate of the image
+     * @param y the y coordinate of the image
+     * @param width the width of the image
+     * @param height the height of the image
+     * 
+     * @see java.awt.Image 
+     */
+    public abstract boolean imageUpdate(Image image, int flags, int x, 
+                                       int y, int width, int height);
+}
index c8cfe12..1bc1736 100644 (file)
@@ -1,18 +1,85 @@
-/* Copyright (C) 2000  Free Software Foundation
+/* ImageProducer.java -- Java interface for image production
+   Copyright (C) 1999 Free Software Foundation, Inc.
 
-   This file is part of libgcj.
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
 
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
 
 package java.awt.image;
 
+/**
+ * An object implementing the <code>ImageProducer</code> interface can
+ * produce data for images.  Each image has a corresponding
+ * <code>ImageProducer</code> which is needed for things such as
+ * resizing the image.
+ *
+ * @see ImageConsumer
+ * @author C. Brian Jones (cbj@gnu.org) 
+ */
 public interface ImageProducer
 {
-  void addConsumer(ImageConsumer ic);
-  boolean isConsumer(ImageConsumer ic);
-  void removeConsumer(ImageConsumer ic);
-  void startProduction(ImageConsumer ic);
-  void requestTopDownLeftRightResend(ImageConsumer ic);
+    /**
+     * Used to register an <code>ImageConsumer</code> with this
+     * <code>ImageProducer</code>.  
+     */
+    public abstract void addConsumer(ImageConsumer ic);
+
+    /**
+     * Used to determine if the given <code>ImageConsumer</code> is
+     * already registered with this <code>ImageProducer</code>.  
+     */
+    public abstract boolean isConsumer(ImageConsumer ic);
+
+    /**
+     * Used to remove an <code>ImageConsumer</code> from the list of
+     * registered consumers for this <code>ImageProducer</code>.  
+     */
+    public abstract void removeConsumer(ImageConsumer ic);
+
+    /**
+     * Used to register an <code>ImageConsumer</code> with this
+     * <code>ImageProducer</code> and then immediately start
+     * reconstruction of the image data to be delivered to all
+     * registered consumers.  
+     */
+    public abstract void startProduction(ImageConsumer ic);
+
+    /**
+     * Used to register an <code>ImageConsumer</code> with this
+     * <code>ImageProducer</code> and then request that this producer
+     * resend the image data in the order top-down, left-right.  
+     */
+    public abstract void requestTopDownLeftRightResend(ImageConsumer ic);
 }
+