| GL Backend | Implementation of a backend using the OpenGL (or OpenGL ES) GPU API |
| GL Utility | Collection of utility interfaces used by GL Backend that an application may wish to use as well |
| GLSL | Utility module to assist in creating GLSL shaders and also provides fastuidraw::glsl::PainterShaderRegistrarGLSL which provides shader assembly and default shaders via GLSL shaders. The GL backend via the class fastuidraw::gl::PainterEngineGL builds off of fastuidraw::glsl::PainterShaderRegistrarGLSL in that its fastuidraw::PainterEngine::painter_shader_registrar() method returns an object derived from fastuidraw::glsl::PainterShaderRegistrarGLSL. Part of the main library libFastUIDraw |
| GLSL Built in Shaders | This group documents the symbols and varyings of the built in shaders provided by the GLSL module (which is used by both the GL and GLES backends |
| GLSL Fragment Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for only fragment shader for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
| GLSL Vertex Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for only vertex shading for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
| GLSL Vertex Fragment Code | This group documents the GLSL functions fastuidraw makes available to GLSL code fragments for both vertex and fragment shading for custom shading as embodied by the classes fastuidraw::glsl::PainterItemShaderGLSL, fastuidraw::glsl::PainterBlendShaderGLSL and fastuidraw::glsl::PainterBrushShaderGLSL |
| Glyph | Glyph provides the interfaces to realizing glyph data for rendering glyphs. The big classes being Glyph, GlyphCache, GlyphAtlas and FontBase. Part of the main library libFastUIDraw |
| Imaging | Imaging provides the interface to realize images and color gradients |
| Painter | Painter provides the interface for Canvas drawing, the most important class being Painter. Part of the main library libFastUIDraw |
| Painter Attribute | Painter Attribute provides the interface to define the attribute data to be used by shaders. This includes how glyphs, stroked paths and filled paths are realized as attribute data |
| Painter Backend | If one is making a painter backend, then this group provides the information, see particularly the enumerations in fastuidraw::PainterHeader, fastuidraw::PainterItemMatrix, fastuidraw::PainterClipEquations for how data is packed by fastuidraw::Painter. Part of the main library libFastUIDraw |
| Painter Shader Data | Painter Shader Data defines the interface for providing to shaders a small amount of data that is constant across all vertices and pixels of a drawn item |
| Painter Shaders | Painter Shaders defines the interface how to specify shaders used by Painter to render items |
| Paths | Path provides the interface to realize paths, the main entry point for applications is the object Path |
| Utility | Utility provides simple utility classes, the most important and commonly used ones being reference_counted_ptr, vecN, and c_array. Part of the main library libFastUIDraw |