Class CompositeSprite

java.lang.Object
games.stendhal.client.sprite.CompositeSprite
All Implemented Interfaces:
Sprite

public class CompositeSprite extends Object implements Sprite
A sprite that merges several Sprite objects to one, and pre-renders those it can so that they do not need to be composited every time the sprite is drawn.
  • Method Details

    • getComposite

      public static Sprite getComposite(SpriteCache cache, List<Sprite> slaves, Composite blend, Sprite adj)
      Get a composite of at least one Sprite. Note that the result is not necessarily a CompositeSprite, but can well be one of the slave sprites if the said sprite is enough to represent the entire composite. The composite can have also one sprite, which is composited above the others using a special blend mode.
      Parameters:
      cache - Cache to look up a previously stored, and storing newly created composites
      slaves - Sprites making up the composite. The list should be non-null and not empty. Also the sprites themselves should be non-null.
      blend - Blend mode for the special adjustment sprite, or null, if no adjustments are wanted
      adj - adjustment sprite, or null
      Returns:
      A Sprite representing a composite of the slave Sprites
    • createRegion

      public Sprite createRegion(int x, int y, int width, int height, Object ref)
      Description copied from interface: Sprite
      Create a sub-region of this sprite. NOTE: This does not use caching.
      Specified by:
      createRegion in interface Sprite
      Parameters:
      x - The starting X coordinate.
      y - The starting Y coordinate.
      width - The region width.
      height - The region height.
      ref - The sprite reference.
      Returns:
      A new sprite.
    • draw

      public void draw(Graphics g, int x, int y)
      Description copied from interface: Sprite
      Draw the sprite onto the graphics context provided.
      Specified by:
      draw in interface Sprite
      Parameters:
      g - The graphics context on which to draw the sprite
      x - The x location at which to draw the sprite
      y - The y location at which to draw the sprite
    • draw

      public void draw(Graphics g, int destx, int desty, int x, int y, int w, int h)
      Description copied from interface: Sprite
      Draws the image.
      Specified by:
      draw in interface Sprite
      Parameters:
      g - the graphics context where to draw to
      destx - destination x
      desty - destination y
      x - the source x
      y - the source y
      w - the width
      h - the height
    • getHeight

      public int getHeight()
      Description copied from interface: Sprite
      Get the height of the drawn sprite.
      Specified by:
      getHeight in interface Sprite
      Returns:
      The height in pixels of this sprite
    • getReference

      public Object getReference()
      Description copied from interface: Sprite
      Get the sprite reference. This identifier is an externally opaque object that implements equals() and hashCode() to uniquely/repeatably reference a keyed sprite.
      Specified by:
      getReference in interface Sprite
      Returns:
      The reference identifier, or null if not referencable.
    • getWidth

      public int getWidth()
      Description copied from interface: Sprite
      Get the width of the drawn sprite.
      Specified by:
      getWidth in interface Sprite
      Returns:
      The width in pixels of this sprite