20 #ifndef FASTUIDRAW_PAINTER_SHADER_REGISTRAR_HPP 21 #define FASTUIDRAW_PAINTER_SHADER_REGISTRAR_HPP virtual PainterShader::Tag absorb_custom_brush_shader(const reference_counted_ptr< PainterBrushShader > &shader)=0
A PainterBlendShader represents a shader for performing blending operations.
A PainterDashedStrokeShaderSet holds a collection of PainterStrokeShaderSet objects for the purpose o...
virtual PainterShader::Tag absorb_item_shader(const reference_counted_ptr< PainterItemShader > &shader)=0
unsigned int unique_id(void) const
all classes and functions of FastUIDraw are in the namespace fastuidraw.
A PainterFillShader holds the shaders for drawing filled paths. Anti-aliasing is accomplished by draw...
void register_shader(const reference_counted_ptr< T > &shader)
virtual uint32_t compute_item_coverage_sub_shader_group(const reference_counted_ptr< PainterItemCoverageShader > &shader)=0
void register_shader(PainterItemShader *shader)
A wrapper over a pointer to implement reference counting.
A PainterImageBrushShader represents a single PainterBrushShader together with sub-shaders of it that...
A PainterStrokeShader holds shaders for stroking. It is to hold shaders for stroking paths linearly o...
A PainterBlendShaderSet represents a set of shaders for the blend modes enumerated by PainterEnums::b...
virtual uint32_t compute_custom_brush_sub_shader_group(const reference_counted_ptr< PainterBrushShader > &shader)=0
virtual bool blend_type_supported(enum PainterBlendShader::shader_type) const =0
virtual uint32_t compute_item_sub_shader_group(const reference_counted_ptr< PainterItemShader > &shader)=0
A PainterBrushShaderSet holds the PainterBrushShader objects to be used with the default brushes...
A Tag is how a PainterShader is described for and by a PainterShaderRegistrar.
A PainterShaderRegistrar is an interface that defines the assigning of PainterShader::ID() to a Paint...
A PainterShaderSet provides shaders for blending and drawing each of the item types glyphs...
virtual PainterShader::Tag absorb_blend_shader(const reference_counted_ptr< PainterBlendShader > &shader)=0
A PainterItemCoverageShader represents a shader to draw an item to a coverage buffer (see PainterSurf...
Defines default reference counting base classes.
PainterShaderRegistrar(void)
A PainterGlyphShader holds a shader for each glyph_type. The shaders are to handle attribute data as ...
file painter_shader_set.hpp
A PainterBrushShader represents a shader for performing a custom brush coloring.
virtual uint32_t compute_blend_sub_shader_group(const reference_counted_ptr< PainterBlendShader > &shader)=0
A PainterItemShader represents a shader to draw an item (typically a vertex and fragment shader pair)...
shader_type
Enumeration to specify how blend shader operates.
A PainterGradientBrushShader represents a set of brush shaders to to perform a gradient. Internally it containts four generic parent shaders:
virtual PainterShader::Tag absorb_item_coverage_shader(const reference_counted_ptr< PainterItemCoverageShader > &shader)=0