Class DynamicImage

java.lang.Object
com.codename1.ui.Image
com.codename1.ui.DynamicImage
All Implemented Interfaces:
ActionSource

public abstract class DynamicImage extends Image
A base class for images that dynamically painted, just like a normal component. Subclasses just need to implement the java.lang.Object, int, int, int, int) method.
  • Constructor Details

    • DynamicImage

      public DynamicImage()
      Constructor. Creates image of default size: 250x250 pixels.
    • DynamicImage

      public DynamicImage(int w, int h)

      Constructor with width and height.

      Parameters
      • w: The width of the image.

      • h: The height of the image.

  • Method Details

    • setIcon

      public static void setIcon(Label lbl, DynamicImage img)
      Sets the given image as the icon for the specified label. This will link the label's style with the image just before each call the java.lang.Object, int, int, int, int) so that the image can correctly adapt to the label's style.
    • getStyle

      public Style getStyle()
      Gets the style for this image.
    • setStyle

      public void setStyle(Style s)

      Sets the style to be used for drawing the image. The java.lang.Object, int, int, int, int) can use any aspect of this style to customize the drawing.

      Parameters
      • s: The style.
    • getWidth

      public int getWidth()

      Returns the width of the image

      Returns

      the width of the image

      Overrides:
      getWidth in class Image
    • getHeight

      public int getHeight()

      Returns the height of the image

      Returns

      the height of the image

      Overrides:
      getHeight in class Image
    • scale

      public void scale(int width, int height)

      Scale the image to the given width and height, this is a fast algorithm that preserves translucent information

      Parameters
      • width: width for the scaling

      • height: height of the scaled image

      Deprecated
      Overrides:
      scale in class Image
    • fill

      public Image fill(int width, int height)

      Resizes/crops the image so that its center fills the given dimensions. This is similar to com.codename1.ui.plaf.Style#BACKGROUND_IMAGE_SCALED_FILL

      Parameters
      • width: the width to fill

      • height: the height to fill

      Returns

      a new image (or the same image if dimensions happen to match) filling the width/height

      Overrides:
      fill in class Image
    • applyMask

      public Image applyMask(Object mask)

      Applies the given alpha mask onto this image and returns the resulting image see the createMask method for indication on how to convert an image into an alpha mask.

      Parameters
      • mask: mask object created by the createMask() method.
      Returns

      image masked based on the given object

      Throws
      • IllegalArgumentException: if the image size doesn't match the mask size
      Overrides:
      applyMask in class Image
    • requiresDrawImage

      public boolean requiresDrawImage()
      Description copied from class: Image

      New label optimizations don't invoke drawImage and instead just pass the native image directly to the underlying renderer. This is problematic for some image types specifically timeline & FontImage and this method allows these classes to indicate that they need that legacy behavior of calling drawImage.

      Returns

      true if a drawImage call is a required

      Overrides:
      requiresDrawImage in class Image
    • drawImageImpl

      protected abstract void drawImageImpl(Graphics g, Object nativeGraphics, int x, int y, int w, int h)

      This method should be overridden by subclasses to perform the actual drawing of the image on a graphics context.

      Parameters
      • g: The graphics context

      • nativeGraphics: THe native graphics context.

      • x: x-coordinate of the bounds to draw.

      • y: y-coordinate of the bounds to draw.

      • w: width of the bounds

      • h: height of the bounds

    • drawImage

      protected void drawImage(Graphics g, Object nativeGraphics, int x, int y)

      Callback invoked internally by Codename One to draw the image/frame onto the display. Image subclasses can override this method to perform drawing of custom image types.

      Parameters
      • g: the graphics object

      • nativeGraphics: the underlying native graphics which might be essential for some image types

      • x: the x coordinate

      • y: the y coordinate

      Overrides:
      drawImage in class Image
    • drawImage

      protected void drawImage(Graphics g, Object nativeGraphics, int x, int y, int w, int h)

      Callback invoked internally by Codename One to draw the image/frame onto the display. Image subclasses can override this method to perform drawing of custom image types.

      Parameters
      • g: the graphics object

      • nativeGraphics: the underlying native graphics which might be essential for some image types

      • x: the x coordinate

      • y: the y coordinate

      • w: the width to occupy

      • h: the height to occupy

      Overrides:
      drawImage in class Image