In this homework assignment, we want you to gain experience implementing custom input and output for an interface component.
InkOverlay handles both capturing and displaying ink strokes on your behalf. For this homework, however, you'll implement your own versions of that functionality. You'll need to write code to capture input stroke points as they occur and to display them to users (including repainting them when the window is moved or damaged).
You'll also need to modify your ink input area to provide different backgrounds. Your "canvas" should support displaying wide-ruled lines, college-ruled lines, or a grid. You modify the user interface of your application to allow users to choose which background to display.
Finally, you'll need to extend your application to support more than a single "page" of notes. Add support for multiple topics and for multiple pages per topic (users should be able to specify themselves what the topic of a group of notes is). The mechanism by which users access a particular topic and page within a topic are up to you; you might find looking at future assignments helpful, or you could examine existing approaches (e.g. GoBinder, EverNote). Your interface should also allow users to add and remove both whole topics and individual pages.
This is a GROUP assignment. You may ask members of other groups for help on C# or .NET details, but please build your application on your own.
Please zip up your Visual Studio project, an executable, and instructions on how to run your program and how to use it, and mail the zip file to the professor when you have completed the assignment (and remember to CC yourself on the email).
The due date for this assignment is: February 21, 2006, 11:59 PM EST.