//accdis.hpp Copyright (C) 1990-91 I.Pedley (CTPP) Mon 24-Feb-1992 at 21:59:17 //prototypes for ACCDIS TSR links //accdis.h Copyright (C) 1989-96 I.Pedley (CTPP) Thu 24-Apr-1997 at 01:21:05 //newOS //basic accept and display prototypes using default screen SL accept (CH* format,...); SL display(CH* format,...); //basic display to memory buffer SL catprint(CH* buf,CH* format,...); //new display routine using no heap memory allocation SL catdisp(UL row,UL col,CH* format,...); //display to memory buffer with attribute bytes (virtual text screen) SL vdisplayat(CH* buf,UL row,UL col,CH* format,...); //output to ChaOS command-line display SL clidisplay(CH* format,...); SL errdisplay(CH* format,...); SL clitype (CH* str); EX SL clicur; EX SL clistartline; EX SL cliendline; VD cliupline (VD); VD clidownline(VD); VD cliscroll (VD); VD clirevscroll(VD); VD clidisplayhex(VD* buf,UL offset,UL len); VD cliadvance(VD); //prototypes, typedefs and structures for vaccept sub-layer typedef VD (* KEYCALLBACK) (UL key,UL row,UL col,VD* userptr); struct ACCDIS { VD* usr; //placeholder for graphics adapter structure VD (*idle)(VD); VD (*setfgd) (VD*,UL); VD (*setbgd) (VD*,UL); VD (*setcurpos)(VD*,UL,UL); VD (*clrcurpos)(VD*,UL,UL); VD (*setcursiz)(VD*,UL); VD (*putc) (VD*,CH,UL,UL); VD (*putstr) (VD*,CH*,UL,UL); VD (*putstrn) (VD*,CH*,UL,UL,UL); VD (*scroll) (VD*); SL (*getkey1) (VD); VD (*callback)(UL,UL,UL,VD*); VD (*switchframe)(VD*); VD* callbackuserptr; CH* mem; UI fgd; UI bgd; UI row; UI col; UI cpl; //cols per line UI bpc; //bytes per character in memory map UI rows; UI insert; UC* tvmem; //text buffer }; SL vaccept(ACCDIS* A,SL row,SL col,CH* format,SL disp,CH* args[]); //generic function sets supporting accept/display on CGA & MDA VD mdafgd (VD* usr,UL colour); VD mdabgd (VD* usr,UL colour); VD mdasetcurpos(VD* usr,UL row,UL col); VD mdagetcurpos(UL* row,UL* col); VD mdasetcursiz(VD* usr,UL val); VD mdaputc (VD* usr,CH c,UL row,UL col); VD mdaprint (VD* usr,CH* str,UL row,UL col); VD mdaprin (VD* usr,CH* str,UL row,UL col,UL len); VD mdascroll (VD* usr); //generic function sets supporting display to memory buffer VD memfgd (VD* usr,UL val); VD membgd (VD* usr,UL val); VD memsetcurpos(VD* usr,UL row,UL col); VD memsetcursiz(VD* usr,UL val); VD memprint (VD* usr,CH* str,UL row,UL col); VD memprin (VD* usr,CH* str,UL row,UL col,UL len); VD memputc (VD* usr,CH c,UL row,UL col); VD memscroll (VD* usr); //generic function sets supporting display to virtual display memory buffer VD vmemfgd (VD* usr,UL val); VD vmembgd (VD* usr,UL val); VD vmemsetcurpos(VD* usr,UL row,UL col); VD vmemsetcursiz(VD* usr,UL val); VD vmemprint (VD* usr,CH* str,UL row,UL col); VD vmemprin (VD* usr,CH* str,UL row,UL col,UL len); VD vmemputc (VD* usr,CH c,UL row,UL col); VD vmemscroll (VD* usr); EX ACCDIS* AA; EX ACCDIS mem,vmem,cga,mda,avesa; // SL mdaset(UL mode); VD mdaclear(VD); VD mdaclear(UL rows); VD mdacurb(UL row,UL col); VD mdasave (CH* dst,UL row,UL col,UL n); VD mdarestore (CH* src,UL row,UL col,UL n); VD mdaread (CH* dst,UL row,UL col,UL n); VD accdis_setkeycallback(KEYCALLBACK callbackfunc,VD* ptr); VD displaylist(CH* str,UL recsize,UL displen,UL items,UL row,UL col,UL offset); SL selectlist (CH* str,UL recsize,UL displen,UL items,UL row,UL col,UL visibles,UL scroll); VD displaylistitem(CH* data,UL len,UL row,UL col); SL acceptitem(CH* data,UL len,UL row,UL col); SL displayat(UL row,UL col,CH* format,...); SL acceptat(UL row,UL col,CH* format,...); VD clearrow(UL row,CH* format,UL len); //UL getkey(UL* key,CH* c,UL row,UL col); VD highlightlistitem (UL index,CH* str,UL recsize,UL len,UL row,UL col); VD unhighlightlistitem(UL index,CH* str,UL recsize,UL len,UL row,UL col); //new generic ACCDIS support typedef VD (*VOIDFUNC)(VD); VD AccdisSetIdleFunction(VOIDFUNC idlefunc); //13.12.09 CGA/VESA dual mode support SL dcat(UL row,UL col,CH* format,...); VD dvblit(VD);