The program steps through drawing frames from 0 to 20, based on user input. Each frame is displayed on the main screen and in zoomed view port in the upper left portion of the screen. A black rectangle graphically shows the current zoom ortho world coordinates. These are scalled into the zoom window view port. The user specifies this black rectangle (see controls). Note: everything resize is handled well :-) ---------------------------------------------------------------------------- There are 2 code files: -lab2Draw.c contains the code for drawing of: -Frames 0 to 20 and drawClick -helper functions drawDude, drawDudeCape, drawDudeMouth, drawHammer, drawCircle -lab2.c includes the code and initializations and call-back functions for the window, mouse, keyboard, resize, and display. Thus it handles input and the calling of the draw frame functions. ---------------------------------------------------------------------------- Controls: Keyboard: , b B p P 4(numpad left) => back/previous one frame . n N f F 6(numpad right) => next/forward one frame q escape => quit + => double zoom width/height (zoom out) - => halve zoom width/height (zoom in) ] 2(numpad down) => shrink mouse trailer [ 8(numpad up) => enlarge mouse trailer Mouse: left click => for frames 0 to 20, next frame => for the final frame, set translation (I did a manual translation) of the dude and his cape/hammer/mouth. non-left click (middle or right click) => set center of world zoom area ---------------------------------------------------------------------------- Interesting Notes on line widths and stipple patterns: Line width and stipple patterns are not scaled based on the zoom amount. Thus if you zoom-in on the arms/legs cape of the "d00d", the rest of his/her body will get bigger, but not his/her arms/legs. Also, if you zoom-in on the d00d's magical flying fly cape, you will see more of the cape's fly pattern than when zoomed out. Both of these effects also exist in the case of window resizing. ----------------------------------------------------------------------------