Provides classes representing the Atlantis canvas and the windows displayed within it.
The ACanvas is a JFrame containing a JlayeredPane of AWindows. Windows are placed into the JLayeredPane depending on the current layout. The canvas class contains a HashTable of all possible windows and a HashTable of all available layouts. Windows needed by the current layout are added to the JLayeredPane according to the size and the order defined by the layout. An AWindow is a JPanel into which the Atlantis graphics are drawn. Each window has an associated projection and also an interaction manager. The interaction manager is a mouse listener which deals with all mouse events on the window. The window manages the drawing of the Atlantis picture and deals with the linear transformations from user to display co-ordinates. Non-linear transformations are dealt with by the projection. ALayout defines the size and position (in the 3x3 grid layout scheme of the layered pane) of each window, and also describes combinations of these windows called pages. pages is an array of characters where each character represents a window.