A. Yes. It is located in: /usr/class/cs248/assignments/assignment1/demo
This should help answer most questions about the look and feel about the basic assignment.
A. One possibility is to let the user decrease the brush size through the "1" key and increase brush size through the "0" key. Alternatively you can use a GLUT pop up menu. It's not necessary to do anything more fancy than this. Another option is to let the user type in floating point values at a prompt (in the xterm window, not in the painting window) to control the opacity of the strokes. You may have a fixed number of sizes for the brushes. (Five is a good number). Also, the brush size control does not have to influence the orientation of the strokes.
A. First, note that circles do not have to be oriented. As for rectangles, the assignment requires three ways to orient them:
A. You aren't required to handle this case in your program, though if you do, you can get a little extra credit. To handle this, you should periodically save the pixels of the image (you may assume that when you are saving the image its window will not be obscured by other windows.) You don't have to save the strokes of the session. Note that any solution to this problem shouldn't slow down the rest of your system; if your system is sluggish as a result, you'll probably lose more points than you'll get for handling this.