CSE 557 Computer Graphics Grail

Winter Quarter 2007


This page describes the purpose of each of the classes in the Impressionist project. It should give you a good idea of the purpose of each of the classes and give you some insight into where to add things when extending the skeleton code.


ImpressionistUI--This is where the user interface for the Impressionist project is defined.   Add new widgets to your UI here.

ImpressionistDoc--This basically maintains the bitmap for answering the color query from the brush.  It also acts as the bridge between the brushes and the UI (including views).

ImpBrush--This is a base class for each of the paint brushes. It defines the functionality that the brushes should have. Your new brushes should inherit from this class.  The color that your brush paints with is also set here.

PaintView--This maintains the paint view of the input images and handles events related to the paint view.  Add new events and changes to the painted image here.

OriginalView--This maintains the original view of the input images.  Add changes to the original image here.

PointBrush--This is the implementation of Point Brush.  It is a kind of ImpBrush. All your brush implementations will look like this with different GL primitive calls.