home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ENTERPRS
/
CPM
/
UTILS
/
S
/
SGTOOL11.ARC
/
SCROLL.C
< prev
next >
Wrap
C/C++ Source or Header
|
1993-07-25
|
2KB
|
75 lines
/*
SG C Tools 1.1
(C) 1993 Steve Goldsmith
All Rights Reserved
Example scrolling regions of the screen.
Compiled with HI-TECH C 3.09 (CP/M-80).
To compile with HI-TECH C and SG C Tools source on same disk use:
C SCROLL.C -LC128
*/
#include <stdlib.h>
#include <hitech.h>
#include <conio.h>
#include <vdc.h>
#define appClrScrCh 32
void scrolltext(void);
extern uchar vdcScrHorz;
extern uchar vdcScrVert;
char appScrlStr1[] = {
"This is a string used to test scrolling VDC display memory."
};
char appScrlStr2[] = {
"You can scroll any region of the screen too!"
};
main()
{
srand(99);
savevdc(); /* save vdc regs and set global vars */
clrscrvdc(137); /* clear screen */
clrattrvdc(vdcAltChrSet); /* clear attributes */
setcursorvdc(0,0,vdcCurNone); /* turn cursor off */
outvdc(vdcFgBgColor,vdcDarkGreen); /* set new screen color */
printstrvdc(0,0,vdcAltChrSet,
"VDC scrolling example. Press [RETURN] to start.");
while (getch() != 0x0D); /* wait for return press */
scrolltext(); /* scrolling demo */
restorevdc(); /* restore registers saved by savevdc() */
clrscrvdc(appClrScrCh);
clrattrvdc(vdcAltChrSet+vdcWhite);
}
/* scroll whole screen up and down then just a window region */
void scrolltext(void)
{
uchar I;
printstrvdc(0,vdcScrVert-1,vdcAltChrSet,appScrlStr1);
for (I = 1; I <= 23; I++)
scrollupvdc(0,1,vdcScrHorz-1,vdcScrVert-1);
for (I = 1; I <= 24; I++)
scrolldownvdc(0,0,vdcScrHorz-1,vdcScrVert-2);
printstrvdc(0,vdcScrVert-1,vdcAltChrSet,appScrlStr1);
for (I = 1; I <= 24; I++)
scrollupvdc(0,1,vdcScrHorz-1,vdcScrVert-1);
clrscrvdc(137);
clrwinvdc(17,7,60,18,appClrScrCh);
for (I = 1; I <= 100; I++)
{
scrollupvdc(17,8,60,18);
if (rand() > 16384)
printstrvdc(17,17,vdcAltChrSet+(uchar) (rand() >> 11),appScrlStr2);
}
while (getch() != 0x0D); /* wait for return press */
}