CSC 318 -- Drawing Project

Goal:   Create a drawing package which can draw these shapes: points, lines, rectangles, and circles.

To Submit:   Submit in a zip file of your project AFTER DELETING THE DEBUG DIRECTORY.

The CShape Class

Each shape is a member of the CShape class that you create with these members:

class CShape
{
public:

};

You must include the precompiled header file Stdafx.h at the top of the Shape.cpp file to use the CDC class as a parameter type for the Display method.

Color constants

const int BLACK = 1;
const int RED = 2;
const int GREEN = 3;
const int BLUE = 4;
const int WHITE = 5;

Shape Constants

const int PNT = 1;
const int LINE = 2;
const int RECT = 3;
const int ELLPS = 4;

Use menus to select the shape, pen color, pen width, and brush color.

Position the vertices by using the mouse. For shapes that require two points for their definiton, position the first point with the button down event and the second with the button up event.

Include menu entries for saving and opening a file.

If you have time, add editing capabilities like insert, delete, and move vertex. You can also store polylines. For polylines, you may want to store a pointer to a CPoint array in the object. You can also try defining a class hierarchy with base class CShape. The derived classes would be CPnt, CRct, CEllps, CPlyLn.

You can also use a COLORREF structure to hold color information with values set from a color dialog.

Let me know with a Readme.txt file of any notable enhancements that you put in your project.