;----------------------------------------------------------- ; ; Xetrion Source Code ; ; (c) NeXO Software, Benoit SCHERRER ; e-mail : p.c.scherrer@wanadoo.fr ; ; ; File> gfx.xas ; Utility> Definition of GFXs ; ;----------------------------------------------------------- ;------------------------------------------------- ;ST_Message ;input> a2.l : addr of msg ;------------------------------------------------- ST_Message: movem.l d0-d2/a0-a1,-(a7) move.l a2,-(a7) ;#ifdef TIPLUS TIOS_CALL ST_helpMsg ;else it crash ;#else TIOS_CALL ST_showHelp ;#endif addq.l #4,a7 ;#ifdef TIPLUS ;#else bclr.b #7,tios::ST_flags+2 ;#endif move.w #$00,-(a7) TIOS_CALL ST_busy addq.l #2,a7 movem.l (a7)+,d0-d2/a0-a1 rts ;--------------------------------------------------- ;Clear the status bar ;--------------------------------------------------- ClearBar: ClearStatusBar: movem.l d0-d1/a0,-(a7) ;#ifdef TI89 move.l #LCD_MEM+94*30,a0 ;#else move.l #LCD_MEM+3660,a0 ;#endif moveq.w #44,d0 ;(6*30)/4 -1 laps \clr clr.l (a0)+ dbra.s d0,\clr movem.l (a7)+,d0-d1/a0 rts ;------------------------------------------------- ; Redraw all the interface ;------------------------------------------------- RedrawInterface: movem.l d0-d4/a0-a2,-(a7) INTERRUPT_OFF move.l #LCD_MEM,a0 move.w #225,d0 \clr clr.l (a0)+ dbra.s d0,\clr lea ieInterface(PC),a0 jsr apilib::InterfaceEngine moveq.w #ANGLE1_GFX,d2 clr.w d0 clr.w d1 bsr PutImg moveq.w #ANGLE2_GFX,d2 moveq.w #(WLCD/8)-1,d0 bsr PutImg bsr StyleInterface ;draw interface of current style bsr Refresh_UpBar ;refresh UpBar INTERRUPT_ON movem.l (a7)+,d0-d4/a0-a2 rts ;------------------------------------------------- ; Redraw the screen ;------------------------------------------------- RedrawScreen: movem.l d0-d5/a0-a2,-(a7) bsr.s RedrawInterface bsr RedrawListArea movem.l (a7)+,d0-d5/a0-a2 rts ;------------------------------------------------- ; Redraw the list, without re-creating it ;------------------------------------------------- RedrawList_WML: bsr GetListBufAddr move.l a0,a2 bra _Rd_WML ;---------------------------------------------------- ; Print the char d2 ; at x=d0 and y=d1 ;---------------------------------------------------- printchar: jmp apilib::draw_CharSpecial ;----------------------------------------------------- ; printf ; input : a0 : adress of data & string ; format : x,y,text ;----------------------------------------------------- printf: jmp apilib::draw_sString ;--------------------------------------------------- ;input> a0.l : address of struct ;--------------------------------------------------- printlist: clr.w d3 move.b (a0)+,d3 clr.w d0 \Print move.b (a0)+,d0 ; bsr.s printf adda.w d0,a0 dbra.s d3,\Print rts ;------------------------------------------------- ;Set the d1 Font ;------------------------------------------------ FontSet: movem.l d0-d2/a0-a2,-(a7) move.w d1,-(a7) TIOS_CALL FontSetSys addq.l #2,a7 movem.l (a7)+,d0-d2/a0-a2 rts ;----------------------------------------------- ;The most PCT prints must use this function ; ;input> d0.w : X ; d1.w : Y ; a1.l : addr of text ;----------------------------------------------- PrintSp: jmp apilib::draw_StringSpecial ;---------------------------------------------------- ; inverse ; Input : d0.w : X (0