
class Drawer
{
public:

	/**
	 * Draw an individual segment (column of pixels)
	 *
	 * @param segment the segment number
	 */
	virtual void draw( int segment ) = 0;

	/**
	 * Called before the first segment is drawn, once per "frame".
	 */
	virtual void draw_reset();

protected:

	/**
	 * Turn on/off an LED
	 *
	 * @param led index of the LED (0 to 9)
	 * @param on true to turn on, false to turn off
	 */
	void led_on( int led, bool on );

};
