
-----------------------------------------------------------------
LONG BltBitMap( struct BitMap *srcBitMap, long xSrc, long ySrc,
	struct BitMap *destBitMap, long xDest, long yDest, long xSize,
	long ySize, unsigned long minterm, unsigned long mask,
	PLANEPTR tempA );

src:  text/bltcopy.asm
tree: self
hardware: yes
notes: chunky supported added for
	planar -> chunky blits
	chunky -> chunky blits  Doesn't support all features,
				though.  Needs fleshing out.

-----------------------------------------------------------------
void InitBitMap( struct BitMap *bitMap, long depth, long width, long height );

-----------------------------------------------------------------
void BltTemplate( PLANEPTR source, long xSrc, long srcMod,
	struct RastPort *destRP, long xDest, long yDest, long xSize,
	long ySize );

src:  text/bltcopy.asm
tree: self
hardware: yes
notes: chunky support added for
	planar -> chunky blits. Doesn't support all draw modes,
				however.

-----------------------------------------------------------------

BltClear

src: a/BltClear.asm
tree: self contained
hardware: yes
notes: This routine could be _very_ easily replaced by a CPU
       version.  Probably would run a hell of a lot faster, too.

-----------------------------------------------------------------

BltPattern

src: a/BltPattern.asm
tree: calls either _oldbltpattern
	calls makemask which uses gfx_BltBitMap
	and assembly bp_downcode
	    uses custom blitter code and
	    calls C _patblit
	       uses custom blitter code

      or _clipbltpattern:
	calls bp_cr
	    walks cliprects and calls oldbltpattern in various
	    different ways

      or self contained routine for fast cases, which call:

         gfx_DoHookClipRects with rect_rtn

hardware: yes
notes: This routine needs to be rewritten to use DoHookClipRects
       very badly.  Once that is done, it should be much clearer
       what kind of functionality this function really needs at
       the lowest level.

-----------------------------------------------------------------

AreaEnd

src: a/AreaEnd.asm
tree:
	calls gfx_BltClear, gfx_BltPattern, gfx_WritePixel,
	      gfx_Draw, gfx_DrawEllipse, probably more

	calls BareDraw

hardware: yes
notes: This routine uses the blitter's special fill mode to do
       it's work.

       A really lame way of handling chunky destinations would
       simply be to call BltBitMapRastPort() once everything is
       done being rendered.  It _may_ be doing this already, but
       I didn't look that closely at it.

-----------------------------------------------------------------

ClearEOL

src:  text/clear.asm
tree:
      calls clear.asm/clearRaster
      	calls gfx_SetAPen, gfx_RectFill

hardware: no

-----------------------------------------------------------------

ClearScreen

src:  text/clear.asm
tree:
      calls clear.asm/clearRaster
         calls gfx_SetAPen, gfx_RectFill

hardware: no

-----------------------------------------------------------------

BltMaskBitMapRastPort

src: c/bltbitmask.c
tree:
    calls gfx_DoHookClipRects w/hook:

        Hook calls gfx_BltBitMap

notes: currently uses an assembly stub in a/BltBitMapRastPort.asm
hardware: no

-----------------------------------------------------------------

DrawEllipse

src: c/downellipse.asm
tree:
    calls gfx_WritePixel

notes: called via stub routine in a/Ellipse.asm
hardware: no

-----------------------------------------------------------------

AreaEllipse

src: a/AreaEllipse.asm
tree:
    calls gfx_AreaDraw
hardware: no

-----------------------------------------------------------------

AreaMove

src: a/AreaMove.asm
tree:
    calls gfx_AreaDraw
hardware: no

-----------------------------------------------------------------

AreaDraw

src: a/AreaDraw.asm
tree: self contained
hardware: no

-----------------------------------------------------------------

RectFill

src: a/rectfill.asm
tree: calls gfx_Draw
      calls gfx_BltPattern

hardware: no

-----------------------------------------------------------------

ReadPixel

src: a/ReadPixel.asm
tree: self contained
notes: walks cliprect list, chunky/fast ram support added
hardware: no

-----------------------------------------------------------------

WritePixel

src: a/WritePixel.asm
tree: self contained
notes: walks cliprect list, chunky support added
hardware: np

-----------------------------------------------------------------

Flood

src: c/ffill.c
tree: if layer calls newfill in c/flood.c
        calls gfx_BltBitMap, gfx_BltPattern,
            clipbltrastport
                calls DoHookClipRects() with blit_hook
                    calls gfx_BltBitMap

            newGenBlit
                walks cliprects, calls clipbltrasrport

      else
        calls internal fill_region or newfill (see above)
            calls MOVE and DRAW, READPIXEL
hardware: no

-----------------------------------------------------------------

PolyDraw

src: a/PolyDraw
tree: calls gfx_Draw
hardware: no

-----------------------------------------------------------------

ScrollRaster

src: c/scrollraster.c
tree: calls internal scroll_primitive
         calls gfx_BltBitMap

hardware: no

-----------------------------------------------------------------

ScrollRasterBF

src: c/scrollraster.c
tree: calls internal scroll_primitive
         calls gfx_BltBitMap

hardware: no

-----------------------------------------------------------------

SyncSBitMap

src: c/sync_sbitmap.c
tree: calls bltrastport
        calls clipbltrastport
            calls DoHookClipRects() with blit_hook
                calls gfx_BltBitMap

hardware: no

-----------------------------------------------------------------

CopySBitMap

src: c/copy_sbitmap.c
tree: calls _clipbltrastport
        calls DoHookClipRects() with blit_hook
            calls gfx_BltBitMap

hardware: no

-----------------------------------------------------------------

BltRastPort (ClipBlit)

src: c/bltrastport.c (external_bltrastport)
tree: calls bltrastport
        calls clipbltrastport
            calls DoHookClipRects() with blit_hook
                calls gfx_BltBitMap

notes: called via stub in a/BltRastPort.asm
hardware: no

-----------------------------------------------------------------

BltBitMapRastPort

src: c/bltrastport.c
tree: calls clipbltrastport
        calls DoHookClipRects() with blit_hook
            calls gfx_BltBitMap

notes: called via stub in a/BltBitMapRastPort.asm
hardware: no

-----------------------------------------------------------------

BltMaskBitMapRastPort

src: c/bltbitmask.c
tree: calls DoHookClipRects() with mask_hook
         calls gfx_BltBitMap

notes: called via stub in a/BltMaskRastPort.asm
hardware: no

-----------------------------------------------------------------
