In this homework assignment, we want you to gain experience implementing a simple gesture recognizer.
For this homework you're going to allow users to tag groups of notes with additional metadata. To do that, you're going to need to divide your note-taking canvas into three regions: one for taking notes, one for specifying the extent of a group of notes, and one for assigning the actual tags.
In the tagging region, you must implement a simple recognizer to recognize three possible gestures: a 5 pointed star, a "T", and an "M" (indicating important data, a todo item, and a meeting respectively). Upon recognizing a gesture, your application should replace the gesture ink with an icon indicating the recognized tag.
In the group extent region, your application should allow users to draw vertical strokes to specify what notes belong to a particular group. Your application can assume that each stroke specifies a single group, with the highest point indicating the top of the region and the lowest point the bottom. Your application should use those bounds to figure out which strokes belong to that group, and then divide the strokes on the page into new groups where (at least one) group lies above the specified region, one lies below it, and one is that region. A page may contain multiple groups, but groups may not overlap.
Finally, you should modify your storage mechanism to support the new tags (where a tag belongs to the group whose region encompasses it) and to reflect the existence of multiple groups on a page.
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: March 16, 2006, 11:59 PM EST.