FastUIDraw
Public Member Functions | List of all members
fastuidraw::PainterAttributeDataFiller Class Referenceabstract

A PainterAttributeDataFiller is the interfaceto fill the data held by a PainterAttributeData. More...

#include <painter_attribute_data_filler.hpp>

Inheritance diagram for fastuidraw::PainterAttributeDataFiller:
Inheritance graph
[legend]

Public Member Functions

virtual void compute_sizes (unsigned int &number_attributes, unsigned int &number_indices, unsigned int &number_attribute_chunks, unsigned int &number_index_chunks, unsigned int &number_z_ranges) const =0
 
virtual void fill_data (c_array< PainterAttribute > attributes, c_array< PainterIndex > indices, c_array< c_array< const PainterAttribute > > attrib_chunks, c_array< c_array< const PainterIndex > > index_chunks, c_array< range_type< int > > zranges, c_array< int > index_adjusts) const =0
 

Detailed Description

A PainterAttributeDataFiller is the interfaceto fill the data held by a PainterAttributeData.

Definition at line 38 of file painter_attribute_data_filler.hpp.

Member Function Documentation

◆ compute_sizes()

virtual void fastuidraw::PainterAttributeDataFiller::compute_sizes ( unsigned int &  number_attributes,
unsigned int &  number_indices,
unsigned int &  number_attribute_chunks,
unsigned int &  number_index_chunks,
unsigned int &  number_z_ranges 
) const
pure virtual

To be implemented by a derived class to specify how many attributes, indices and chunks the PainterAttributeDataFiller will fill. All attributes and indices are on a common array. A chunk is a selection of attribute and index data. Each of the outputs is initialized as zero.

Parameters
[out]number_attributesnumber of total attributes to be set
[out]number_indicesnumber of total indices to be set
[out]number_attribute_chunksnumber of attribute chunks to be set
[out]number_index_chunksnumber of index chunks to be set
[out]number_z_rangesthe number of z-ranges to be set; z-ranges of PainterAttribtueData are accessed by PainterAttributeData::z_ranges() and PainterAttributeData::z_range().

◆ fill_data()

virtual void fastuidraw::PainterAttributeDataFiller::fill_data ( c_array< PainterAttribute attributes,
c_array< PainterIndex indices,
c_array< c_array< const PainterAttribute > >  attrib_chunks,
c_array< c_array< const PainterIndex > >  index_chunks,
c_array< range_type< int > >  zranges,
c_array< int >  index_adjusts 
) const
pure virtual

To be implemented by a derived class to fill data.

Parameters
attributeslocation to which to place attributes
indiceslocation to which to place indices
attrib_chunkslocation to which to fill attribute chunks; each element of attrib_chunks must be a sub-array of attributes. Initialized so that each element is an empty array.
index_chunkslocation to which to fill index chunks; each element of attrib_chunks must be a sub-array of indices. Initialized so that each element is an empty array.
zrangeslocation to which to fill the z-range values (PainterAttributeData::z_ranges()).
index_adjustslocation to which to fill the index adjust value (PainterAttributeData::index_adjust_chunks()).

The documentation for this class was generated from the following file: