@DATABASE "Intuition.guide"

@REMARK "$VER: Intuition.guide 1.8 (24-Sep-2001) by James T. Steichen

@REMARK Written by Jim Steichen, Copyright (c) 1998-2001.

@WIDTH 75
@WORDWRAP

@NODE main  "Intuition-related Classes for AmigaTalk© 1998-2001:"

   Described herein are the classes & their methods for manipulating 
   Amiga-Intuition objects with AmigaTalk.

   The class hierarchy is:
   
     @{" Glyph "       LINK "GlyphClass"} (parent class is Object)   
       @{" Screen    " LINK "ScreenClass"}
       @{" Window    " LINK "WindowClass"}
       @{" Menu      " LINK "MenuClass"}
       @{" Gadget    " LINK "GadgetClass"}
       @{" Color     " LINK "ColorMapClass"}
       @{" Requester " LINK "RequesterClass"}
@REM       @{" Alert     " LINK "AlertClass"}
       @{" Border    " LINK "BorderClass"}
       @{" BitMap    " LINK "BitMapClass"}
       @{" Painter   " LINK "PainterClass"}
       @{" Image     " LINK "ImageClass"}
       @{" AreaPaint " LINK "AreaPaintClass"}
       @{" IStruct   " LINK "IStructClass"}
       @{" Animation " LINK "AnimClass"}
       @{" IFF       " LINK "IFFClass"}

       @{" Font  " LINK "FontClass"}
       @{" IText " LINK "ITextClass"}
       @{" Icon  " LINK "IconClass"} - New for V1.8+
@ENDNODE   

@NODE GlyphClass "Glyph Class:"

   Class @{B}Glyph@{UB} is an abstract class that serves as a parent class for
   all Intuition-related classes.  The methods it defines are mostly
   identical to those methods found in @{B}Object@{UB}:

   @{FG SHINE}
   =  aGlyph
   == aGlyph @{FG TEXT}
     Return true if aGlyph is the same object as the receiver, else false.

   @{FG SHINE}
   ~= aGlyph
   ~~ aGlyph @{FG TEXT}
     Return true if aGlyph is @{B}not@{UB} the same object as the receiver,
     else false.

   @{FG SHINE}
   asString @{FG TEXT}
     Return a @{B}String@{UB} representing the receiver.

   @{FG SHINE}
   asSymbol @{FG TEXT}
     Return a @{B}Symbol@{UB} representing the receiver.

   @{FG SHINE} 
   class @{FG TEXT}
     Return an object representing the class of the receiver.     

   @{FG SHINE}
   copy @{FG TEXT}
     Perform a @{I}shallowCopy@{UI} of the receiver.

   @{FG SHINE}
   deepCopy   @{FG TEXT}
     Perform a complete copy of the receiver.

   @{FG SHINE}
   do: aBlock   @{FG TEXT}
     Perform @{U}aBlock@{UU} on each element of the receiver collection.

   @{FG SHINE}
   error: aString   @{FG TEXT}
     Display aString as an error message, then return @{I}nil@{UI}.

   @{FG SHINE}
   first   @{FG TEXT}
     Return the first item in sequence, which is by default the receiver.

   @{FG SHINE}
   isKindOf: aClass   @{FG TEXT}
     Return true if class of the receiver is the same as the argument
     aClass.

   @{FG SHINE}
   isMemberOf: aClass   @{FG TEXT}
     Return true if receiver is an instance of the argument class.

   @{FG SHINE}
   isNil   @{FG TEXT}
     Test whether the receiver is @{I}nil@{UI}.

   @{FG SHINE}
   next   @{FG TEXT}
     Return the next item in sequence, which is @{I}nil@{UI} by default.

   @{FG SHINE}
   notNil   @{FG TEXT}
     Test if receiver is @{B}not@{UB} object @{I}nil@{UI}.

   @{FG SHINE}
   print   @{FG TEXT}
     Print the receiver class name as a@{B} String@{UB}.

   @{FG SHINE}
   printString   @{FG TEXT}
     Return the receiver class @{I}asString@{UI}.

   @{FG SHINE}
   respondsTo: message   @{FG TEXT}
     Return true if receiver will respond to the indicated message.

   @{FG SHINE}
   shallowCopy   @{FG TEXT}
     Return the receiver.

   @{FG SHINE}
   addressOf   @{FG TEXT}
     Return an @{B}Integer@{UB} that represents the memory address of the receiver.
     In class @{B}Glyph@{UB}, this method simply returns an error message.

   @{FG SHINE}
   glyphType   @{FG TEXT}
     Return the receiver class @{I}asString@{UI}.  In class @{B}Glyph@{UB}, this
     method simply returns an error message.

   @{FG SHINE}
   isDisplayed   @{FG TEXT}
     Return true if the object is being displayed, else return false.
     For class @{B}Glyph@{UB}, this method simply returns as error message.
   
@ENDNODE

@NODE ScreenClass "Screen Class:"

   Class @{B}Screen@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga screens.
   The Methods are:

   @{FG SHINE}
   new: newScreenModeID @{FG TEXT}
    
     Create a new Screen Object with the mode of @{B}newScreenModeID@{UB}.
     @{FG SHINE}NOTE:@{FG TEXT}  The order of methods for making a Screen is as follows:

            scr <- Screen new: 16r40D20001
            "Set any Screen parameters in here."
            scr open: 'TestScreen'
   @{FG SHINE}
   openScreen: screenMode title: screenTitle @{FG TEXT}
   
     Create a new Screen Object with the given screenMode & screenTitle &
     open it.
   @{FG SHINE}
   setScreenModeID: newScreenModeID @{FG TEXT}
             
     Set the Screen Object's ModeID to @{B}newScreenModeID@{UB}.
   @{FG SHINE}
   getScreenModeID @{FG TEXT}
   
     Return the current screenModeID.
   @{FG SHINE}
   open: screenTitle @{FG TEXT}

     Open a Screen Object with the previously set screenModeID.
   @{FG SHINE}
   close @{FG TEXT}

     Close the Screen Object.
   @{FG SHINE}
   pullScreenUp: numLines @{FG TEXT}

     Move a screen up by numLines (see intuition.library 
     function MoveScreen()).  numLines has to be <= 0.
   @{FG SHINE}
   pushScreenDown: numLines   @{FG TEXT}  

     Move a screen down by numLines (see intuition.library 
     function MoveScreen()).  numLines has to be >= 0.
   @{FG SHINE}
   redrawScreen @{FG TEXT}

     Re-draw the Screen Object (see intuition.library functions 
     MakeScreen() & RethinkDisplay()).
   @{FG SHINE}   
   reOpenScreen @{FG TEXT}
   
     Re-open the screen with any new parameters that were changed by the
     user, such as a new screenModeID, Depth, etc.
   @{FG SHINE}
   displayBeep @{FG TEXT}
     
     Call the intuition function @{B}DisplayBeep()@{UB} for the given screen.
   @{FG SHINE}
   screenToBack @{FG TEXT}

     Place the given screen behind all other open screens (see 
     intuition.library function @{B}ScreenToBack()@{UB}).
   @{FG SHINE}
   screenToFront @{FG TEXT}

     Place the given screen in front of all other open screens (see 
     intuition.library function @{B}ScreenToFront()@{UB}).
   @{FG SHINE}
   turnOffTitle @{FG TEXT}
      
     Blank out the screenTitle (see intuition.library function
     @{B}ShowTitle()@{UB}).
   @{FG SHINE}
   showTitle @{FG TEXT}

     Enable the screenTitle display (see intuition.library function
     @{B}ShowTitle()@{UB}).
   @{FG SHINE}
   NOTE:  All of the set Parameter methods won't take effect until a 
          call to @{B}reOpenScreen@{UB} is given.

          In general, it's best to perform all of the set parameter 
          methods @{B}before@{UB} you open the screen, then a call to @{B}reOpenScreen@{UB}
          isn't necessary.
          
   setOrigin: aPoint @{FG TEXT}

     Set the starting point of the screen to the given point @{B}aPoint@{UB}.
   @{FG SHINE}
   setScreenSize: sizePoint @{FG TEXT}

     Set the width & height of the Screen to (sizePoint x) &
     (sizePoint y) respectively.
   @{FG SHINE}
   setScreenPens: pensPoint @{FG TEXT}

     Set the Foreground & Background pens to (pensPoint x) &
     (pensPoint y) respectively.
   @{FG SHINE}
   setTitle: newTitle @{FG TEXT}

     Change the title of the Screen to @{B}newTitle@{UB}.
   @{FG SHINE}
   setDepth: newDepth   @{FG TEXT}

     Change the number of bit-planes that the screen will use.  The 
     depth of a screen determines how many colors it has.
   @{FG SHINE}
   setFont: newFontName   @{FG TEXT}

     Change the @{" Font " LINK "FontClass"} used to render text in the screen.
   @{FG SHINE}
   setBitMap: newBitMap @{FG TEXT}

     Change the bitmap of the given screen.
   @{FG SHINE}
   getOrigin  @{FG TEXT}

     Return the current value of the @{B}LeftEdge & TopEdge@{UB} of the screen
     as a @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   getScreenPens @{FG TEXT}

     Return the current value of the foreground & background pens for the 
     screen as a @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   getFlags  @{FG TEXT}

     Return the current value of the @{B}Flags@{UB} for the screen.
   @{FG SHINE}
   getType @{FG TEXT}

     Return the current value of the @{B}Type@{UB} of the screen.
   @{FG SHINE}
   getViewMode @{FG TEXT}

     Return the current value of the @{B}ViewMode@{UB} of the screen.
   @{FG SHINE}
   getTitle @{FG TEXT}

     Return the current value of the @{B}Title@{UB} of the screen.
   @{FG SHINE}
   getDepth @{FG TEXT}

     Return the current value of the @{B}Depth@{UB} of the screen.
   @{FG SHINE}
   getFontName @{FG TEXT}

     Return the name of the current @{" Font " LINK "FontClass"} for the screen.
   @{FG SHINE}
   getBitMapName @{FG TEXT}

     Return the name of the current bitmap for the screen.

@ENDNODE

@NODE WindowClass "Window Class:"

   Class @{B}Window@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga windows.
   The Methods are:

   @{FG SHINE}
   new: newWindowTitle @{FG TEXT}

     Create a new Window Object & set the title to @{B}newWindowTitle@{UB}.
   @{FG SHINE}
   openOnScreen: screenObject @{FG TEXT}

     Open a new window on the given screen (screenObject is what you get
     from @{B}screenObject <- Screen new: 16r40D20001@{UB} for example).
   @{FG SHINE}
   close  @{FG TEXT}

     Close the given window.
   @{FG SHINE}
   setPointer: spriteObject size: sizePt offset: offPt @{FG TEXT}

     Change the mouse pointer to the given sprite @{B}spriteObject@{UB}.
     sizePt & offPt are @{" Points " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   addGadget: gadgetObject @{FG TEXT}

     Add a gadgetObject to the given window.
   @{FG SHINE}
   setFirstGadget: newGadget @{FG TEXT}

     Change the @{B}FirstGadget@{UB} to @{B}newGadget@{UB}.
@{B}
     NOTE:  Make sure that the newGadget is chained to all the other
            gadgets you want for the window (See @{B}setNextGadget method
            for @{" Gadget " LINK GadgetClass}).
@{UB}
   @{FG SHINE}
   refreshWindowFrame @{FG TEXT}

     Execute a call to @{B}RefreshWindowFrame()@{UB} (see intuition.library).
   @{FG SHINE}
   refreshGadgets @{FG TEXT}

     Execute a call to @{B}RefreshGadgets()@{UB} (see intuition.library).
   @{FG SHINE}
   removeGadget: gadgetObject @{FG TEXT}

     Delete a @{" Gadget " LINK "GadgetClass"} from the @{B}Window@{UB} Object.
   @{FG SHINE}
   reportMouse: boolvalue @{FG TEXT}

     Turn @{B}reportMouse@{UB} events on or off.

   @{FG SHINE}
   getMouseCoords @{FG TEXT}

     Return the current x & y-coordinates of the mouse position as a
     @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   printIText: iTextObject at: aPoint @{FG TEXT}

     Display the given @{" IText " LINK "ITextClass"} structure in the Window at the
     given @{" Point " LINK "GeneralClasses.guide/PointClass"}.
@REM   @{FG SHINE}
@REM   reOpenWindow @{FG TEXT}
@REM
@REM     Re-open a window so that any changed parameters will take effect.
   @{FG SHINE}
   handleIntuition @{FG TEXT}

     Wait for the user to select a Gadget or MenuItem from the window.
   @{FG SHINE}
     NOTE:  Only @{B}IDCMP_CLOSEWINDOW, IDCMP_GADGETUP & IDCMP_MENUPICK@{UB} events 
            are currently recognized.  This method will return the name of
            the first Gadget or MenuItem selected by the user.
   @{FG SHINE}
   windowToBack @{FG TEXT}

     Place the @{B}Window@{UB} behind all other windows.
   @{FG SHINE}
   windowToFront @{FG TEXT}

     Place the @{B}Window@{UB} in front of all other windows.
   @{FG SHINE}
   showRequester: requesterObject @{FG TEXT}

     Display the given Requester to the user.
   @{FG SHINE}
   addMenuStrip: menuObject @{FG TEXT}

     Display the given menu(s) in the @{B}Window@{UB}.
   @{FG SHINE}
   removeMenuStrip @{FG TEXT}

     Remove the current menu strip from the @{B}Window@{UB}.
   @{FG SHINE}
   moveWindow: deltaPoint   @{FG TEXT}

     Move the @{B}Window@{UB} to the new @{" Point " LINK "GeneralClasses.guide/PointClass"} of origin.
   @{FG SHINE}
   infoReq: msg title: t   @{FG TEXT}

     Display an information Requester to the user.
   @{FG SHINE}
   yesNoReq: msg title: t   @{FG TEXT}

     Obtain a @{B}yes@{UB} or @{B}no@{UB} response from the user.
   @{FG SHINE}
   getUserChoice: msg title: t choices: bstr   @{FG TEXT}

     Obtain a choice from the user from the given bstr (Button strings).
     Example:  'YES@{B}|@{UB}NO@{B}|@{UB}MAYBE'
   @{FG SHINE}
   setWindowSize: sizePoint @{FG TEXT}

     Change the size of the Window to the given values (sizePoint x) & 
     (sizePoint y).
   @{FG SHINE}
   getOrigin @{FG TEXT}

     Return the current @{B}LeftEdge & TopEdge@{UB} values for the @{B}Window@{UB}
     as a @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   getWindowSize @{FG TEXT}

     Return the current @{B}Width & Height@{UB} values for the @{B}Window@{UB}
     as a @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   getWindowPens @{FG TEXT}

     Return the current foreground & background pen values for the @{B}Window@{UB}
     as a @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   getFlags: windowTitle   @{FG TEXT}

     Return the current @{B}Flags@{UB} value for the given @{B}Window@{UB}.
   @{FG SHINE}
   getIDCMPFlags: windowTitle   @{FG TEXT}

     Return the current @{B}IDCMPFlags@{UB} value for the given @{B}Window@{UB}.
   @{FG SHINE}
   getTitle: windowTitle    @{FG TEXT}

     Return the current @{B}Title@{UB} value for the given @{B}Window@{UB}.
   @{FG SHINE}
   changeTitle: newTitle   @{FG TEXT}

     Change the title of the @{B}Window@{UB} to @{B}newTitle@{UB}.
   @{FG SHINE}
   getScreenTitle @{FG TEXT}

     Get the title of the @{" Screen " LINK "ScreenClass"} that the given @{B}Window@{UB} is attached to.
   @{FG SHINE}
   beginRefresh @{FG TEXT}

     Execute a call to @{B}BeginRefresh()@{UB} for the @{B}Window@{UB}.
     (see intuition.library)
   @{FG SHINE}
   endRefresh @{FG TEXT}

     Execute a call to @{B}EndRefresh()@{UB} for the @{B}Window@{UB}.
     (see intuition.library)
   @{FG SHINE}
   remakeDisplay @{FG TEXT}

     Execute a call to @{B}RemakeDisplay()@{UB} for the @{B}Window@{UB}.
     (see intuition.library)
   @{FG SHINE}
   rethinkDisplay @{FG TEXT}

     Execute a call to @{B}RethinkDisplay()@{UB} for the @{B}Window@{UB}.
     (see intuition.library)

   @{FG SHINE}
   NOTE:  All of the set Parameter methods won't take effect until a 
          call to @{B}openOnScreen:{UB} is given.

   setWindowOrigin: aPoint   @{FG TEXT}

     Change the @{B}LeftEdge & TopEdge@{UB} of the receiver to the new 
     values.
   @{FG SHINE}
   setWindowPens: pensPoint @{FG TEXT}

     Change the foreground & background pens of the receiver to the new 
     values (foreground <- pensPoint x) & (background <- pensPoint y).  
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Change the @{B}Flags@{UB} of the @{B}Window@{UB} to the new value.  
   @{FG SHINE}
   setIDCMPFlags: windowTitle to: newIDCMP   @{FG TEXT}

     Change the @{B}IDCMPFlags@{UB} of the @{B}Window@{UB} to the new value.  
   @{FG SHINE}
   setMinSize: newMinPoint @{FG TEXT}

     Change the @{B}MinWidth & MinHeight@{UB} of the @{B}Window@{UB} to the new 
     values.  
   @{FG SHINE}
   setMaxSize: newMaxPoint @{FG TEXT}

     Change the @{B}MaxWidth & MaxHeight@{UB} of the @{B}Window@{UB} to the new 
     values.  
   @{FG SHINE}
   getReqCount @{FG TEXT}

     Return a count of the @{" Requesters " LINK "RequesterClass"} (@{B}reqcount@{UB})for the @{B}Window@{UB}.
   @{FG SHINE}
   getPointerSize @{FG TEXT}

     Return the width & height of the mouse pointer for the @{B}Window@{UB} as a
     @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   setCheckMark: newCheckMark   @{FG TEXT}

     Change the @{B}CheckMark Image@{UB} of the Window to the 
     new value specified by '@{B}newCheckMark@{UB}', which is an @{" Image " LINK "ImageClass"}.
   @{FG SHINE}
   getWindowOffset @{FG TEXT}

     Return the current x & y-offset coordinates for the @{B}Window@{UB} as a
     @{" Point " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   setBitMap: newBitMap   @{FG TEXT}

     Change the @{" BitMap " LINK "BitMapClass"} of the @{B}Window@{UB} to the new value specified 
     by '@{I}newBitMap@{UI}'.
   @{FG SHINE}
   changeWindowSize: deltaPoint @{FG TEXT}
     Ask Intuition to size the @{B}Window@{UB} the specified amounts.
     @{FG SHINE}NOTE:@{FG TEXT}  This method is different from @{I}setWindowSize:@{UI}
            @{I}changeWindowSize:@{UI} operates on a @{B}Window@{UB} that's open.
@ENDNODE

@NODE MenuClass "Menu Class:" 

   Class @{B}Menu@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga menus.
   Actual display of any Menus are taken care of in the @{" Window Class " LINK "WindowClass"} by
   @{B}setMenuStrip & removeMenuStrip@{UB}.

   The Methods for the Menu Class are:

   @{FG SHINE}
   new: newMenuName @{FG TEXT}

     Add a menu to the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a Menu from the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Inform the @{B}AmigaTalk@{UB} internal system which window is the parent of
     the Menu.
   @{FG SHINE}
   getStartPoint @{FG TEXT}

     Return the @{B}LeftEdge & TopEdge@{UB} of the Menu.
   @{FG SHINE}
   getMenuSize @{FG TEXT}

     Return the @{B}Width & Height@{UB} of the Menu.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} of the Menu.
   @{FG SHINE}
   getNextMenu @{FG TEXT}

     Return the name of the @{B}NextMenu@{UB} for the Menu.
   @{FG SHINE}
   getFirstItem @{FG TEXT}

     Return the name of the @{B}FirstItem@{UB} for the Menu.
   @{FG SHINE}
   getMenuName @{FG TEXT}

     Return the name of the Menu.  This is a silly function, since
     you have to know the name of the menu to use it!
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}
    
     Set the @{B}LeftEdge & TopEdge@{UB} of the Menu to the given values.
   @{FG SHINE}
   setMenuSize: sizePoint @{FG TEXT}
    
     Set the @{B}Width & Height@{UB} of the Menu to the given values.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}
    
     Set the @{B}Flags@{UB} of the Menu to the given value.
   @{FG SHINE}
   setNextMenu: newNextMenu @{FG TEXT}
    
     Set the @{B}NextMenu@{UB} of the Menu to the given value.
   @{FG SHINE}
   setFirstItem: newFirstItem @{FG TEXT}
    
     Set the @{B}FirstItem@{UB} of the Menu to the given value.
   @{FG SHINE}
   setMenuName: newMenuName @{FG TEXT}

     Set the name of the Menu to the new name given.

   See Also @{" MenuItems " LINK "MenuItemClass"}, @{" SubItems " LINK "SubItemClass"}

@ENDNODE

@NODE MenuItemClass "MenuItem Class:" 

   Class @{B}MenuItem@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga 
   MenuItems.  Actual display of any Menus are taken care of in the 
   @{" Window Class " LINK "WindowClass"} by @{B}setMenuStrip & removeMenuStrip@{UB}.

   The Methods for the MenuItem Class are:

   @{FG SHINE}
   new: newMenuItemName @{FG TEXT}

     Add a MenuItem to the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a MenuItem from the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   getStartPoint @{FG TEXT}

     Return the @{B}LeftEdge & TopEdge@{UB} of the MenuItem.
   @{FG SHINE}
   getItemSize @{FG TEXT}

     Return the @{B}Width & Height@{UB} of the MenuItem.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}
    
     Set the @{B}LeftEdge & TopEdge@{UB} of the MenuItem to the given values.
   @{FG SHINE}
   setItemSize: sizePoint @{FG TEXT}
    
     Set the @{B}Width & Height@{UB} of the MenuItem to the given values.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} of the MenuItem.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}
    
     Set the @{B}Flags@{UB} of the MenuItem to the given value.
   @{FG SHINE}
   getMutualExclude @{FG TEXT}

     Return the @{B}MutualExclude@{UB} value of the MenuItem.
   @{FG SHINE}
   setMutualExclude: newMutualExclude @{FG TEXT}
    
     Set the @{B}MutualExclude@{UB} of the MenuItem to the given value.
   @{FG SHINE}
   getCommand @{FG TEXT}

     Return the @{B}Command@{UB} (menu key-equivalent) value of the 
     MenuItem.
   @{FG SHINE}
   setCommand: newCommand @{FG TEXT}
    
     Set the @{B}Command@{UB} (menu key-equivalent) of the MenuItem
     to the given value.
   @{FG SHINE}
   getNextItem @{FG TEXT}

     Return the name of the @{B}NextItem@{UB} from the MenuItem.
   @{FG SHINE}
   setNextItem: newNextItem @{FG TEXT}
    
     Set the @{B}NextItem@{UB} of the MenuItem to the given value.
   @{FG SHINE}
   setItemFill: newItemFill @{FG TEXT}
    
     Set the @{B}ItemFill@{UB} (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"} name) of the MenuItem.
   @{FG SHINE}
   setSelectFill: newSelectFill @{FG TEXT}

     Set the @{B}SelectFill@{UB} (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"} name) of the MenuItem.
   @{FG SHINE}
   setSubItem: newSubItem @{FG TEXT}

     Set the @{B}SubItem@{UB} of the MenuItem to the given value.
   @{FG SHINE}
   getSubItem @{FG TEXT}
    
     Return the name of the first @{B}SubItem@{UB} attached to the
     MenuItem.
   @{FG SHINE}
   getItemFill @{FG TEXT}

     Return the name of the @{B}ItemFill@{UB} (either @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) from 
     the MenuItem.
   @{FG SHINE}
   getSelectFill @{FG TEXT}

     Return the name of the @{B}SelectFill@{UB} (either @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) 
     from the MenuItem.

   See Also @{" Menus " LINK "MenuClass"}, @{" SubItems " LINK "SubItemClass"}
@ENDNODE

@NODE SubItemClass "SubItem Class:" 

   Class @{B}SubItem@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga 
   Menu SubItems.  Actual display of any Menus are taken care of in the 
   @{" Window Class " LINK "WindowClass"} by @{B}setMenuStrip & removeMenuStrip@{UB}.

   The Methods for the SubItem Class are:

   @{FG SHINE}
   new: newSubItemName @{FG TEXT}

     Add a SubItem to the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a SubItem from the @{B}AmigaTalk@{UB} internal system list.
   @{FG SHINE}
   getStartPoint @{FG TEXT}

     Return the @{B}LeftEdge & TopEdge@{UB} of the SubItem.
   @{FG SHINE}
   getSubSize @{FG TEXT}

     Return the @{B}Width & Height@{UB} of the SubItem.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}
    
     Set the @{B}LeftEdge & TopEdge@{UB} of the SubItem to the given values.
   @{FG SHINE}
   setSubSize: sizePoint @{FG TEXT}
    
     Set the @{B}Width & Height@{UB} of the SubItem to the given values.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} of the SubItem.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}
    
     Set the @{B}Flags@{UB} of the SubItem to the given value.
   @{FG SHINE}
   getMutualExclude @{FG TEXT}

     Return the @{B}MutualExclude@{UB} value of the SubItem.
   @{FG SHINE}
   setMutualExclude: newMutualExclude @{FG TEXT}
    
     Set the @{B}MutualExclude@{UB} of the SubItem to the given value.
   @{FG SHINE}
   getCommand @{FG TEXT}

     Return the @{B}Command@{UB} (menu key-equivalent) value of the 
     SubItem.
   @{FG SHINE}
   setCommand: newCommand @{FG TEXT}
    
     Set the @{B}Command@{UB} (menu key-equivalent) of the SubItem
     to the given value.
   @{FG SHINE}
   getNextItem @{FG TEXT}

     Return the name of the @{B}NextItem@{UB} from the SubItem.
   @{FG SHINE}
   setNextItem: newNextItem @{FG TEXT}
    
     Set the @{B}NextItem@{UB} of the SubItem to the given value.
   @{FG SHINE}
   setItemFill: newItemFill @{FG TEXT}
    
     Set the @{B}ItemFill@{UB} (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"} name) of the SubItem.
   @{FG SHINE}
   setSelectFill: newSelectFill @{FG TEXT}

     Set the @{B}SelectFill@{UB} (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"} name) of the SubItem.
   @{FG SHINE}
   getItemFill @{FG TEXT}

     Return the name of the @{B}ItemFill@{UB} (either @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) from 
     the SubItem.
   @{FG SHINE}
   getSelectFill @{FG TEXT}

     Return the name of the @{B}SelectFill@{UB} (either @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) 
     from the SubItem.

   See Also @{" Menus " LINK "MenuClass"}, @{" MenuItems " LINK "MenuItemClass"}
@ENDNODE

@NODE GadgetClass "Gadget Class:"

   Class @{B}Gadget@{UB} is an abstract class that serves as a parent class for
   all Gadget-related classes.  The methods it defines are only useful
   for system-wide purposes:
   
   @{FG SHINE}
   gadgetTypeIs: gadgetName @{FG TEXT}

     Return the type of the gadget given by gadgetName.  The return
     values are:
     
     BOOLEAN      = 1
     PORPORTIONAL = 3
     STRING       = 4

   @{FG SHINE}
   new: newGadgetName @{FG TEXT}

     Create a new Gadget to the @{B}newGadgetName@{UB} & the default
     type of BoolGadget.

   @{B}SubClasses:@{UB}  @{" BoolGadget " LINK BoolGadgetClass}
                @{" StrGadget  " LINK StrGadgetClass}  
                @{" PropGadget " LINK PropGadgetClass}
@ENDNODE

@NODE BoolGadgetClass "Boolean Gadget Class:"

   Class @{B}BoolGadget@{UB} allows the @{B}AmigaTalk@{UB} system to man-
   ipulate Amiga Boolean Gadgets.  The Methods are:
     
   @{FG SHINE}
   new: newGadgetName @{FG TEXT}

     Add a BoolGadget to the @{B}AmigaTalk@{UB} system.  This method allocates
     an internal memory structure to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a BoolGadget from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the name of the gadget's parent to the @{B}windowTitle@{UB}.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}

     Set the origin of the gadget to the given point value.
   @{FG SHINE}
   setGadgetSizeTo: sizePoint @{FG TEXT}

     Set the size of the gadget to the given width & height.
   @{FG SHINE}
   getLeftEdge @{FG TEXT}

     Return the @{B}LeftEdge@{UB} value of the BoolGadget. 
   @{FG SHINE}
   getTopEdge @{FG TEXT}

     Return the @{B}TopEdge@{UB} value of the BoolGadget.
   @{FG SHINE}
   getWidth @{FG TEXT}
 
     Return the @{B}Width@{UB} value of the BoolGadget.
   @{FG SHINE}
   getHeight @{FG TEXT}

     Return the @{B}Height@{UB} value of the BoolGadget.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} value of the BoolGadget.
   @{FG SHINE}
   getActivation @{FG TEXT}

     Return the @{B}Activation@{UB} value of the BoolGadget.
   @{FG SHINE}
   getGadgetType @{FG TEXT}

     Return the @{B}Type@{UB} of the BoolGadget.
     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   getGadgetID @{FG TEXT}

     Return the @{B}GadgetID@{UB} number for the BoolGadget.
   @{FG SHINE}
   getNextGadgetName @{FG TEXT}

     Return the name of the @{B}NextGadget@{UB} for the BoolGadget.
   @{FG SHINE}
   getITextName @{FG TEXT}

     Return the name of the @{" IText " LINK "ITextClass"} attached to the BoolGadget.
   @{FG SHINE}
   getRenderName @{FG TEXT}

     Return the name of the gadget rendering (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) for the
     BoolGadget.
   @{FG SHINE}
   getSelectName @{FG TEXT}

     Return the name of the gadget selection rendering (@{" IText " LINK "ITextClass"} or
     @{" Image " LINK "ImageClass"}) for the BoolGadget.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Set the gadget @{B}Flags@{UB} to the new value(s).
   @{FG SHINE}
   setActivation: newActivation @{FG TEXT}

     Set the gadget @{B}Activation@{UB} to the new value.
   @{FG SHINE}
   setGadgetType: newGadgetType @{FG TEXT}

     Set the gadget @{B}Type@{UB} to the new value.
     
     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   setGadgetID: newGadgetID @{FG TEXT}

     Set the @{B}GadgetID@{UB} to the new value.
   @{FG SHINE}
   setNextGadgetName: newNextGadgetName @{FG TEXT}

     Set the @{B}NextGadget@{UB} to the @{B}Gadget@{UB} attached to @{B}newNextGadgetName@{UB}.

   @{FG SHINE}
   setITextName: newITextName @{FG TEXT}

     Set the @{" IText " LINK "ItextClass"} to the new value.

   @{FG SHINE}
   setRenderName: newRenderName @{FG TEXT}

     Set the BoolGadget rendering to the name of the @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}
     supplied. 

   @{FG SHINE}
   setSelectName: newSelectName @{FG TEXT}

     Set the gadget selection rendering to the name of the @{" IText " LINK "ITextClass"} 
     or @{" Image " LINK "ImageClass"} supplied. 

@ENDNODE

@NODE StrGadgetClass "String Gadget Class:"

   Class @{B}StrGadget@{UB} allows the @{B}AmigaTalk@{UB} system to man-
   ipulate Amiga String Gadgets.  The Methods are:
     
   @{FG SHINE}
   new: newGadgetName @{FG TEXT}

     Add a StrGadget to the @{B}AmigaTalk@{UB} system.  This method allocates
     an internal memory structure to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a StrGadget from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the name of the StrGadget's parent to the @{B}windowTitle@{UB}.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}

     Set the origin of the StrGadget to the given point value.
   @{FG SHINE}
   setGadgetSize: sizePoint @{FG TEXT}

     Set the size of the StrGadget to the given point value.
   @{FG SHINE}
   changeBufferSize: newSize @{FG TEXT}

     Change the internal buffer size for the StrGadget.
   @{FG SHINE}
   getBufferSize @{FG TEXT}

     Return the size of the StrGadget buffer (in bytes).
   @{FG SHINE}
   getLeftEdge @{FG TEXT}

     Return the @{B}LeftEdge@{UB} value of the StrGadget.
   @{FG SHINE}
   getTopEdge @{FG TEXT}

     Return the @{B}TopEdge@{UB} value of the StrGadget.
   @{FG SHINE}
   getWidth @{FG TEXT}
 
     Return the @{B}Width@{UB} value of the StrGadget.
   @{FG SHINE}
   getHeight @{FG TEXT}

     Return the @{B}Height@{UB} value of the StrGadget.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} value of the StrGadget.
   @{FG SHINE}
   getActivation @{FG TEXT}

     Return the @{B}Activation@{UB} value of the StrGadget.
   @{FG SHINE}
   getGadgetType @{FG TEXT}

     Return the @{B}Type@{UB} of the StrGadget.

     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   getGadgetID @{FG TEXT}

     Return the @{B}GadgetID@{UB} number for the StrGadget.
   @{FG SHINE}
   getNextGadgetName @{FG TEXT}

     Return the name of the @{B}NextGadget@{UB} for the StrGadget.
   @{FG SHINE}
   getITextName @{FG TEXT}

     Return the name of the @{" IText " LINK "ITextClass"} attached to the StrGadget.
   @{FG SHINE}
   getRenderName @{FG TEXT}

     Return the name of the gadget rendering (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) for the
     StrGadget.
   @{FG SHINE}
   getSelectName @{FG TEXT}

     Return the name of the gadget selection rendering (@{" IText " LINK "ITextClass"} 
     or @{" Image " LINK "ImageClass"}) for the StrGadget.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Set the StrGadget @{B}Flags@{UB} to the new value(s).
   @{FG SHINE}
   setActivation: newActivation @{FG TEXT}

     Set the StrGadget @{B}Activation@{UB} to the new value.
   @{FG SHINE}
   setGadgetType: newGadgetType @{FG TEXT}

     Set the StrGadget @{B}Type@{UB} to the new value.
     
     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   setGadgetID: newGadgetID @{FG TEXT}

     Set the @{B}GadgetID@{UB} to the new value.
   @{FG SHINE}
   setNextGadgetName: newNextGadgetName @{FG TEXT}

     Set the @{B}NextGadget@{UB} to the @{B}Gadget@{UB} attached to @{B}newNextGadgetName@{UB}.
   @{FG SHINE}
   setITextName: newITextName @{FG TEXT}

     Set the @{ "IText " LINK "ITextClass"} to the new value.
   @{FG SHINE}
   setRenderName: newRenderName @{FG TEXT}

     Set the StrGadget rendering to the name of the @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}
     supplied. 
   @{FG SHINE}
   setSelectName: newSelectName @{FG TEXT}

     Set the StrGadget selection rendering to the name of the @{" IText " LINK "ITextClass"} 
     or @{" Image " LINK "ImageClass"} supplied. 
@ENDNODE

@NODE PropGadgetClass "Proportional Gadget Class:"

   Class @{B}PropGadget@{UB} allows the @{B}AmigaTalk@{UB} system to man-
   ipulate Amiga Proportional Gadgets.  The Methods are:
     
   @{FG SHINE}
   new: gadgetName @{FG TEXT}

     Add a PropGadget to the @{B}AmigaTalk@{UB} system.  This method allocates
     an internal memory structure to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a PropGadget from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the name of the PropGadget's parent to the @{B}windowTitle@{UB}.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}

     Set the origin of the PropGadget to the given point value.
   @{FG SHINE}
   setGadgetSize: sizePoint @{FG TEXT}

     Set the size of the PropGadget to the given width & height.
   @{FG SHINE}
   modifyProps: newFlags hPot: hp vPot: vp hBody: hb vBody: vb 
                windowName: windowTitle @{FG TEXT}

     Change the given porportional values for the PropGadget.
   @{FG SHINE}
   setProps: gadgetName flags: newFlags hPot: hp vPot: vp 
                        hBody: hb vBody: vb @{FG TEXT}

     Initialize the porportional gadget values.
   @{FG SHINE}
   getPropFlags @{FG TEXT}

     Return the @{B}PropFlags@{UB} value for the PropGadget.  
   @{FG SHINE}
   getHPot @{FG TEXT}

     Return the HPot value of the PropGadget.
   @{FG SHINE}
   getVPot @{FG TEXT}

     Return the VPot value of the PropGadget.
   @{FG SHINE}
   getHBody @{FG TEXT}

     Return the HBody value of the PropGadget.
   @{FG SHINE}
   getVBody @{FG TEXT}
 
     Return the VBody value of the PropGadget.
   @{FG SHINE}
   getLeftEdge @{FG TEXT}

     Return the @{B}LeftEdge@{UB} value of the PropGadget.
   @{FG SHINE}
   getTopEdge @{FG TEXT}

     Return the @{B}TopEdge@{UB} value of the PropGadget.
   @{FG SHINE}
   getWidth @{FG TEXT}
 
     Return the @{B}Width@{UB} value of the PropGadget.
   @{FG SHINE}
   getHeight @{FG TEXT}

     Return the @{B}Height@{UB} value of the PropGadget.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} value of the PropGadget.
   @{FG SHINE}
   getActivation @{FG TEXT}

     Return the @{B}Activation@{UB} value of the PropGadget.
   @{FG SHINE}
   getGadgetType @{FG TEXT}

     Return the @{B}Type@{UB} of the PropGadget.

     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   getGadgetID @{FG TEXT}

     Return the @{B}GadgetID@{UB} number for the PropGadget.
   @{FG SHINE}
   getNextGadgetName @{FG TEXT}

     Return the name of the @{B}NextGadget@{UB} for the PropGadget.
   @{FG SHINE}
   getITextName @{FG TEXT}

     Return the name of the @{ " IText " LINK "ITextClass"} attached to the PropGadget.
   @{FG SHINE}
   getRenderName @{FG TEXT}

     Return the name of the gadget rendering (@{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}) for the
     PropGadget.
   @{FG SHINE}
   getSelectName @{FG TEXT}

     Return the name of the gadget selection rendering (@{" IText " LINK "ITextClass"} 
     or @{" Image " LINK "ImageClass"}) for the PropGadget.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Set the gadget @{B}Flags@{UB} to the new value(s).
   @{FG SHINE}
   setActivation: newActivation @{FG TEXT}

     Set the PropGadget @{B}Activation@{UB} to the new value.
   @{FG SHINE}
   setGadgetType: newGadgetType @{FG TEXT}

     Set the PropGadget @{B}Type@{UB} to the new value.
     
     NOTE:  only needed because of GZZGADGET & REQGADGET type flags.
   @{FG SHINE}
   setGadgetID: newGadgetID @{FG TEXT}

     Set the @{B}GadgetID@{UB} to the new value.
   @{FG SHINE}
   setNextGadgetName: newNextGadgetName @{FG TEXT}

     Set the @{B}NextGadget@{UB} to the @{B}Gadget@{UB} attached to @{B}newNextGadgetName@{UB}.
   @{FG SHINE}
   setITextName: newITextName @{FG TEXT}

     Set the @{" IText " LINK "ITextClass"} to the new value.
   @{FG SHINE}
   setRenderName: newRenderName @{FG TEXT}

     Set the PropGadget rendering to the name of the @{" IText " LINK "ITextClass"} or @{" Image " LINK "ImageClass"}
     supplied. 
   @{FG SHINE}
   setSelectName: newSelectName @{FG TEXT}

     Set the PropGadget selection rendering to the name of the @{" IText " LINK "ITextClass"} 
     or @{" Image " LINK "ImageClass"} supplied. 
@ENDNODE

@NODE ColorMapClass "Colors Class:"

   Class @{B}Colors@{UB} allows the @{B}AmigaTalk@{UB} system to manipulate Amiga Colors.
   The Methods are:
   @{FG SHINE}
   make: colorMapName size: numColors @{FG TEXT}

     Allocate a new @{B}ColorMap@{UB}. 
   @{FG SHINE}
   dispose @{FG TEXT}

     Free the given @{B}ColorMap@{UB} from the system. 
   @{FG SHINE}
   loadColors: c from: colorMapFileName @{FG TEXT}

     Load the amount of color registers @{B}c@{UB} with the values given in the 
     @{B}colorMapFileName@{UB} file.
   @{FG SHINE}
   getColor: sourceType from: sourceName which: n @{FG TEXT}

     Return an RGB representation from the given source (window = 1 or
     colormap) for the @{B}n@{UB}th register.
   @{FG SHINE}
   setWindowColorReg: n red: r green: g blue: b @{FG TEXT}

     Set the color register @{B}n@{UB} to the RGB values supplied.
   @{FG SHINE}
   setMapValue: sourceType from: source num: n red: r green: g blue: b @{FG TEXT}

     Set the color register @{B}n@{UB} for the given source (window = 1 or
     colormap) to the RGB values supplied.
   @{FG SHINE}
   copyMap: source to: dest sourceType: type @{FG TEXT}

     Copy a @{B}ColorMap@{UB} from the source of @{B}sourceType@{UB} (window = 1 or colormap)
     to the destination (@{B}ColorMap@{UB}).
   @{FG SHINE}
   saveColorsTo: colorMapFileName @{FG TEXT}

     Save the color register values to the given filename. 
@ENDNODE

@NODE RequesterClass "Requester Class:"

   Class @{B}Requester@{UB} implements control of Amiga Requesters for @{B}AmigaTalk@{UB},
   except for displaying them, which is done inside the @{" Window " LINK WindowClass} class.
   The methods are:
   @{FG SHINE}
   initialize: requesterName withArray: reqValues @{FG TEXT}

     Initialize a @{B}Requester@{UB} for the @{B}AmigaTalk@{UB} system.
     reqValues is an @{B}Array@{UB} with the following fields:

       LeftEdge,  TopEdge, 
       Width,     Height, 
       RelLeft,   RelTop,
       ReqGadget, ReqBorder, ReqText, 
       Flags      BackFill,  ImageBMap

   @{FG SHINE}
   new: requesterName @{FG TEXT}

     Register a @{B}Requester@{UB} with the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a @{B}Requester@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   getStartPoint @{FG TEXT}

     Return the @{B}LeftEdge & TopEdge@{UB} of the receiver.
   @{FG SHINE}
   getReqSize @{FG TEXT}

     Return the @{B}Width & Height@{UB} of the receiver.
   @{FG SHINE}
   getRelativePoint @{FG TEXT}

     Return the @{B}RelLeft & RelTop@{UB} variable of the receiver.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} variable of the receiver.
   @{FG SHINE}
   getBackFill @{FG TEXT}

     Return the background pen number of the receiver.
   @{FG SHINE}
   getReqText @{FG TEXT}
     
     Return the name of the @{" IText " LINK "ITextClass"} attached to the receiver.
   @{FG SHINE}
   getReqGadget @{FG TEXT}

     Return the name of the first @{B}Gadget@{UB} attached to the receiver.
   @{FG SHINE}
   getReqBorder @{FG TEXT}

     Return the name of the @{" Border " LINK "BorderClass"} attached to the receiver. 
   @{FG SHINE}
   getReqBitMap @{FG TEXT}

     Return the name of the @{" BitMap " LINK "BitMapClass"} attached to the receiver.
   @{FG SHINE}
   setStartPoint: newPoint @{FG TEXT}

     Change the @{B}LeftEdge & TopEdge@{UB} of the receiver to 
     the supplied values.
   @{FG SHINE}
   setReqSize: sizePoint @{FG TEXT}

     Change the @{B}Width & Height@{UB} of the receiver to the
     values supplied.
   @{FG SHINE}
   setRelativePoint: newRelPoint @{FG TEXT}

     Change the @{B}RelLeft & RelTop@{UB} of the receiver to the values
     given.
     NOTE:  You should also add the @{B}POINTREL@{UB} value to the @{B}Flags@{UB} of the
            receiver in order to use this feature.
            receiver in order to use this feature.
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Change the @{B}Flags@{UB} of the receiver to @{B}newFlags@{UB}.
   @{FG SHINE}
   setBackFill: newBackFill @{FG TEXT}

     Change the background pen number to @{B}newBackFill@{UB} for the 
     receiver.
   @{FG SHINE}
   setReqText: newReqText @{FG TEXT}

     Change the @{" IText " LINK "ITextClass"} attached to the reciever to @{B}newReqText@{UB}.
   @{FG SHINE}
   setReqBorder: newReqBorder @{FG TEXT}

     Change the @{" Border " LINK "BorderClass"} attached to the receiver to @{B}newReqBorder@{UB}. 
   @{FG SHINE}
   setReqGadget: newReqGadget @{FG TEXT}

     Change the @{" Gadget " LINK "GadgetClass"} attached to the receiver to @{B}newReqGadget@{UB}. 
   @{FG SHINE}
   setReqBitMap: newReqBMap @{FG TEXT}

     Change the @{" BitMap " LINK "BitMapClass"} attached to the receiver to @{B}newReqBMap@{UB}. 
@ENDNODE

@NODE AlertClass "Alert Class:"

   Class @{B}Alert@{UB} implements control of Amiga Alerts for the @{B}AmigaTalk@{UB} system.
@{FG SHINE}   The message string that the user supplies will be truncated at 128 
   characters & the alert number will be prepended to it. @{FG TEXT}
   @{FG SHINE}
   new: newAlertName @{FG TEXT}

     Add an @{B}Alert@{UB} to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove an @{B}Alert@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   getAlertNumber @{FG TEXT}

     Return the alert number attached to the receiver.
   @{FG SHINE}
   getAlertHeight @{FG TEXT}

     Return the height of the receiver.
   @{FG SHINE}
   getAlertMessage @{FG TEXT}

     Return the alert @{" String " LINK "GeneralClasses.guide/StringClass"} attached to the receiver.
   @{FG SHINE}
   setAlertNumber: num @{FG TEXT}

     Change the alert number of the receiver to @{B}num@{UB}.
   @{FG SHINE}
   setAlertHeight: height @{FG TEXT}

     Change the alert height of the receiver to @{B}height@{UB}.
   @{FG SHINE}
   setAlertMessage: newMsg @{FG TEXT}

     Change the alert @{B}String@{UB} of the receiver to @{B}newMsg@{UB}.
   @{FG SHINE}
   displayAlert @{FG TEXT}

     Display the receiver to the user.
@ENDNODE

@NODE BorderClass "Border Class:"

   The Class @{B}Border@{UB} (in this implementation) is an abstract class that
   normally is attached to other objects, such as @{B}Gadgets or Requesters@{UB}.
   This is why there is no method for actually drawing borders into 
   @{B}Window@{UB}s in this Class.  See @{I}drawPolygon@{UI} in the Class @{"Painter" LINK "PainterClass"}
   if you need to draw a @{B}Border@{UB} in a @{"Window" LINK "WindowClass"}.
   
   SubClasses:  @{" Line      " LINK LineClass}
                @{" Triangle  " LINK TriangleClass}
                @{" Rectangle " LINK RectangleClass}
   
   @{FG SHINE}
   new: newBorderName @{FG TEXT}

     Add the receiver to the @{B}AmigaTalk@{UB} system.  Initialize the new
     Border Object as follows:
        name           <- newBorderName
        nextBorderName <- nil
        leftEdge       <- 0
        topEdge        <- 0
        frontPen       <- 1
        backPen        <- 0
        drawMode       <- 1
        count          <- 2
   @{FG SHINE}
   remove @{FG TEXT}

     Remove the receiver from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the parent name of the receiver to @{B}windowTitle@{UB}.
   @{FG SHINE}
   getLeftEdge @{FG TEXT}

     Return the @{B}LeftEdge@{UB} of the receiver.
   @{FG SHINE}
   getTopEdge @{FG TEXT}

     Return the @{B}TopEdge@{UB} of the receiver.
   @{FG SHINE}
   getFrontPen @{FG TEXT}

     Return the foreground pen number of the receiver.
   @{FG SHINE}
   getBackPen @{FG TEXT}

     Return the background pen number of the receiver.
   @{FG SHINE}
   getDrawMode @{FG TEXT}

     Return the drawing mode of the receiver.  Currently known values
     are:
     
        JAM1       = 0
        JAM2       = 1
        COMPLEMENT = 2
        INVERSEVID = 4
   @{FG SHINE}
   getCount @{FG TEXT}

     Return the number of points in the receiver.
   @{FG SHINE}
   getNextBorderName @{FG TEXT}

     Return the name of the next @{B}Border@{UB} attached to the receiver.
   @{FG SHINE}
   setStartPoint: sPoint @{FG TEXT}

     Change the starting point of the receiver to @{B}sPoint@{UB}.
     This method sets @{B}LeftEdge & TopEdge@{UB}.
   @{FG SHINE}
   setFrontPen: newFrontPen @{FG TEXT}

     Change the foreground pen number of the receiver.
   @{FG SHINE}
   setBackPen: newBackPen @{FG TEXT}

     Change the background pen number of the receiver.
   @{FG SHINE}
   setDrawMode: newDrawMode @{FG TEXT}

     Change the drawing mode of the receiver.  Currently known values
     are:
     
        JAM1       = 0
        JAM2       = 1
        COMPLEMENT = 2
        INVERSEVID = 4
   @{FG SHINE}
   setCount: newCount @{FG TEXT}

     Change the number of points in the receiver.
   @{FG SHINE}
   setNextBorderName: newBorder @{FG TEXT}

     Change the name of the next @{B}Border@{UB} attached to the receiver.
   @{FG SHINE}
   setBorderPoint: thePt to: newPoint @{FG TEXT}

     Change the value of a point in the receiver.
@ENDNODE

@NODE LineClass "Line Class (Border sub-class):"

   @{FG SHINE}
   makeLine: lineName from: fPoint to: tPoint @{FG TEXT}

     Add a @{" Border " LINK "BorderClass"} with two points & register it with the @{B}AmigaTalk@{UB} system.
@ENDNODE

@NODE TriangleClass "Triangle Class (Border sub-class):"

   @{FG SHINE}
   makeTriangle: triangleName vert1: v1Point vert2: v2Point vert3: v3Point @{FG TEXT}

     Add a @{" Border " LINK "BorderClass"} with 4 points & register it with the @{B}AmigaTalk@{UB} system.
@ENDNODE

@NODE RectangleClass "Rectangle Class (Border sub-class):"

   @{FG SHINE}
   makeRectangle: rectangleName from: fPoint to: tPoint @{FG TEXT}

     Add a @{" Border " LINK "BorderClass"} with 5 points & register it with the @{B}AmigaTalk@{UB} system.
@ENDNODE

@NODE FontClass "Font Class:"

   Class @{B}Font@{UB} implements control of Amiga Fonts.
   The methods for @{B}Font@{UB} are:
   @{FG SHINE}
   new: newFontName @{FG TEXT}

     Add a @{B}Font@{UB} to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove an @{B}Font@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   getName @{FG TEXT}

     Return the name of the Font.
   @{FG SHINE}
   getYSize @{FG TEXT}
     
     Return the Height of the Font (in pixels - ta_YSize).
   @{FG SHINE}
   getStyle @{FG TEXT}

     Return the style (ta_Style) of the Font such as PLAIN, BOLD,
     UNDERLINED or ITALIC, etc.
   @{FG SHINE}
   getFlags @{FG TEXT}

     Return the @{B}Flags@{UB} of the receiver (ta_Flags).
   @{FG SHINE}
   setName: newName @{FG TEXT}

     Change the name of the Font to newName (ta_Name <- newName).
     This method is probably not really needed.
   @{FG SHINE}
   setYSize: newYSize @{FG TEXT}

     Set the Height of the Font (ta_YSize <- newYSize).
   @{FG SHINE}
   setStyle: newStyle @{FG TEXT}

     Change the style of the Font (ta_Style <- newStyle).
   @{FG SHINE}
   setFlags: newFlags @{FG TEXT}

     Change the Flags of the Font (ta_Flags <- newFlags).
     
   See Also @{" IText Class " LINK "ITextClass"}
@ENDNODE

@NODE ITextClass "IText Class:"

   Class @{B}IText@{UB} implements control of Amiga @{B}IntuiText@{UB} except for actually
   displaying it, which is in the @{"Window" LINK "WindowClass"} class.
   The methods for @{B}IText@{UB} are:
   @{FG SHINE}
   new: newITextName @{FG TEXT}

     Add an @{B}IText@{UB} (@{I}IntuiText@{UI}) to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   remove @{FG TEXT}

     Remove an @{B}IText@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the parent name of the receiver to @{B}windowTitle@{UB}.
   @{FG SHINE}
   getFrontPen @{FG TEXT}

     Return the foreground pen number of the receiver.
   @{FG SHINE}
   getBackPen @{FG TEXT}
     
     Return the background pen number of the receiver.
   @{FG SHINE}
   getDrawMode @{FG TEXT}

     Return the drawing mode of the receiver.  Currently known values are:

        JAM1       = 0
        JAM2       = 1
        COMPLEMENT = 2
        INVERSEVID = 4
   @{FG SHINE}
   getLeftEdge @{FG TEXT}

     Return the @{B}LeftEdge@{UB} of the receiver.
   @{FG SHINE}
   getTopEdge @{FG TEXT}

     Return the @{B}TopEdge@{UB} of the receiver.
   @{FG SHINE}
   getFontName @{FG TEXT}

     Return the name of the rendering font of the receiver.
   @{FG SHINE}
   getIText @{FG TEXT}

     Return the @{" String " LINK "GeneralClasses.guide/StringClass"} that the the receiver will display.
   @{FG SHINE}
   getNextText @{FG TEXT}

     Return the name of the next @{B}IntuiText@{UB} of the receiver.
   @{FG SHINE}
   getTextLength @{FG TEXT}

     Return the length (in pixels) of the text of the receiver.
   @{FG SHINE}
   setFrontPen: newFrontPen @{FG TEXT}

     Change the foreground pen of the receiver.
   @{FG SHINE}
   setBackPen: newBackPen @{FG TEXT}

     Change the background pen of the receiver.
   @{FG SHINE}
   setDrawMode: newDrawMode @{FG TEXT}

     Change the drawing mode of the receiver.  Currently known values are:

        JAM1       = 0
        JAM2       = 1
        COMPLEMENT = 2
        INVERSEVID = 4
   @{FG SHINE}
   setLeftEdge: newLeftEdge @{FG TEXT}

     Change the @{B}LeftEdge@{UB} of the receiver.
   @{FG SHINE}
   setTopEdge: newTopEdge @{FG TEXT}

     Change the @{B}TopEdge@{UB} of the receiver.
   @{FG SHINE}
   setFontName: newFontName @{FG TEXT}

     Change the name of the rendering font of the receiver.
   @{FG SHINE}
   setIText: iTextName to: newIText @{FG TEXT}

     Change the text @{B}String@{UB} of the receiver.
   @{FG SHINE}
   setNextText: newNextText @{FG TEXT}

     Change the name of the next @{B}IText@{UB} of the receiver.

   See Also @{" Font Class " LINK "FontClass"}
@ENDNODE

@NODE IconClass "Icon Class:"

   Class @{B}Icon@{UB} implements control of Amiga @{B}Icons@{UB}.
   The methods for @{B}Icon@{UB} are:
   @{FG SHINE}
   openIcon: iconFileName @{FG TEXT}

     Add an @{B}Icon@{UB} to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   new: iconFileName @{FG TEXT}

     Same as openIcon: method.
   @{FG SHINE}
   closeIcon @{FG TEXT}

     Remove an @{B}Icon@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   editToolTypes @{FG TEXT}

     Display the ToolTypes in a GUI for editing purposes.  Not all
     Icon types have ToolTypes (just Tool & Project icon types).
   @{FG SHINE}
   displayIconInfo @{FG TEXT}
    
     Display a GUI containing information about the Icon. 
     NOTE:  The Icon colors displayed might not be correct 
            (working on it!).
   @{FG SHINE}
   displayIconImages @{FG TEXT}
    
     Display only the Icon images.  NOTE:  The Icon colors displayed
     might not be correct (working on it!).
   @{FG SHINE}
   setIconPosition: newPoint @{FG TEXT}
    
     Set the physical screen location of an Icon to @{" newPoint " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   moveIcon: deltaPoint @{FG TEXT}
    
     Move the physical screen location of an Icon by @{" deltaPoint " LINK "GeneralClasses.guide/PointClass"}.
   @{FG SHINE}
   editIcon: externalEditorName @{FG TEXT}
    
     Invoke the named external Icon editor (such as Sys:Tools/IconEdit),
     so that you can edit the Icon with the editor of your choosing.
   @{FG SHINE}
   addToolType: toolString @{FG TEXT}
    
     Add a ToolType to the Icon (only Tool & Project Icon types have
     ToolTypes).
   @{FG SHINE}
   deleteToolType: toolString @{FG TEXT}

     Delete a ToolType from the Icon (only Tool & Project Icon types have
     ToolTypes).
   @{FG SHINE}
   getIconWidth @{FG TEXT}

      Return the Width (in pixels) of the Icon.
   @{FG SHINE}
   getIconHeight @{FG TEXT}

      Return the Height (in pixels) of the Icon.
   @{FG SHINE}
   getIconFlags @{FG TEXT}

      Return the Flags (usually related to Display mode) of the Icon.
      ^ <primitive 219 12 private>
   @{FG SHINE}
   getIconImagePtr @{FG TEXT}

      Return the address (as an Integer) of the Icon Image.
   @{FG SHINE}
   getIconAlternateImagePtr @{FG TEXT}

      Return the address (as an Integer) of the Icon alternate Image.
   @{FG SHINE}
   getIconType @{FG TEXT}

      Return an Integer representing the type of the Icon.  The returned
      value is decoded as follows:

         WBDISK     = 1, WBDRAWER   = 2
         WBTOOL     = 3, WBPROJECT  = 4
         WBGARBAGE  = 5, WBDEVICE   = 6
         WBKICK     = 7, WBAPPICON  = 8
   @{FG SHINE}
   getDefaultTool @{FG TEXT}

      Return a String representing the Default Tool of the Icon (only
      Project & Disk Icon types have Default Tools).
   @{FG SHINE}
   getStackSize @{FG TEXT}

      Return an Integer representing the Stack Size of the Icon.
   @{FG SHINE}
   getWindowWidth @{FG TEXT}

      Return an Integer representing the Window Width of the Icon.  Only
      Disk, Drawer & Garbage icon types have a valid value for this.
   @{FG SHINE}
   getWindowHeight @{FG TEXT}

      Return an Integer representing the Window Height of the Icon.  Only
      Disk, Drawer & Garbage icon types have a valid value for this.
   @{FG SHINE}
   getWindowTopEdge @{FG TEXT}

      Return an Integer representing the Window TopEdge of the Icon.  Only
      Disk, Drawer & Garbage icon types have a valid value for this.
   @{FG SHINE}
   getWindowLeftEdge @{FG TEXT}
      Return an Integer representing the Window LeftEdge of the Icon.  Only
      Disk, Drawer & Garbage icon types have a valid value for this.

   @{FG SHINE}
   setIconWidth: newWidth @{FG TEXT}

      Change the Width of the Icon to newWidth.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setIconHeight: newHeight @{FG TEXT}

      Change the Height of the Icon to newHeight.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setIconFlags: newFlags @{FG TEXT}

      Change the Flags of the Icon to newFlags.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setIconImage: imageObject @{FG TEXT}

      Change the Image of the Icon to @{" imageObject " LINK "ImageClass"}.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setIconAlternateImage: imageObject @{FG TEXT}

      Change the alternate Image of the Icon to @{" imageObject " LINK "ImageClass"}.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setIconType: newType @{FG TEXT}

      Change the type of the Icon to newType.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.

      Valid types are:

         WBDISK     = 1, WBDRAWER   = 2
         WBTOOL     = 3, WBPROJECT  = 4
         WBGARBAGE  = 5, WBDEVICE   = 6
         WBKICK     = 7, WBAPPICON  = 8
   @{FG SHINE}
   setDefaultTool: newDefaultTool @{FG TEXT}

      Change the Default Tool of the Icon to newDefaultTool.  Only 
      Disk & Project Icon types have a Default Tool.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setStackSize: newStackSize @{FG TEXT}

      Change the Stack Size of the Icon to newStackSize.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setWindowWidth: newWidth @{FG TEXT}

      Change the Width of the Icon Window to newWidth. Only Disk, Drawer
      & Garbage Icon types have Windows.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setWindowHeight: newHeight @{FG TEXT}

      Change the Height of the Icon Window to newHeight. Only Disk, Drawer
      & Garbage Icon types have Windows.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setWindowTopEdge: newTopEdge @{FG TEXT}

      Change the TopEdge of the Icon Window to newTopEdge. Only Disk, 
      Drawer & Garbage Icon types have Windows.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   setWindowLeftEdge: newLeftEdge @{FG TEXT}

      Change the LeftEdge of the Icon Window to newLeftEdge. Only Disk, 
      Drawer & Garbage Icon types have Windows.
      WARNING:  This method updates the Icon to disk, so do NOT change
                it unless you're willing (or you have a backup) to live
      with the consequences.
   @{FG SHINE}
   readInAsciiImage: fileName @{FG TEXT}

      The image read in will be placed in the Icon normal Image
      (icon->do_Gadget.GadgetRender for you programmers), then the Icon 
      will be written to the file system.

      The ASCII image file has the following format:

         width, height, depth \n
         datum \n datum \n datum \n ... \n<EOF>

      Only @{B}writeAsciiImage:@{UB} can create these types of files.
@{B}      NOTE:  This is NOT the same as an Image object (or an Intuition 
             Image)!@{UB}
   @{FG SHINE}
   writeAsciiImage: fileName @{FG TEXT}

      Write the normal Icon Image (icon->do_Gadget.GadgetRender for you
      programmers) to the fileName in the following format:

         width, height, depth\n
         datum \n datum \n datum \n ... <EOF>

      Only @{B}readInAsciiImage:@{UB} can make use of these types of files.
@{B}      NOTE:  This is NOT the same as an Image object (or an Intuition 
             Image)!@{UB}

   See Also @{" Image Class " LINK "ImageClass"}
@ENDNODE

@NODE BitMapClass "BitMap Class:"                   

   Class @{B}BitMap@{UB} implements control of Amiga BitMaps for the @{B}Amigatalk@{UB} 
   system.  Valid values for Flags are:
   
     BMB_CLEAR       = 0
     BMB_DISPLAYABLE = 1
     BMB_INTERLEAVED = 2
     BMB_STANDARD    = 3
     BMB_MINPLANES   = 4
   @{FG SHINE}
   new: newBitMapName @{FG TEXT}

     Add an instance of a @{B}BitMap@{UB} to the @{B}AmigaTalk@{UB} system.
     Default values are as follows:
        
        name   <- newBitMapName
        width  <- 1
        height <- 1
        depth  <- 1
   @{FG SHINE}
   remove @{FG TEXT}

     Remove a @{B}BitMap@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   getBitMapWidth @{FG TEXT}
    
     Return the width (in pixels) of the receiver.
   @{FG SHINE}
   getBitMapHeight @{FG TEXT}

     Return the height (in pixels) of the receiver.
   @{FG SHINE}
   getBitMapFlags @{FG TEXT}

     Return the @{B}Flags@{UB} of the receiver.
   @{FG SHINE}
   getBitMapDepth @{FG TEXT}

     Return the depth (number of bitplanes) of the receiver.
   @{FG SHINE}
   setBitMapWidth: newWidth @{FG TEXT}

     Change the width (in pixels) of the receiver.
   @{FG SHINE}
   setBitMapHeight: newHeight @{FG TEXT}

     Change the height (in pixels) of the receiver.
   @{FG SHINE}
   setBitMapFlags: newFlags @{FG TEXT}

     Change the @{B}Flags@{UB} of the receiver.
   @{FG SHINE}
   setBitMapDepth: newDepth @{FG TEXT}

     Change the depth (number of bitplanes) of the receiver.
   @{FG SHINE}
   readBitMapFile: bitMapFile @{FG TEXT}

     Load a @{B}BitMap@{UB} from the given file.  The file format is unique to
     @{B}AmigaTalk@{UB}.
   @{FG SHINE}
   writeBitMapFile: bitMapFile @{FG TEXT}

     Save a @{B}BitMap@{UB} to the given file.  The file format is unique to
     @{B}AmigaTalk@{UB}.
@ENDNODE

@NODE PainterClass "Painter Class:"

   Class @{B}Painter@{UB} allows the user to draw simple graphics onto
   @{" Windows " LINK "WindowClass"}.  The methods are:

   @{FG SHINE}
   new: newOwnerWindow @{FG TEXT}
     
     Initialize a new instance of Painter by setting the Window that will
     be used by the @{B}Painter@{UB}.
   @{FG SHINE}
   setAPen: pen @{FG TEXT}

     Change the foreground pen number of the given @{B}Window@{UB}.
   @{FG SHINE}
   setBPen: pen @{FG TEXT}

     Change the background pen number of the given @{B}Window@{UB}.
   @{FG SHINE}
   setOPen: pen @{FG TEXT}

     Change the outline pen number of the given @{B}Window@{UB}.
   @{FG SHINE}
   setDrawMode: mode @{FG TEXT}

     Change the drawing mode of the given @{B}Window@{UB}.  Currently known
     values are:

        JAM1       = 0
        JAM2       = 1
        COMPLEMENT = 2
        INVERSEVID = 4
   @{FG SHINE}
   movePenTo: newPoint @{FG TEXT}

     Change the drawing @{" Point " LINK "GeneralClasses.guide/PointClass"} (without drawing anything!) on the given
     @{B}Window@{UB}.

   @{FG SHINE}
   drawTo: aPoint @{FG TEXT}

     Draw a line from the current @{B}Window@{UB} location to the given point.
   @{FG SHINE}
   drawLineFrom: fPoint to: tPoint @{FG TEXT}

     Draw a line from @{B}fPoint@{UB} to @{B}tPoint@{UB}.
   @{FG SHINE}
   drawBoxFrom: fPoint to: tPoint @{FG TEXT}

     Draw a box from @{B}fPoint@{UB} to @{B}tPoint@{UB}.
   @{FG SHINE}
   drawCircle: cPoint radius: r @{FG TEXT}

     Draw a circle of radius @{B}r@{UB} with center point @{B}cPoint@{UB}.
   @{FG SHINE}
   drawEllipse: cPoint minaxis: a maxaxis: b @{FG TEXT}

     Draw an ellipse at center point @{B}cPoint@{UB}.
   @{FG SHINE}
   drawPolygon: borderName @{FG TEXT}

     Draw a @{" Border " LINK "BorderClass"} Object.
   @{FG SHINE}
   drawPixelAt: aPoint @{FG TEXT}

     Draw a single pixel at the point given.
   @{FG SHINE}
   drawText: iTextName at: aPoint @{FG TEXT}

     Draw an @{" IText " LINK "ITextClass"} at the point given.
@{B}
     NOTE:  You should set the foreground pen, background pen & the
            drawing mode before using this method! @{UB}
@ENDNODE

@NODE "ImageClass" "Image Class:"

   Class @{B}Image@{UB} allows the user to draw Amiga Images
   onto @{" Windows " LINK "WindowClass"}.  The methods are:
   
   @{FG SHINE}
   new: newImageName @{FG TEXT}

     Add an @{B}Image@{UB} to the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   registerTo: windowTitle @{FG TEXT}

     Set the parent name of the receiver @{B}Image@{UB} to @{B}windowTitle@{UB}.
   @{FG SHINE}
   removeImage @{FG TEXT}

     Remove an @{B}Image@{UB} from the @{B}AmigaTalk@{UB} system.
   @{FG SHINE}
   drawImageAt: aPoint @{FG TEXT}

     Display an @{B}Image@{UB} on the given @{B}Window@{UB} at the given
     (aPoint x, aPoint y) coordinates.
   @{FG SHINE}
   setImageData: imageFile @{FG TEXT}

     Load @{B}Image@{UB} data from the given file.
   @{FG SHINE}
   getStartPoint @{FG TEXT}

     Return the @{B}LeftEdge & TopEdge@{UB} of the receiver.
   @{FG SHINE}
   getImageSize @{FG TEXT}

     Return the @{B}Width & Height@{UB} of the receiver.
   @{FG SHINE}
   getImageDepth @{FG TEXT}

     Return the @{B}Depth@{UB} of the receiver.
   @{FG SHINE}
   getImagePlanePick @{FG TEXT}

     Return the @{B}PlanePick@{UB} variable of the receiver.
   @{FG SHINE}
   getImagePlaneOnOff @{FG TEXT}

     Return the @{B}PlaneOnOff@{UB} variable of the receiver.
   @{FG SHINE}
   getNextImage @{FG TEXT}

     Return the name of the next @{B}Image@{UB} of the receiver.
   @{FG SHINE}
   setOrigin: aPoint @{FG TEXT}

     Set the @{B}LeftEdge & TopEdge@{UB} of the receiver.
   @{FG SHINE}
   setExtent: sizePoint @{FG TEXT}

     Set the @{B}Width & Height@{UB} of the receiver.
   @{FG SHINE}
   setImageDepth: newDepth @{FG TEXT}

     Set the @{B}Depth@{UB} of the receiver.
   @{FG SHINE}
   setImagePlanePick: pp @{FG TEXT}

     Set the @{B}PlanePick@{UB} variable of the receiver.
   @{FG SHINE}
   setImagePlaneOnOff: po @{FG TEXT}

     Set the @{B}PlaneOnOff@{UB} variable of the receiver.
   @{FG SHINE}
   setNextImage: nextImage @{FG TEXT}

     Set the name of the next @{B}Image@{UB} of the receiver.
@ENDNODE

@NODE AreaPaintClass "AreaPaint Class:"            

     Not Implemented yet!
     
     Class @{B}Area@{UB}
@ENDNODE

@NODE IStructClass "IStruct Class:"

     Not Implemented yet!
     
     Class @{B}IStruct@{UB} allows access to various Amiga OS structures
     used by Intuition.  These are:

     ViewPorts
     Views
     PlayFields
     RastPorts
     RasInfo
     Layers
     Blitter
     Copper

@ENDNODE

@NODE AnimClass "Animation Class:"

     Not Implemented yet!
     
     Class @{B}Anim@{UB}
@ENDNODE

@NODE IFFClass "IFF Class:"

     Not Implemented yet!
     
     Class @{B}IFF@{UB}

     CloseIFF
     OpenIFF
     FreeIFF
     AllocIFF

     InitIFF
     InitIFFasDOS
     InitIFFasClip
     OpenClipboard
     ParseIFF
     ReadChunkBytes
     ReadChunkRecords
     StopChunk
     CurrentChunk
     PropChunk
     FindProp
     CollectionChunk
     FindCollection
     StopOnExit
     EntryHandler
     ExitHandler
     PushChunk
     PopChunk
     ParentChunk
     AllocLocalItem
     LocalItemData
     StoreLocalItem
     StoreItemInContext
     FindPropContext
     FindLocalItem
     FreeLocalItem
     SetLocalItemPurge

@ENDNODE
