Display Module Reference - ClanLib SDK

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::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::Path - Describes a 2D path
- 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

## 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

    <h2>Thread run-loop</h2>

    <ul>
    <li>clan::RunLoop - Application loop helper</li>
    <li>clan::Timer - Timer class that invokes a callback on a specified interval</li>
    </ul>