📄 svgadem1.c
字号:
setview(0,0,maxx,maxy);
ret = getkey();
return(ret);
}
/*********
* DOPAL *
*********/
char dopal(void)
{
int x1, x2, y1, y2;
int i, colr;
char ret;
char title[TITLEN];
char buf[TITLEN];
/*
* Set up the Title
*/
sprintf(title,"DEMO 4: Palette functions");
palset(orgpal,0,255);
/*
* Show palette set/get
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"palget(pal,beg,end),palset(pal,beg,end)");
drwstring(1,7,0,buf,10,16);
colr = 16;
x1 = 10;
x2 = maxx - 9;
y1 = 35;
y2 = maxy - 9;
i = 0;
while (y1+i < y2-i) {
drwbox(1,colr++,x1+i,y1+i,x2-i,y2-i);
if (colr>255)
colr = 16;
i++;
}
ret = getkey();
if ((ret == 's') || (ret == 'q')) {
fillscreen(0);
setview(0,0,maxx,maxy);
return(ret);
}
palset(pal,16,255);
ret = getkey();
if ((ret == 's') || (ret == 'q')) {
setview(0,0,maxx,maxy);
fillscreen(0);
return(ret);
}
/*
* Show palette auto fade out/in
*/
setview(0,16,maxx,32);
fillview(0);
sprintf(buf,"palioauto(pal,beg,end,speed);");
drwstring(1,7,0,buf,10,16);
palioauto(pal,16,255,-2);
palioauto(pal,16,255,2);
ret = getkey();
if ((ret == 's') || (ret == 'q')) {
setview(0,0,maxx,maxy);
return(ret);
}
/*
* Show palette auto fade to
*/
setview(0,16,maxx,32);
fillview(0);
sprintf(buf,"palchgauto(pal,newpal,beg,end,speed);");
drwstring(1,7,0,buf,10,16);
palchgauto(pal,pal2,16,255,2);
palchgauto(pal2,pal,16,255,2);
ret = getkey();
if ((ret == 's') || (ret == 'q')) {
setview(0,0,maxx,maxy);
return(ret);
}
/*
* Show palette rotate
*/
setview(0,16,maxx,32);
fillview(0);
sprintf(buf,"palrotate(pal,beg,end,shift);");
drwstring(1,7,0,buf,10,16);
for(i=0;i<=240;i++) {
palrotate(pal,16,255,2);
palget(pal,16,255);
}
for(i=0;i<=120;i++) {
palrotate(pal,16,255,-8);
palget(pal,16,255);
}
ret = getkey();
if ((ret == 's') || (ret == 'q'))
setview(0,0,maxx,maxy);
return(ret);
}
/***********
* DOPRIMS *
***********/
char doprims(void)
{
int x1, x2, y1, y2;
int maxrad, radx, rady;
int i, colr, num;
char ret;
char title[TITLEN];
char buf[TITLEN];
/*
* Set up the Title
*/
sprintf(title,"DEMO 1: Primitives");
palset(orgpal,0,255);
/*
* Draw some points
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwpoint(mode,color,x,y);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 1;
num = maxx * 2;
for(i=0;i<num;i++) {
x1 = randnum(maxx);
y1 = randnum(maxy);
drwpoint(1,colr++,x1,y1);
if (colr>15)
colr = 1;
}
setview(0,0,maxx,maxy);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Draw some lines
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwline(mode,color,x1,y1,x2,y2);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 1;
num = maxx / 6;
for(i=0;i<num;i++) {
x1 = randnum(maxx);
y1 = randnum(maxy);
x2 = randnum(maxx);
y2 = randnum(maxy);
drwline(1,colr++,x1,y1,x2,y2);
if (colr>15)
colr = 1;
}
setview(0,0,maxx,maxy);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Draw some boxes
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwbox(mode,color,x1,y1,x2,y2);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 1;
num = maxx / 10;
for(i=0;i<num;i++) {
x1 = randnum(maxx);
y1 = randnum(maxy);
x2 = randnum(maxx);
y2 = randnum(maxy);
drwbox(1,colr++,x1,y1,x2,y2);
if (colr>15)
colr = 1;
}
setview(0,0,maxx,maxy);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Draw some circles
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwcircle(mode,color,cx,cy,radius);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 1;
num = maxx / 20;
maxrad = maxx / 2;
for(i=0;i<num;i++) {
x1 = randnum(maxx);
y1 = randnum(maxy);
radx = randnum(maxrad);
drwcircle(1,colr++,x1,y1,radx);
if (colr>15)
colr = 1;
}
setview(0,0,maxx,maxy);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Draw some ellipses
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwellipse(mode,color,cx,cy,radiusx,radiusy);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 1;
num = maxx / 20;
maxrad = maxx / 2;
for(i=0;i<num;i++) {
x1 = randnum(maxx);
y1 = randnum(maxy);
radx = randnum(maxrad);
rady = randnum(maxrad);
drwellipse(1,colr++,x1,y1,radx,rady);
if (colr>15)
colr = 1;
}
setview(0,0,maxx,maxy);
ret = getkey();
return(ret);
}
/************
* DOSCROLL *
************/
char doscroll(void)
{
int i, colr, num, totnum;
int a, b, c, d;
int x1, x2, y1, y2;
int spcing, skip;
char ret;
char title[TITLEN];
char buf[TITLEN];
char buf2[TITLEN];
/*
* Set up the Title
*/
sprintf(title,"DEMO 7: Scroll functions");
palset(pal,0,255);
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
spcing = (maxy - 32) / 5;
skip = (int)(((float)maxx + 1.) / 320. + .9) * 2 - 1;
num = spcing / 2 / skip;
if (spcing / 2 != (float)spcing / 2.)
spcing++;
x1 = (maxx + 1) / 2 - spcing;
y1 = (maxy + 1 - 32) / 2 + 32 - spcing;
x2 = (maxx + 1) / 2 + spcing;
y2 = (maxy + 1 - 32) / 2 + 32 + spcing;
drwbox(1,12,x1++,y1++,x2--,y2--);
colr = 16;
sprintf(buf2,"TEXT text TEXT");
/*
* Show scrollup
*/
setview(0,16,maxx,maxy);
sprintf(buf,"scrollup(x1,y1,x2,y2,numlines,fillcolor);");
drwstring(1,7,0,buf,10,16);
setview(x1,y1,x2,y2);
fillview(0);
totnum = maxx / 10;
for(i=0;i<totnum;i++) {
a = randnum(maxx);
b = randnum(maxy);
c = randnum(maxx);
d = randnum(maxy);
drwline(1,colr,a,b,c,d);
colr += 3;
if (colr > 255)
colr = 16;
}
drwstring(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringlt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringrt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringdn(1,7,0,buf2,x1+spcing,y1+spcing);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
for(i=0;i<num;i++)
scrollup(x1,y1,x2,y2,skip,0);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Show scrolllt
*/
setview(0,16,maxx,maxy);
sprintf(buf,"scrolllt(x1,y1,x2,y2,numlines,fillcolor);");
drwstring(1,7,0,buf,10,16);
setview(x1,y1,x2,y2);
fillview(0);
totnum = maxx / 10;
for(i=0;i<totnum;i++) {
a = randnum(maxx);
b = randnum(maxy);
c = randnum(maxx);
d = randnum(maxy);
drwline(1,colr,a,b,c,d);
colr += 3;
if (colr > 255)
colr = 16;
}
drwstring(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringlt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringrt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringdn(1,7,0,buf2,x1+spcing,y1+spcing);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
for(i=0;i<num;i++)
scrolllt(x1,y1,x2,y2,skip,0);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Show scrolldn
*/
setview(0,16,maxx,maxy);
sprintf(buf,"scrolldn(x1,y1,x2,y2,numlines,fillcolor);");
drwstring(1,7,0,buf,10,16);
setview(x1,y1,x2,y2);
fillview(0);
totnum = maxx / 10;
for(i=0;i<totnum;i++) {
a = randnum(maxx);
b = randnum(maxy);
c = randnum(maxx);
d = randnum(maxy);
drwline(1,colr,a,b,c,d);
colr += 3;
if (colr > 255)
colr = 16;
}
drwstring(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringlt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringrt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringdn(1,7,0,buf2,x1+spcing,y1+spcing);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
for(i=0;i<num;i++)
scrolldn(x1,y1,x2,y2,skip,0);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
/*
* Show scrollrt
*/
setview(0,16,maxx,maxy);
sprintf(buf,"scrollrt(x1,y1,x2,y2,numlines,fillcolor);");
drwstring(1,7,0,buf,10,16);
setview(x1,y1,x2,y2);
fillview(0);
totnum = maxx / 10;
for(i=0;i<totnum;i++) {
a = randnum(maxx);
b = randnum(maxy);
c = randnum(maxx);
d = randnum(maxy);
drwline(1,colr,a,b,c,d);
colr += 3;
if (colr > 255)
colr = 16;
}
drwstring(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringlt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringrt(1,7,0,buf2,x1+spcing,y1+spcing);
drwstringdn(1,7,0,buf2,x1+spcing,y1+spcing);
ret = getkey();
if ((ret=='s') || (ret=='q'))
return(ret);
for(i=0;i<num;i++)
scrollrt(x1,y1,x2,y2,skip,0);
ret = getkey();
return(ret);
}
/**********
* DOTEXT *
**********/
char dotext(void)
{
int i, colr;
char ret;
char title[TITLEN];
char buf[TITLEN];
char buf2[TITLEN];
/*
* Set up the Title
*/
sprintf(title,"DEMO 6: Text functions");
palset(pal,0,255);
/*
* Show alternate print directions
*/
fillscreen(0);
setview(0,0,maxx,maxy);
drwstring(1,7,0,title,10,0);
sprintf(buf,"drwstring(mode,foregnd,bkgnd,string,x,y);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
sprintf(buf2,"The Quick Brown Fox Jumped Over The Lazy Dog's Back! 0123456789");
colr = 16;
for(i=32;i<=maxy;i+=20) {
drwstring(1,colr,0,buf2,0,i);
colr+=5;
if (colr>255)
colr = 16;
}
ret = getkey();
if ((ret=='s') || (ret=='q')) {
setview(0,0,maxx,maxy);
fillscreen(0);
return(ret);
}
fillview(0);
setview(0,16,maxx,32);
sprintf(buf,"drwstringlt(mode,foregnd,bkgnd,string,x,y);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 16;
for(i=0;i<=maxx;i+=20) {
drwstringlt(1,colr,0,buf2,i,maxy);
colr+=5;
if (colr>255)
colr = 16;
}
ret = getkey();
if ((ret=='s') || (ret=='q')) {
setview(0,0,maxx,maxy);
fillscreen(0);
return(ret);
}
fillview(0);
setview(0,16,maxx,32);
sprintf(buf,"drwstringdn(mode,foregnd,bkgnd,string,x,y);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 16;
for(i=maxy;i>=32;i-=20) {
drwstringdn(1,colr,0,buf2,maxx,i);
colr+=5;
if (colr>255)
colr = 16;
}
ret = getkey();
if ((ret=='s') || (ret=='q')) {
setview(0,0,maxx,maxy);
fillscreen(0);
return(ret);
}
fillview(0);
setview(0,16,maxx,32);
sprintf(buf,"drwstringrt(mode,foregnd,bkgnd,string,x,y);");
drwstring(1,7,0,buf,10,16);
setview(0,32,maxx,maxy);
colr = 16;
for(i=maxx;i>=0;i-=20) {
drwstringrt(1,colr,0,buf2,i,32);
colr+=5;
if (colr>255)
colr = 16;
}
ret = getkey();
setview(0,0,maxx,maxy);
fillscreen(0);
return(ret);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -