cs1graphics

Library for drawing and manipulating basic shapes.

 
Classes
       
Canvas
Color
Drawable
Image
Layer
Shape
FillableShape
Circle
Polygon
Rectangle
Square
Path
Segment
Text
Point

 
class Canvas
    Represents a window which can be drawn upon.
 
  Methods defined here:
Canvas(w=200, h=200, background=None, title='Graphics canvas', autoRefresh=True)
Create a new drawing canvas.
 
A new canvas will be created.
    w               width of drawing area (defaults to 200)
    h               height of drawing area (defaults to 200)
    background      color of the background (defaults to White)
    title           window title (defaults to "Graphics Canvas")
    autoRefresh     whether auto-refresh mode is used (default to True)
add(drawable)
Add the drawable object to the canvas.
clear()
Removes all objects from the canvas.
close()
Close the canvas window (if not already closed).
getBackgroundColor()
Returns the background color as an instance of Color.
getHeight()
Get the height of the canvas.
getTitle()
Get the title of the window.
getWidth()
Get the width of the canvas.
open()
Opens a graphic window (if not already open).
refresh()
Forces all internal changes to be rendered to the screen.
 
This method is only necessary when the auto-refresh property
of the canvas has previously been turned off.
remove(drawable)
Removes the drawable object from the canvas.
saveToFile(filename)
Saves a picture of the current canvas to a file.
setAutoRefresh(autoRefresh=True)
Change the auto-refresh mode to either True or False.
 
When True (the default), every change to the canvas or to an
   object drawn upon the canvas will be immediately rendered to
   the screen.
 
When False, all changes are recorded internally, yet not shown
on the screen until the next subsequent call to the refresh()
method of this canvas.  This allows multiple changes to be
buffered and rendered all at once.
setBackgroundColor(backgroundColor)
Set the background color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setHeight(h)
Resets the canvas height to h.
setTitle(title)
Set the title for the canvas window.
setWidth(w)
Resets the canvas width to w.

 
class Circle(FillableShape)
    A circle that can be drawn to a canvas.
 
  Methods defined here:
Circle(radius=10, center=None)
Construct a new instance of Circle.
 
radius  the circle's radius.  (Defaults to 10)
center  a Point representing the placement of the circle's center
        (Defaults to Point(0,0) )
 
The reference point for a circle is originally its center.
getRadius()
Returns the radius of the circle.
setRadius(radius)
Set the radius of the circle to radius.

Methods inherited from FillableShape:
getFillColor()
Return the color of the shape's interior.
setFillColor(color)
Set the interior color of the shape to the color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Color()
    Represents a color.
 
Color can be specified by name or RGB value, and can be made transparent.
 
  Methods defined here:
Color(colorChoice=None)
Create a new instance of Color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
 
It defaults to 'White'
__repr__()
Returns the name of the color, if named.  Otherwise returns the (r,g,b) value.
getColorName()
Returns the name of the color.
 
If the color was set by RGB value, it returns 'Custom'.
getColorValue()
Returns a tuple of the (red, green, blue) color components.
isTransparent()
Returns a boolean variable indicating if the current color is transparent.
 
A return value of True indicates the color is not visibile.
setColorName(colorName)
Set the color to colorName.
 
colorName   a string representing a valid name
 
It colorName is 'Transparent' the resulting color will not
show up on a canvas.
setColorValue(rgbTuple)
Sets the color to the given tuple of (red, green, blue) values.

 
class Drawable()
    An object that can be drawn to a graphics canvas.
 
  Methods defined here:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class FillableShape(Shape)
    A shape that can be filled in.
 
  Methods defined here:
getFillColor()
Return the color of the shape's interior.
setFillColor(color)
Set the interior color of the shape to the color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Image(Drawable)
     Methods defined here:
Image(filename)
rotate(angle)
Not yet implemented.
scale(factor)
Not yet implemented.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Layer(Drawable)
    Stores a group of shapes that act as one drawable object.
 
Objects are placed onto the layer relative to the coordinate
system of the layer itself.  The layer can then be placed onto a
canvas (or even onto another layer).
 
  Methods defined here:
Layer()
Construct a new instance of Layer.
 
The layer is initially empty.
 
The reference point of that layer is initially the origin in
its own coordinate system, (0,0).
add(drawable)
Add the drawable object to the layer.
clear()
Removes all objects from the layer.
remove(drawable)
Removes the drawable object from the layer.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Path(Shape)
    A path that can be drawn to a canvas.
 
  Methods defined here:
Path(*points)
Construct a new instance of a Path.
 
The path is described as a series of points which are connected in order.
 
These points can be initialized either be sending a single
tuple of Point instances, or by sending each individual Point
as a separate parameter.  (by default, path will have zero
points)
 
By default, the reference point for a path is aligned with the
first point of the path.
addPoint(point)
Add a new point to the end of a Path.
clearPoints()
Remove all points, setting this back to an empty Path.
deletePoint(index)
Remove the Point at the given index.
getNumberOfPoints()
Return the current number of points.
getPoint(index)
Return a copy of the Point at the given index.
 
Subsequently mutating that copy has no effect on path.
setPoint(index, point)
Change the Point at the given index to a new value.

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Point()
    Stores a two-dimensional point using cartesian coordinates.
 
  Methods defined here:
Point(x=0, y=0)
Create a new point instance.
 
x   x-coordinate of the point (defaults to 0)
y   y-coordinate of the point (defaults to 0)
__repr__()
Returns a representation of the point as a string of form '(x,y)'.
get()
getX()
Returns the x-coordinate.
getY()
Returns the y-coordinate.
setX(x)
Set the x-coordinate to x.
setY(y)
Set the y-coordinate to y.

 
class Polygon(Path, FillableShape)
    A polygon that can be drawn to a canvas.
 
  Methods defined here:
Polygon(*points)
Construct a new instance of a Polygon.
 
The polygon is described as a series of points which are connected in order.
The last point is automatically connected back to the first to close the polygon.
 
These points can be initialized either be sending a single
tuple of Point instances, or by sending each individual Point
as a separate parameter.  (by default, polygon will have zero
points)
 
By default, the reference point for a polygon is aligned with
the first point of the polygon.

Methods inherited from Path:
addPoint(point)
Add a new point to the end of a Path.
clearPoints()
Remove all points, setting this back to an empty Path.
deletePoint(index)
Remove the Point at the given index.
getNumberOfPoints()
Return the current number of points.
getPoint(index)
Return a copy of the Point at the given index.
 
Subsequently mutating that copy has no effect on path.
setPoint(index, point)
Change the Point at the given index to a new value.

Methods inherited from FillableShape:
getFillColor()
Return the color of the shape's interior.
setFillColor(color)
Set the interior color of the shape to the color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Rectangle(FillableShape)
    A rectangle that can be drawn to the canvas.
 
  Methods defined here:
Rectangle(width=20, height=10, center=None)
Construct a new instance of a Rectangle.
 
The reference point for a rectangle is its center.
 
width       the width of the rectangle.  (Defaults to 20)
height      the height of the rectangle.  (Defaults to 10)
center      a Point representing the placement of the rectangle's center
            (Defaults to Point(0,0) )
getHeight()
Returns the height of the rectangle.
getWidth()
Returns the width of the rectangle.
setHeight(h)
Sets the height of the rectangle to h.
setWidth(w)
Sets the width of the rectangle to w.

Methods inherited from FillableShape:
getFillColor()
Return the color of the shape's interior.
setFillColor(color)
Set the interior color of the shape to the color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Segment(Shape)
    A line segment that can be drawn to a canvas.
 
  Methods defined here:
Segment(start=None, end=None)
Construct a new instance of a Segment.
 
The two endpoints are specified as parameters.
 
start  the first endpoint (by default, set to Point(10,0) )
end    the second endpoint (by default, set to Point(0,0) )
 
The reference point for a segment is originally its start point.
getEnd()
Return a copy of the segment's ending point.
 
Subsequently mutating that copy has no effect on segment.
getStart()
Return a copy of the segment's starting point.
 
Subsequently mutating that copy has no effect on segment.
setPoints(startPoint, endPoint)
Set the two endpoints of the segment.
 
startPoint    a Point instance
endPoint      a Point instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Shape(Drawable)
    Represents objects that are drawable and have a border.
 
  Methods defined here:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Square(Rectangle)
    A square that can be drawn to the canvas.
 
  Methods defined here:
Square(size=10, center=None)
Construct a new instance of a Square.
 
The reference point for a square is its center.
 
size        the dimension of the square.  (Defaults to 10)
center      a Point representing the placement of the rectangle's center
            (Defaults to (0,0) )
getSize()
Returns the length of a side of the square.
setHeight(height)
Sets the width and height of the square to given height.
setSize(size)
Set the length and width of the square to size.
setWidth(width)
Sets the width and height of the square to given width.

Methods inherited from Rectangle:
getHeight()
Returns the height of the rectangle.
getWidth()
Returns the width of the rectangle.

Methods inherited from FillableShape:
getFillColor()
Return the color of the shape's interior.
setFillColor(color)
Set the interior color of the shape to the color.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance

Methods inherited from Shape:
getBorderColor()
Return the color of the object's border.
getBorderWidth()
Returns the width of the border.
setBorderColor(borderColor)
Set the border color to a copy of borderColor.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setBorderWidth(borderWidth)
Set the width of the border to borderWidth.

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
rotate(angle)
Rotates the object around its current reference point.
 
angle    number of degrees of rotation (clockwise)
scale(factor)
Scales the object relative to its current reference point.
 
factor    scale is multiplied by this number (must be positive)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.

 
class Text(Drawable)
    A piece of text that can be drawn to a canvas.
 
  Methods defined here:
Text(message='', size=12)
Construct a new Text instance.
 
message   a string which is to be displayed (empty string by default)
size      the font size (12 by default)
 
The text color is black, though this can be changed by setColor.
The reference point for text is the upper-left hand corner of the text.
getColor()
Returns the current font color.
getSize()
Returns the current font size.
getText()
Returns the current string.
rotate(angle)
Not yet implemented.
scale(factor)
Not yet implemented.
setColor(color)
Set the color of the font.
 
The parameter can be either:
   - a string with the name of the color
   - an (r,g,b) tuple
   - an existing Color instance
setSize(fontsize)
Set the font size.
setText(message)
Set the string to be displayed.
 
message  a string

Methods inherited from Drawable:
adjustReference(dx, dy)
Move the local reference point relative to its current position.
 
Note that the object is not moved at all.
clone()
Return an exact duplicate of the drawable object.
getDepth()
Returns the depth of the object.
getReferencePoint()
Return a copy of the current reference point placement.
 
Note that mutating that copy has no effect on the drawable object.
move(dx, dy)
Move the object dx units to the right and dy units down.
 
Negative values move the object left or up.
moveTo(x, y)
Move the object to align its reference point with (x,y)
setDepth(depth)
Sets the depth of the object.
 
Objects with a higher depth will be rendered behind those with lower depths.