// CSI program to draw a simple bridge
// Second attempt - uses constants!

import objectdraw.*;
import java.awt.*;

public class BuildBridge extends WindowController
{
	// specifications that control road's shape

	// coordinates of road's corner
	private static final int ROAD_LEFT = 50;
	private static final int ROAD_TOP = 50;

	// dimensions of road
	private static final int ROAD_LENGTH = 300;
	private static final int ROAD_HEIGHT = 30;
		
	// Dimensions of supports
	private static final int SUPPORT_WIDTH = 50;
	private static final int SUPPORT_HEIGHT = 100;

	// Coordinates and dimensions derived from specifications

	// Coordinates and dimensions of support
	private static final int SUPPORT_TOP = ROAD_TOP + ROAD_HEIGHT;
	private static final int SUPPORT_SPACING = (ROAD_LENGTH - 2*SUPPORT_WIDTH)/3;
	private static final int LEFT_SUPPORTS_LEFT = ROAD_LEFT + SUPPORT_SPACING;
	private static final int RIGHT_SUPPORTS_LEFT = LEFT_SUPPORTS_LEFT 
																  + SUPPORT_WIDTH + SUPPORT_SPACING;


	protected void begin()
	{
		//Instructions to construct the road

		new FilledRect( ROAD_LEFT, ROAD_TOP, ROAD_LENGTH, ROAD_HEIGHT, canvas);
		new FramedRect( LEFT_SUPPORTS_LEFT, SUPPORT_TOP, 
							 SUPPORT_WIDTH, SUPPORT_HEIGHT, canvas);
		new FramedRect( RIGHT_SUPPORTS_LEFT, SUPPORT_TOP, 
							 SUPPORT_WIDTH, SUPPORT_HEIGHT, canvas);
	} // end begin

} // end BuildBridge