package gizmoball.ui.r2;

import gizmoball.game.AbstractGizmo;

import java.awt.Graphics2D;

/**
 * An interface for all gizmo drawers in the R2 graphics
 * set.  Gizmo drawers implement drawGizmo methods which
 * extract the necessary information from the specific
 * gizmo type and use it to paint the gizmo onto the
 * Graphics context.<p>
 * 
 * L_IN_PIXELS has been initially set to 20 pixels, as
 * measured from the animated gif provided as an example
 * of gameplay.  This is also the lower bound for the 
 * coarseness requirement to be satisfied (.05L = 1 pixel, 
 * the minimum for detectable change).<p>
 * 
 * @author Albert Leung
 * @version 1.0
 * 
 */
public interface R2GizmoDrawer {
	
	public static final int L_IN_PIXELS = 20;
	
	public void drawGizmo(Graphics2D g, AbstractGizmo gizmo);
	
}
