FastUIDraw
Classes
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. More...

Classes

class  fastuidraw::PainterBlendShaderData
 PainterBlendShaderData holds custom data for blend shaders. More...
 
class  fastuidraw::PainterBrushShaderData
 Base class to hold custom data for custom brush shaders. More...
 
class  fastuidraw::PainterDashedStrokeParams
 Class to specify dashed stroking parameters, data is packed as according to PainterDashedStrokeParams::stroke_data_offset_t. Data for dashing is packed [TODO describe]. More...
 
class  fastuidraw::PainterData
 A PainterData provides the data for how for a Painter to draw content. More...
 
class  fastuidraw::PainterDataValue< T >
 Element of PainterData to hold shader data either reference directly to unpacked data or to reuseable packed data. More...
 
class  fastuidraw::PainterGradientBrushShaderData
 A PainterGradientBrushShaderData defines the PainterBrushShaderData that the shaders of a PainterGradientBrushShader consume. It specifies what ColorStopSequence to use together with the geometric properties of the gradient. More...
 
class  fastuidraw::PainterImageBrushShaderData
 A PainterImageBrushShaderData defines the PainterBrushShaderData that the shaders of a PainterImageBrushShader consume. It specifies what Image and what rectangular region within it from which to source image data. More...
 
class  fastuidraw::PainterItemShaderData
 PainterItemShaderData holds custom data for item shaders. More...
 
class  fastuidraw::PainterPackedValue< T >
 A PainterPackedValue represents a handle to an object that stores packed state data and tracks if that underlying data is already is already copied to PainterDraw::m_store. More...
 
class  fastuidraw::PainterPackedValueBase
 (Private) base class used for PainterPackedValue More...
 
class  fastuidraw::PainterPackedValuePool
 A PainterPackedValuePool can be used to create PainterPackedValue objects. More...
 
class  fastuidraw::PainterShaderData
 Common base class to PainterItemShaderData, PainterBrushShaderData and PainterBlendShaderData to hold shader data for custom shaders. More...
 
class  fastuidraw::PainterStrokeParams
 Class to specify stroking parameters, data is packed as according to PainterStrokeParams::stroke_data_offset_t. More...
 

Detailed Description

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.

Each of the data classes is paired with a shader classes:

The data is passed to fastuidraw::Painter methods through the class fastuidraw::PainterData. Shader data can also be pre-packed by a caller for reuse through the immutable class fastuidraw::PainterPackedValue. Using fastuidraw::PainterPackedValue for when the same shader data values are used is a big win because that class provides the means for FastUIDraw to upload that shader data far fewer times (usually once for an entire frame instead once per use).