home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / java.z / Image.java < prev    next >
Text File  |  1996-05-03  |  4KB  |  98 lines

  1. /*
  2.  * @(#)Image.java    1.16 95/12/14 Sami Shaio
  3.  *
  4.  * Copyright (c) 1995 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19. package java.awt;
  20.  
  21. import java.awt.image.ImageProducer;
  22. import java.awt.image.ImageObserver;
  23.  
  24. /**
  25.  * The image class is an abstract class. The image must be obtained in a 
  26.  * platform specific way.
  27.  *
  28.  * @version     1.16, 14 Dec 1995
  29.  * @author     Sami Shaio
  30.  * @author     Arthur van Hoff
  31.  */
  32. public abstract class Image {
  33.     /**
  34.      * Gets the actual width of the image.  If the width is not known
  35.      * yet then the ImageObserver will be notified later and -1 will
  36.      * be returned.
  37.      * @see #getHeight
  38.      * @see ImageObserver
  39.      */
  40.     public abstract int getWidth(ImageObserver observer);
  41.  
  42.     /**
  43.      * Gets the actual height of the image.  If the height is not known
  44.      * yet then the ImageObserver will be notified later and -1 will
  45.      * be returned.
  46.      * @see #getWidth
  47.      * @see ImageObserver
  48.      */
  49.     public abstract int getHeight(ImageObserver observer);
  50.  
  51.     /**
  52.      * Gets the object that produces the pixels for the image.
  53.      * This is used by the Image filtering classes and by the
  54.      * image conversion and scaling code.
  55.      * @see ImageProducer
  56.      */
  57.     public abstract ImageProducer getSource();
  58.  
  59.     /**
  60.      * Gets a graphics object to draw into this image.
  61.      * This will only work for off-screen images.
  62.      * @see Graphics
  63.      */
  64.     public abstract Graphics getGraphics();
  65.  
  66.     /**
  67.      * Gets a property of the image by name.  Individual property names
  68.      * are defined by the various image formats.  If a property is not
  69.      * defined for a particular image, this method will return the
  70.      * UndefinedProperty object.  If the properties for this image are
  71.      * not yet known, then this method will return null and the ImageObserver
  72.      * object will be notified later.  The property name "comment" should
  73.      * be used to store an optional comment which can be presented to
  74.      * the user as a description of the image, its source, or its author.
  75.      * @see ImageObserver
  76.      * @see #UndefinedProperty
  77.      */
  78.     public abstract Object getProperty(String name, ImageObserver observer);
  79.  
  80.     /**
  81.      * The UndefinedProperty object should be returned whenever a
  82.      * property which was not defined for a particular image is
  83.      * fetched.
  84.      */
  85.     public static final Object UndefinedProperty = new Object();
  86.  
  87.     /**
  88.      * Flushes all resources being used by this Image object.  This
  89.      * includes any pixel data that is being cached for rendering to
  90.      * the screen as well as any system resources that are being used
  91.      * to store data or pixels for the image.  The image is reset to
  92.      * a state similar to when it was first created so that if it is
  93.      * again rendered, the image data will have to be recreated or
  94.      * fetched again from its source.
  95.      */
  96.     public abstract void flush();
  97. }
  98.