A java class which extends Canvas or Component to allow drawing of shapes (lines, rectangles, ovals, etc..). Moving shapes with the mouse.
IMPORTANT: A DETAILED DESCRIPTION IS ATTACHED BELOW.
## Deliverables
The detailed project description is attached in a separate file.
* * *This broadcast message was sent to all bidders on Saturday Sep 18, 2010 2:58:59 AM:
Diear bidders - your questions regarding the "resize behaviour" of the canvas require that I give an example and clarify some more. Please read below. When the canvas is resized (setting new Width and Height), as explained in the paper (Chapter Resizing) the respective X and Y aspect ratioes change because the original width/height (stored at construction time) remain unchaged and all the shapes' coordinates are recalculated at drawing time according to the new aspect ratio at drawing time. Please note "At Time of Painting". These recalculated coordinates are not kept. Each object maintains its original coordinates (As if AspectRatio = 1.00). In other words - the shapes are resized according to the new size. So are the widhts of lines and sizes of fonts. For the latest we only use XAspectRatio. Example: if we have a cnavas originally 1024x768 and we shrink it to its half size (512x384) the shapes on the canvas will appear twice smaller because XAspectRatio = 512/1024 = 0.5, as well as YAspectRatio = 384/768 = 0.5 The lines will respectively be thinner and the size of the font will be half of its original size. There will be no shapes that fall outside of the canvas. Consider this as Scaling the canvas. Respectively if we enlarge the canvas - the shapes will be "bigger" because the X and Y aspect ratio will be > 1. Finally plesease note that the canvas may have different X / Y aspect ratio - i.e. resizin only in width or only in height. IN the above example: if we resize the canvas (which originally was 1024/768) down to a new size which is 512x768 - i.e. keeping the same height but decreasing the width. Then we'll have XAspectR = 0.5 and YAspectR = 1.00. All the shapes will be the same height (because their Y coordinates will not change ), The widths however will be half of their original size because the X coordinates will be reduced to their halfves. So as a result the shapes will appear "thinner" than before.