[Contents] [index] [Help] [Retrace] [browse <] [Browse >]

This section shows you how to use the Amiga drawing routines. All of these
routines work either on their own or along with the windowing system and
layers library.  For details about using the layers and windows, see the
chapters on "layers library" and "intuition windows".

    Use WaitBlit().
    ---------------
    The graphics library rendering and data movement routines generally
    wait to get access to the blitter, start their blit, and then exit.
    Therefore, you must waitblit() after a graphics rendering or data
    movement call if you intend to immediately deallocate, examine, or
    perform order-dependent processor operations on the memory used in
    the call.

As you read this section, keep in mind that to use the drawing routines,
you need to pass them a pointer to a rastport.  you can define the
RastPort directly, as shown in the sample program segments in preceding
sections, or you can get a RastPort from your window structure using code
like the following:

    struct Window *window;
    struct RastPort *rastPort;

    window = OpenWindow(&newWindow);  /*  You could use OpenWindowTags() */
    if (window)
        rastPort = window->RPort;

You can also get the rastport from the layer structure, if you are not
using Intuition.

 drawing individual pixels 
 reading individual pixels 
 drawing ellipses and circles 
 drawing lines 
 drawing patterned lines 
 drawing multiple lines with a single command 
 area-fill operations 
 ellipse and circle-fill operations 
 flood-fill operations 
 rectangle-fill operations