// CS 134 program to draw a warning sign
// Second attempt - named locations, but not constants

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

public class NoClicking2 extends WindowController
{

	int circleLeft, circleTop;	// Coordinates and dimensions of
	int circleSize;				// circle.
	
	int lineInset;				// inset to ends of diagonal
	
	int lineX1,lineY1,			// Coordinates for diagonal
		lineX2,lineY2;
		
	int messX, messY;			// Coordinates for "CLICKING"
	
	int poleLeft,poleTop; 		// Coordinates for the pole
	
	
	int signLeft, signTop;  	// coordinates of sign's corner
	int signSize;				// dimensions of sign
	
	int circleInset;			//  space from circle to sign edge
	
	int messWidth, messHeight;	// Dimensions for "CLICKING"
	
	int poleWidth, poleHt;		// Dimensions for pole
	
	public void begin()
	{
		// specifications that control sign's shape
		
		signLeft = 200;
		signTop = 70;
		signSize = 100;
				
		circleInset = 7;
		
		messWidth = 40;
		messHeight = 10;
		
		poleWidth = 5;
		poleHt = 150;
		
		// Coordinates and dimensions derived from specifications
		
		circleLeft = signLeft + circleInset;
		circleTop = signTop + circleInset;
		circleSize = signSize - 2*circleInset;

		messX = signLeft + (signSize-messWidth)/2;
		messY = signTop + signSize/2 - messHeight/2;
		
		lineInset =  signSize/2 - 5*(signSize/2 - circleInset)/7;
		
		lineX1 = signLeft + lineInset;
		lineY1 = signTop + lineInset;
		lineX2 = signLeft + signSize - lineInset;
		lineY2 = signTop + signSize - lineInset;
		
		poleTop = signTop + signSize;
		poleLeft = signLeft + signSize/2 - poleWidth/2;
		
		//	Instructions to construct the sign
		
		new FramedRect( signLeft, signTop,
						signSize, signSize, canvas);
		new FramedOval( circleLeft, circleTop, 
						circleSize, circleSize, canvas);
						
		new Text( "CLICKING", messX, messY, canvas);
		
		new Line(lineX1, lineY1, lineX2, lineY2, canvas);
		
		new FilledRect(poleLeft, poleTop, poleWidth, poleHt, canvas);
	}

}