* ------------------------------------------------------------------------
* graphics/WarpText.i -- Assembler include file for         Bill Kelly
* WarpText text routines.                                   07/07/87
*
* Copyright 1987 by Bill W. Kelly.  All Rights Reserved.
*
* This is meant to go in the Graphics directory of the assembler includes.
* When you assemble WarpText.asm, it will include: "graphics/WarpText.i"
* ------------------------------------------------------------------------

* --------------------------------------------------------------------------
* The following structure, WarpInfo, is used by these four routines:
*   InitWarpInfo    (Initializes the WarpInfo structure for use)
*   GetXY           (Returns current cursor position)
*   GotoXY          (Sets cursor to given position)
*   WarpText        (Emits text at ~13,500 characters per second)


    STRUCTURE  WarpInfo,0       ;...the <I> denotes internal use.
        APTR    wi_TextFont     ;Pointer to a TextFont structure.
        APTR    wi_BitMap       ;Pointer to a BitMap structure.
        UWORD   wi_WhichPlane   ;Which bitplane to render into.
        UWORD   wi_Left         ;Left edge of 'window' in char loc's.
        UWORD   wi_Top          ;Top edge of 'window' in char loc's.
        UWORD   wi_Width        ;Width of 'window' in char loc's.
        UWORD   wi_Height       ;Height of 'window' in char loc's.
        APTR    wi_WindowTop    ;<I> Address of top of 'window.'
        APTR    wi_CurLine      ;<I> Address of start of current line.
        APTR    wi_LastLine     ;<I> Address of start of last line.
        UWORD   wi_CurX         ;<I> Current X position.
        UWORD   wi_LastX        ;<I> Maximum X position on a line.
        UWORD   wi_BPMod        ;<I> # total possible chars on a line in bp
        UWORD   wi_Modulo       ;<I> Add this to get to next line.
        LABEL   wi_SIZE


* --------------------------------------------------------------------------
* The following structure, NewWarpInfo, is used by these three routines:
*   SetupFont       (Copies font to given 2048 byte array for faster access)
*   NewWarp         (Emits text at ~30,000 characters per second)
*   XORCursor       (XOR's a visible cursor to the current xy location)


    STRUCTURE  NewWarpInfo,0
        UWORD   nwi_XLoc        ;Current X position in char. loc's.
        UWORD   nwi_YLoc        ;Current Y position in char. loc's.
        APTR    nwi_BitPlane    ;Address of bitplane to render text into.
        APTR    nwi_FontData    ;Address of 2048 byte array for font data.
        LABEL   nwi_SIZE


* ---------------------------- *
* End of "graphics/WarpText.i" *
* ---------------------------- *
