The internal structure of a glbarcode::Barcode contains a simple vectorized representation of the barcode. This representation is simply a list of device-independent and barcode-type-independent drawing primitives. New renderers can be created by simply extending the glbarcode::Renderer base class. The glbarcode::Renderer baseclass simply traverses this list of drawing primitives and calls the appropriate virtual method (or callback) to translate into native drawing commands for the target format or drawing context.
The renderer must implement the following virtual methods:
The following is a simple example of a renderer for a fictitious drawing library called "xxx":