Class ImageFactory

java.lang.Object
com.codename1.ui.ImageFactory

public abstract class ImageFactory extends java.lang.Object

A factory class for creating mutable images. This can be used to override how mutable images are generated. You can use this to implement, for example, a LRU cache for images so that they can be reused to conserve memory.

There is a default static image factory that can be assigned by calling:

`ImageFactory.setImageFactory(null, new ImageFactory() {
     public Image createImage(int w, int h, int bgColor) {
         // create an image
         // The Default would be just to call
         return Image.createImage(w, h, bgColor);`
});
}

You can also assign a factory whose scope is limited to a particular Form, Container, or Component, by setting the context argument in setImageFactory().

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract Image
    createImage(int w, int h, int bgColor)
     
    static Image
    createImage(Component context, int w, int h, int bgColor)
    Creates an image using the factory at a given context.
    Gets the image factory for a given component.
    Sets the ImageFactory for the given component.

    Methods inherited from class java.lang.Object

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

    • ImageFactory

      public ImageFactory()
  • Method Details

    • getImageFactory

      public static ImageFactory getImageFactory(Component cmp)

      Gets the image factory for a given component. If the component doesn't have an ImageFactory assigned, then it will check the parent container, and its descendants, until it finds a Component with an ImageFactory.

      If none of the component's descendants have an ImageFactory, then it will use the default global ImageFactory.

      Parameters
      • cmp: @param cmp The context from which to load the image factory. Use null to get the global default factory.
      Returns

      An image Factory

    • setImageFactory

      public static ImageFactory setImageFactory(Component cmp, ImageFactory f)

      Sets the ImageFactory for the given component.

      Parameters
      • cmp: @param cmp The component to set the ImageFactory for. If this parameter is null, then this method will set the default global ImageFactory

      • f: The ImageFactory to assign to the component.

      Returns

      The previous image factory that was assigned to the component, or null if none was previously assigned.

    • createImage

      public static Image createImage(Component context, int w, int h, int bgColor)

      Creates an image using the factory at a given context.

      Parameters
      • context: The context where the ImageFactory should be loaded from.

      • w: The width of the image to create.

      • h: The height of the image to create.

      • bgColor: The background color of the image.

      Returns

      A mutable Image.

    • createImage

      public abstract Image createImage(int w, int h, int bgColor)