CS21: Using the Graphics Library

To use the graphics library, first import it at the top of your program:
	from graphics import *
Next create a new graphics window object, and then create gui objects to draw into this window:
	 win = GraphWin("My GUI Program", 500, 500)   # creates new GraphWin object, 500x500 pixels in size

	 circ = Circle(Point(50,50), 20)    # creates a new Circle object centered at 50,50 with a radius of 20 pixels
	 circ.setFill("red")     # invoke the setFill method of the Circle object refered to by circ 
	 circ.draw(win)          # draw the circ object to the GraphWin win

Here is some information about the GraphWin object and some of the Graphics objects you can use (section 5.8 of the text contains a complete reference for the classes in the graphics library):
class GraphWin
--------------

        GraphWin(title, width, height)

        close()
        flush()  # update drawing to graphics window

        getHeight()
        getWidth()

        getMouse() # wait for mouse click and return Point obj representing click location

        setBackground(color)

        setMouseHandler(func)  # func will be executed on mouse click

class Point
------------

     Point(x, y)

     clone()    # create a new Point object that is an exact copy of this one
     getX()
     getY()

     ----------------------- Methods commone to all Graphics Object classes:

     draw(graphwin):    # Draw the object in graphwin, which should be a 
                        # GraphWin object.  A GraphicsObject may only be drawn 
                        # into one window. 
     move(dx, dy):      # move object dx units in x and dy units in y direction
     setFill(color):    # Set interior color to color
     setOutline(color): # Set outline color to color
     setWidth(width):   # Set line weight to width
     undraw():          # Undraw the object (i.e. hide it). 


class Line
----------

     Line(p1, p2)

     clone()
     setArrow(option)   
     getCenter()
     getP1()
     getP2()

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)

class Rectangle
---------------

     Rectangle( p1, p2)  # p1 and p2 are points for upper left lower rt

     clone()
     getCenter()
     getP1()
     getP2()

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)
     undraw()


class Circle
----------
		 Circle(p1, radius)       # p1 is the center of the circle

     clone()
     getCenter()
     getRadius()
     getP1()		# returns a clone of the corresponding corner of the
     getP2()	  # circle's bounding box (opposite corners of bounding square)

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)
     undraw()


class Oval
----------
     Oval(p1, p2)       # p1 and p2 are opposite corners of bounding rectangle 

     clone()
     getCenter()
     getP1()
     getP2()

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)

class Polygon
-------------

     Polygon()
        # ex. triangle: Polygon ([Point(10,20), Point(30,40), Point(10,60)])

     getPoints()  # return a list of Points in the polygon
     clone()

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)
     undraw()


class Text
----------
     Text(p, text)  # p is center point and text is string
    
     clone()
     getText()
     setText(text)
     setTextColor(color)
     setFace(family)     # set font face, ex. "arial" "courier"
     setSize(size)       # set font size (5-36 are legal)    
     setStyle(style)     # set font style  ex.  "bold" "italic"

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)
     undraw()


class Entry: GUI object into which user can type text
------------

     Entry(pt, width)     # pt is anchor Point (center)

     getAnchor()          # returns the center Point
     getText()            # returns the current text
     setText(string)      # sets the text to string
     setSize(point)       # sets the found size (5-36 are legal)
     setStyle(style)      # sets the font style
     setTextColor(color)  # sets the text color

     draw(graphwin)
     move(dx, dy)
     setFill(color)
     setOutline(color)
     setWidth(width)
     undraw()