Class WaitingImageObserver

java.lang.Object
org.pentaho.reporting.libraries.base.util.WaitingImageObserver
All Implemented Interfaces:
java.awt.image.ImageObserver

public class WaitingImageObserver extends java.lang.Object implements java.awt.image.ImageObserver
This image observer blocks until the image is completely loaded. AWT defers the loading of images until they are painted on a graphic.

While printing reports it is not very nice, not to know whether a image was completely loaded, so this observer forces the loading of the image until a final state (either ALLBITS, ABORT or ERROR) is reached.

Author:
Thomas Morgner
  • Field Summary

    Fields inherited from interface java.awt.image.ImageObserver

    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
  • Constructor Summary

    Constructors
    Constructor
    Description
    WaitingImageObserver(java.awt.Image image)
    Creates a new ImageObserver for the given Image.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
    Callback function used by AWT to inform that more data is available.
    boolean
    Returns true if there is an error condition, and false otherwise.
    boolean
    Checks whether the loading is complete.
    void
    The workerthread.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WaitingImageObserver

      public WaitingImageObserver(java.awt.Image image)
      Creates a new ImageObserver for the given Image. The observer has to be started by an external thread.
      Parameters:
      image - the image to observe (null not permitted).
  • Method Details

    • imageUpdate

      public boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
      Callback function used by AWT to inform that more data is available. The observer waits until either all data is loaded or AWT signals that the image cannot be loaded.
      Specified by:
      imageUpdate in interface java.awt.image.ImageObserver
      Parameters:
      img - the image being observed.
      infoflags - the bitwise inclusive OR of the following flags: WIDTH, HEIGHT, PROPERTIES, SOMEBITS, FRAMEBITS, ALLBITS, ERROR, ABORT.
      x - the x coordinate.
      y - the y coordinate.
      width - the width.
      height - the height.
      Returns:
      false if the infoflags indicate that the image is completely loaded; true otherwise.
    • waitImageLoaded

      public void waitImageLoaded()
      The workerthread. Simply draws the image to a BufferedImage's Graphics-Object and waits for the AWT to load the image.
    • isLoadingComplete

      public boolean isLoadingComplete()
      Checks whether the loading is complete.
      Returns:
      true, if the loading is complete, false otherwise.
    • isError

      public boolean isError()
      Returns true if there is an error condition, and false otherwise.
      Returns:
      A boolean.