Extend the given drawing program (the version that allows undo and redo) as follows:
a) Allow the user to select font and font size; user should also be able to boldface, underline, and italicize future labels. Once the options are chosen, they would apply to all succeeding labels until the user changes the options again.
b) Implement the ability to draw polygons.
c) Implement the ability to create rectangles and load images into them.
All of the commands should support undo and redo.
Comment out any package declarations in source files.
Document your requirements and design using the following:
1. Use cases diagrams and process(table) for the functionality
2. Sequence diagrams
3. Class diagrams
Give brief explanations relating the above components.
I don't want to just look at a bunch of pictures. You must explain things.