Class IconStore

java.lang.Object
org.astrogrid.samp.gui.IconStore

public class IconStore extends Object
Manages client icons. Images are cached where appropriate. A size may be supplied so that all icons returned by this object's methods are of a given standard size. Also provides some icon utility methods.
Since:
17 Nov 2008
Author:
Mark Taylor
  • Constructor Summary

    Constructors
    Constructor
    Description
    IconStore(Icon defaultIcon)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Icon
    createEmptyIcon(int size)
    Returns an icon with no content but a given size.
    static Icon
    Returns an icon which indicates a shape but doesn't look like much.
    Returns the icon supplied by the graphic file at a given URL.
    getIcon(Client client)
    Returns the icon associated with a given client.
    static Icon
    scaleIcon(Icon icon, int fixDim, double maxAspect, boolean fixVertical)
    Icon implementation which is rescaled to so that one dimension (either width or height) has a fixed value.
    static Icon
    sizeIcon(Icon icon, int size)
    Return an icon based on an existing one, but drawn to an exact size.

    Methods inherited from class java.lang.Object

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

    • IconStore

      public IconStore(Icon defaultIcon)
      Constructor.
      Parameters:
      defaultIcon - icon returned if no client icon is available
  • Method Details

    • getIcon

      public Icon getIcon(String url)
      Returns the icon supplied by the graphic file at a given URL. Icons are cached, so that repeated invocations with the same url are not expensive.
      Parameters:
      url - URL of image
      Returns:
      image icon, resized if appropriate
    • getIcon

      public Icon getIcon(Client client)
      Returns the icon associated with a given client. This is either the icon described in its metadata or the default icon if there isn't one.
      Parameters:
      client - client whose icon is required
      Returns:
      associated icon, resized if appropriate
    • createEmptyIcon

      public static Icon createEmptyIcon(int size)
      Returns an icon with no content but a given size.
      Parameters:
      size - edge size in pixels
      Returns:
      emtpy square icon
    • createMinimalIcon

      public static Icon createMinimalIcon(int size)
      Returns an icon which indicates a shape but doesn't look like much. Currently it's a kind of open square.
      Parameters:
      size - dimension in pixels
      Returns:
      minimal icon
    • sizeIcon

      public static Icon sizeIcon(Icon icon, int size)
      Return an icon based on an existing one, but drawn to an exact size.
      Parameters:
      icon - original icon, or null for blank
      size - number of horizontal and vertical pixels in output
      Returns:
      resized version of icon
    • scaleIcon

      public static Icon scaleIcon(Icon icon, int fixDim, double maxAspect, boolean fixVertical)
      Icon implementation which is rescaled to so that one dimension (either width or height) has a fixed value.
      Parameters:
      icon - input icon
      fixDim - the fixed dimension in pixels
      maxAspect - maximum aspect ratio (>= 1)
      fixVertical - true to fix height, false to fix width