Description
Description
Develop a drawing application that provides the following functionality:
1. It lets users create drawings using a combination of straight lines, triangles and
squares. For example, to draw a new straight line a user selects this shape type from
some menu or toolbar, and clicks on the desired starting position on the canvas. The
user then drags the mouse to the desired end position.
2. Lets users set the following graphic properties to be used for drawing new shapes:
outline color, fill color, outline width.
3. Lets users select a previously drawn shape and perform an actions on it. For
simplicity, when a shape is selected and actioned-upon, it becomes the top-most
shape (i.e., it will have the highest z-index). Your application should support the
following actions:
* Erase the shape.
* Move the shape to a new position on the canvas.
* Resize the shape.
* Change the shape’s color, fill, and outline width.
* Copy and paste.
4. Clear the canvas.
Requirements
This assignment evaluates the use of client-side Web technologies including HTML5,
CSS3, JavaScript, JQuery, DOM, and Canvas. You will use these technologies to
provide a pleasant experience for your Web site. Refrain from using server-side
programming for this assignment; everything must happen on the client-side. Make
sure to use CSS style sheets in favor of deprecated HTML tags and attributes.
Your application should be easy to use.
The main entry page for your site should be called index.html.
Make sure your site functions correctly in the CDF environment, specifically under
Firefox version 21.0. TAs will not debug so test to ensure it works the first time!
Assume a fixed browser window size of 1024×768
Deliverables
Put all necessary files in one directory, and archive the directory into a single file
using tar or a similar utility. Finally, submit your assignment using the BlackBoard
system.
You electronic submission should include the following items:
Documentation for your Web site. Include a brief explanations of how it all works,
e.g., list of main user-defined objects, and datastructures.
CSS file(s).
HTML file(s).
JavaScript file(s).
Finally, all deliverables should be neatly formatted, readable,and be properly
documented . Good luck!