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. | |________________________________________________________________________|