Display Module Reference

## Window and Input

- clan::DisplayWindow - Top-level window class
- clan::DisplayWindowDescription - Allows you to setup a more advanced description when creating a display window
- clan::Cursor - Mouse cursor class
- clan::CursorDescription - Allows you to setup a more advanced description when creating a mouse cursor
- clan::InputContext - Container class for all input devices connected to a window
- clan::InputDevice - Interface for keyboards, mice and game controllers
- clan::InputEvent - Describes an input event, such as key down, key up, mouse movement, etc
- clan::InputCode - This enumeration contains all the input IDs for well-known buttons

## 2D Graphics

- clan::Canvas - Main 2D drawing class
- clan::Image - 2D image
- clan::Sprite - More advanced version of a 2D image with multiple frames for animation
- clan::Path2D - Describes a 2D path
- clan::Shape2D - A complex 2D shape made out of paths
- clan::Color, clan::Colorf - Specifies a color using red, green, blue and alpha components
- clan::ColorHSLi, clan::ColorHSLf - Specifies a color using hue, saturation, lightness and alpha components
- clan::ColorHSVi, clan::ColorHSVf - Specifies a color using hue, saturation, value and alpha components
- clan::Gradient - Describes a linear gradient
- clan::SpanLayout - Draw rich text with word wrapping, images, fonts and colors
- clan::TextureGroup, clan::Subtexture - Calibrates which images end up in which atlas textures

## Fonts

- clan::Font - Font class for System / TrueType / OpenType fonts and fonts using sprite image frames as glyphs
- clan::FontDescription - Allows you to setup a more advanced description when creating a font
- clan::FontMetrics - The metrics of a font
- clan::VectorFont - Vector font drawing

## Image Pixels

- clan::PixelBuffer - Buffer containing image pixels (in CPU or GPU memory)
- clan::PixelBufferSet - Set of images that combined form a complete texture
- clan::PixelConverter - Pixel format converter class
- clan::TextureFormat - Enumeration for all the pixel formats supported
- clan::IconSet - Set of images for rendering an icon at different sizes
- clan::PerlinNoise - Perlin Noise Generator

## 3D Graphics

- clan::GraphicContext - Main immediate drawing class
- clan::Texture - Texture object base class
- clan::Texture1D, clan::Texture1DArray - One dimensional textures
- clan::Texture2D, clan::Texture2DArray - Two dimensional textures
- clan::Texture3D - Three dimensional textures
- clan::TextureCube, clan::TextureCubeArray - Cube textures
- clan::UniformBuffer, clan::UniformVector<T> - GPU buffer for uniform variables
- clan::VertexArrayBuffer, clan::VertexArrayVector<T> - GPU buffer for vertex attributes
- clan::ElementArrayBuffer, clan::ElementArrayVector<T> - GPU buffer for element indices
- clan::StorageBuffer, clan::StorageVector<T> - GPU buffer for shader storage (aka. Unordered Access View)
- clan::TransferBuffer, clan::TransferTexture, clan::TransferVector - CPU/GPU memory transfer buffers
- clan::BlendState, clan::BlendStateDescription - Blending state setup
- clan::DepthStencilState, clan::DepthStencilStateDescription - Depth and stencil state setup
- clan::RasterizerState, clan::RasterizerStateDescription - Rasterizer state setup
- clan::FrameBuffer, clan::RenderBuffer - Frame buffer setup
- clan::ProgramObject, clan::ShaderObject - Shader programs
- clan::PrimitivesArray - Vertex buffer objects
- clan::OcclusionQuery - Occlusion queries
- clan::RenderBatcher - Interface for participating in render batching

## Shader Effects

- clan::ShaderEffect - High level class for running shaders
- clan::ShaderEffectDescription - Allows you to setup a more advanced description when creating a shader effect

## Resources

- clan::DisplayCache - Resource cache interface for clanDisplay resources