This object can let the user draw on a canvas different shapes.
It can listen to events of the user using the mouse to draw several types of shapes on a given canvas object.
The objects adds buttons to the page so the user can pick different drawing tools like a color palette, brush sizes, drawing shapes for lines, circles, rectangles, etc..
A clear and a save button can also be added to the page. Clicks on the save button may invoke a given callback function to implement a procedure to save the drawing.