# Grasshopper2.UI.Icon namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Interfaces

- [IIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iicon.md): Base interface for icons and other UI images. This type does *not* wrap bitmaps, but instead represents scale-agnostic, relatively small images of either vector, pixel or algorithmic contents.

## Classes

- [AbstractIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.abstracticon.md): Abstract implementation of IIcon. Consider deriving from this base class rather than implementing IIcon from scratch. This class also has many static creation methods for creating IIcon instances from a variety of data.
- [IconAtlas](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconatlas.md): A class which caches icons as bitmaps on the disk.
- [IconContext](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconcontext.md): Context used during the rendering of icons. It encodes both the transformation from icon to render space, as well as the estimated background colour.
- [IconException](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconexception.md): Exception used for various icon failures.
- [IconHostingControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconhostingcontrol.md): A control for hosting and loading icons.
- [IconPalette](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconpalette.md): Palette of standard colours use for icon drawing.
- [IconState](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconstate.md): Icon state descriptor. An icon state is basically a numeric value which can change over time, and may affect certain elements of an icon.
- [IconStateEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconstateeventargs.md): Event arguments used during IconState.Changed events.
- [PixelIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.pixelicon.md): Implements IIcon for bitmap icons.
- [StandardIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.standardicons.md): Static class providing easy access to the construction of various icons.
- [StandardIcons.Parameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.standardicons.parameters.md): Provides the standard parameter icons. These typically look like strongly contrasting hexagons with a simple shape on top.
- [StandardIcons.Progress](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.standardicons.progress.md): Standard progress icon. Create the icon, then update it by setting the CurrentStep property.
- [StandardIcons.UndoRedoIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.standardicons.undoredoicon.md): Standard undo/redo icon.

## Enums

- [IconType](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.icontype.md): Enumerates the possible types of image.
- [SpecialColour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.specialcolour.md): Enumerates the special colours defined in Grasshopper. The values of this enum are identical to the ARGB integer representation of the colour which is associated with these enum values. Thus, the enum values are all very big, as they encode an alpha channel value of 2 (out of 255).
- [StandardIcons.ArrowDirection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.standardicons.arrowdirection.md): Enumerates the possible orientations of the arrow.
