* -------------------------------------------------------
* WarpC.asm -- C Interface For WarpText Routines
* Written by Anson Mah 06/08/87
*
* Interface to WarpText 2.0 added 06Jul87 by billk.
* Actually, I don't think the 2.0 interface I just wrote
* will be very useful.  Ah well.  It's there, do what you
* will with it...  Bill.
* -------------------------------------------------------

        XDEF    _InitWarpInfo
        XDEF    _GotoXY
        XDEF    _GetXY
        XDEF    _WarpText
        XDEF    _SetupFont      ;WarpText 2.0
        XDEF    _NewWarp        ;WarpText 2.0
        XDEF    _XORCursor      ;WarpText 2.0

        XREF    InitWarpInfo
        XREF    GotoXY
        XREF    GetXY
        XREF    WarpText
        XREF    SetupFont       ;WarpText 2.0
        XREF    NewWarp         ;WarpText 2.0
        XREF    XORCursor       ;WarpText 2.0

* ----------------------------------------------------
* Call: InitWarpInfo(winfo);
*       struct WarpInfo *winfo;
* ----------------------------------------------------
_InitWarpInfo:
        move.l  4(a7),a0                ; get pointer to WarpInfo
        jsr     InitWarpInfo
        rts

* ----------------------------------------------------
* Call: GotoXY(winfo, x, y);
*       struct WarpInfo *winfo;
*       UWORD x, y;
* ----------------------------------------------------
_GotoXY:
        move.l  04(a7),a0               ; get pointer to WarpInfo
        move.l  08(a7),d0               ; get new X position
        move.l  12(a7),d1               ; get new Y position
        jsr GotoXY
        rts

* ----------------------------------------------------
* Call: GetXY(winfo, &x, &y);
*       struct WarpInfo *winfo;
*       UWORD x, y;
* ----------------------------------------------------
_GetXY:
        move.l  04(a7),a0               ; get pointer to WarpInfo
        jsr     GetXY
        move.l  08(a7),a0               ; get address of x variable
        move.w  d0,(a0)                 ; store x coordinate
        move.l  12(a7),a0               ; get address of y variable
        move.w  d1,(a0)                 ; store y coordinate
        rts

* ----------------------------------------------------
* Call: WarpText(winfo, text, len);
*       struct WarpInfo *winfo;
*       char *text;     /* pointer to string */
*       ULONG len;      /* length of string */
* ----------------------------------------------------
_WarpText:
        move.l  04(a7),a0
        move.l  08(a7),a1
        move.l  12(a7),d0
        jsr     WarpText
        rts

* ------------------------------------------------------
* Call: SetupFont(nwinfo, tf);                    WT 2.0
*       struct NewWarpInfo *nwinfo;               billk
*       struct TextFont *tf;  /* pointer to open font */
* ------------------------------------------------------
_SetupFont:
        jmp     SetupFont
        rts

* ------------------------------------------------------
* Call: NewWarp(nwinfo, text, len);               WT 2.0
*       struct NewWarpInfo *nwinfo;               billk
*       char *text;     /* pointer to string */
*       ULONG len;      /* length of string */
* ------------------------------------------------------
_NewWarp:
        jmp     NewWarp
        rts

* ------------------------------------------------------
* Call: XORCursor(nwinfo, text, len);             WT 2.0
*       struct NewWarpInfo *nwinfo;               billk
* ------------------------------------------------------
_XORCursor:
        jmp     XORCursor
        rts

        END

* ------------------ *
* End of "WarpC.asm" *
* ------------------ *
