Borders may be directly drawn by the application by calling the function drawborder(). void DrawBorder( struct RastPort *rp, struct Border *border, long leftOffset, long topOffset ); The rp argument is a pointer to the rastport into which the border should be drawn. This rastport may come from a window or screen structure. The border argument is a pointer to a list of border structures which are to be rendered. The list may contain a single Border structure. The leftOffset and topOffset arguments are the external component, or base position, for this list of borders. the leftedge and topedge values of each Border structure are added to these to determine the Border position. Borders may also be indirectly drawn by attaching them to gadgets, menus or requesters.