Interface ImageProducer

All Known Implementing Classes:
FilteredImageSource,MemoryImageSource,RenderableImageProducer

public interfaceImageProducer
The interface for objects which can produce the image data for Images. Each image contains an ImageProducer which is used to reconstruct the image whenever it is needed, for example, when a new size of the Image is scaled, or when the width or height of the Image is being requested.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Registers anImageConsumer with theImageProducer for access to the image data during a later reconstruction of theImage.
    boolean
    Determines if a specifiedImageConsumer object is currently registered with thisImageProducer as one of its consumers.
    void
    Removes the specifiedImageConsumer object from the list of consumers currently registered to receive image data.
    void
    Requests, on behalf of theImageConsumer, that theImageProducer attempt to resend the image data one more time in TOPDOWNLEFTRIGHT order so that higher quality conversion algorithms which depend on receiving pixels in order can be used to produce a better output version of the image.
    void
    Registers the specifiedImageConsumer object as a consumer and starts an immediate reconstruction of the image data which will then be delivered to this consumer and any other consumer which might have already been registered with the producer.
  • Method Details

    • addConsumer

      void addConsumer(ImageConsumer ic)
      Registers anImageConsumer with theImageProducer for access to the image data during a later reconstruction of theImage. TheImageProducer may, at its discretion, start delivering the image data to the consumer using theImageConsumer interface immediately, or when the next available image reconstruction is triggered by a call to thestartProduction method.
      Parameters:
      ic - the specifiedImageConsumer
      See Also:
    • isConsumer

      boolean isConsumer(ImageConsumer ic)
      Determines if a specifiedImageConsumer object is currently registered with thisImageProducer as one of its consumers.
      Parameters:
      ic - the specifiedImageConsumer
      Returns:
      true if the specifiedImageConsumer is registered with thisImageProducer;false otherwise.
    • removeConsumer

      void removeConsumer(ImageConsumer ic)
      Removes the specifiedImageConsumer object from the list of consumers currently registered to receive image data. It is not considered an error to remove a consumer that is not currently registered. TheImageProducer should stop sending data to this consumer as soon as is feasible.
      Parameters:
      ic - the specifiedImageConsumer
    • startProduction

      void startProduction(ImageConsumer ic)
      Registers the specifiedImageConsumer object as a consumer and starts an immediate reconstruction of the image data which will then be delivered to this consumer and any other consumer which might have already been registered with the producer. This method differs from the addConsumer method in that a reproduction of the image data should be triggered as soon as possible.
      Parameters:
      ic - the specifiedImageConsumer
      See Also:
    • requestTopDownLeftRightResend

      void requestTopDownLeftRightResend(ImageConsumer ic)
      Requests, on behalf of theImageConsumer, that theImageProducer attempt to resend the image data one more time in TOPDOWNLEFTRIGHT order so that higher quality conversion algorithms which depend on receiving pixels in order can be used to produce a better output version of the image. TheImageProducer is free to ignore this call if it cannot resend the data in that order. If the data can be resent, theImageProducer should respond by executing the following minimum set ofImageConsumer method calls:
        ic.setHints(TOPDOWNLEFTRIGHT | < otherhints >);  ic.setPixels(...);      // As many times as needed  ic.imageComplete();
      Parameters:
      ic - the specifiedImageConsumer
      See Also: