The following are brief descriptions of the Amiga's graphics primitives. See the Amiga ROM Kernel Reference Manual: Includes and Autodocs for details on each function call. Table 27-9: Graphics Primitives Functions ________________________________________________________________________ | | | Display | | Set-up Functions Description | |========================================================================| | initview() initializes the view structure. | | initbitmap() initializes the bitmap structure. | | rassize() calculates the size of a viewport's bitmap. | | allocraster() allocates the bitplanes needed for a bitmap. | | freeraster() frees the bitplanes created with allocraster(). | | initvport() initializes the viewport structure. | | getcolormap() returns the colormap structure used by | | ViewPorts. | | freecolormap() frees the colormap created by getcolormap(). | | loadrgb4() loads the color registers for a given viewport. | | setrgb4cm() loads an individual color register for a given | | ViewPort. | | makevport() creates the intermediate copper list program for | | a ViewPort. | | mrgcop() merges the intermediate copper lists. | | loadview() displays a given view. | | freecprlist() frees the copper list created with mrgcop() | | freevportcoplists() frees the intermediate copper lists created with | | MakeVPort(). | | off_display() turns the video display dma off | | on_display() turns the video display dma back on again. | |________________________________________________________________________| ________________________________________________________________________ | | | Release 2 Display | | Set-up Functions Description | |========================================================================| | finddisplayinfo() returns the display database handle for a given | | ModeID (V36). | | getdisplayinfodata() looks up a display attribute in the display | | database (V36). | | videocontrol() sets, clears and gets the attributes of an | | existing display (V36). | | gfxnew() creates viewextra or viewportextra used in | | Release 2 displays (V36). | | gfxassociate() attaches a viewextra to a view (v36). | | gfxfree() frees the viewextra or viewportextra created by | | GfxNew() (V36). | | openmonitor() returns the monitorspec structure used in | | Release 2 Views (V36). | | closemonitor() frees the monitorspec structure created by | | OpenMonitor() (V36). | | getvpmodeid() returns the release 2 modeid of an existing | | viewport (v36). | | modenotavailable() determines if a display mode is available from | | a given ModeID (V36). | |________________________________________________________________________| ________________________________________________________________________ | | | Drawing | | Functions Description | |========================================================================| | initrastport() initialize a rastport structure. | | initarea() initialize the areainfo structure used with a | | RastPort. | | setwrmask() set the rastport.mask. | | setapen() set the rastport.fgpen foreground pen color. | | SetBPen() Set the rastport.bgpen background pen color. | | setopen() set the rastport.aolpen area fill outline pen color. | | setdrmode() set the rastport.drawmode drawing mode. | | SetDrPt() Set the RastPort.LinePtrn line drawing pattern. | | setafpt() set the rastport area fill pattern and size. | |------------------------------------------------------------------------| | writepixel() draw a single pixel in the foreground color at a | | given coordinate. | | readpixel() find the color of the pixel at a given coordinate. | | drawcircle() draw a circle with a given radius and center point. | | drawellipse() draw an ellipse with the given radii and center | | point. | | move() move the rastport drawing pen to a given coordinate. | | draw() draw a line from the current pen location to a given | | coordinate. | |------------------------------------------------------------------------| | polydraw() draw a polygon with a given set of vertices. | | areamove() set the anchor point for a filled polygon. | | areadraw() add a new vertice to an area-fill polygon. | | areaend() close and area-fill polygon, draw it and fill it. | | bndryoff() turn off area-outline pen usage activated with | | SetOPen(). | | areacircle() draw a filled circle with a given radius and center | | point. | | areaellipse() draw a filled ellipse with the given radii and center | | point. | | flood() flood fill a region starting at a given coordinate. | | rectfill() flood fill a rectangular area at a given location and | | size. | |________________________________________________________________________| ________________________________________________________________________ | | | Data Movement | | Functions Description | |========================================================================| | bltclear() use the hardware blitter to clear a block of | | memory. | | setrast() fill the rastport.bitmap with a given color. | | scrollraster() move a portion of a rastport.bitmap. | | bltpattern() draw a rectangular pattern of pixels into a | | RastPort.BitMap. The x-dimension of the | | rectangle must be word-aligned and | | word-sized. | | blttemplate() draw a rectangular pattern of pixels into a | | RastPort.BitMap. The x-dimension of the | | rectangle can be arbitrarily bit-aligned and | | sized. | | bltbitmap() copy a rectangular area from one bitmap to a | | given coordinate in another BitMap. | | bltbitmaprastport() copy a rectangular area from a bitmap to a | | given coordinate in a RastPort.BitMap. | | bltmaskbitmaprastport() copy a rectangular area from a bitmap to a | | RastPort.BitMap through a mask bitplane. | | clipblit() copy a rectangular area from one rastport to | | another with respect to their layers. | | bitmapscale() scale a rectangular area within a bitmap to | | new dimensions (V36). | |________________________________________________________________________| ________________________________________________________________________ | | | Hardware Programming | | Functions Description | |========================================================================| | ownblitter() obtain exclusive access to the amiga's hardware | | blitter. | | disownblitter() relinquish exclusive access to the blitter. | | waitblit() suspend until the current blitter operation has | | completed. | | qblit() place a bltnode-style asynchronous blitter request | | in the system queue | | qbsblit() place a bltnode-style asynchronous blitter request | | in the beam synchronized queue. | |------------------------------------------------------------------------| | cinit() initialize the user copper list buffer. | | cwait() instructs the copper to wait for the video beam to | | reach a given position. | | cmove() instructs the copper to place a value into a given | | hardware register. | | cbump() instructs the copper to increment its copper list | | pointer. | | cend() terminate the user copper list. | |________________________________________________________________________|