Class ImageFactory

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

public abstract class ImageFactory extends 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 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)