home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 4383 / sticks.c < prev    next >
Text File  |  1994-01-01  |  1KB  |  70 lines

  1. /*
  2.     VGAKIT Version 6.0
  3.  
  4.     Copyright 1988,89,90,91,92,93,94 John Bridges
  5.     Free for use in commercial, shareware or freeware applications
  6.  
  7.     STICKS.C
  8. */
  9.  
  10.  
  11. extern int maxx,maxy;
  12.  
  13. extern void bline(int x1,int y1,int x2,int y2,int color,void (*func)());
  14. extern void xpoint(),xpoint13x();
  15.  
  16. #define KBHEAD (*(unsigned int far *)0x0040001al)
  17. #define KBTAIL (*(unsigned int far *)0x0040001cl)
  18.  
  19. main(argc,argv)
  20. int argc;
  21. char **argv;
  22. {
  23.     unsigned char palbuf[256][3];
  24.     int svga;
  25.     unsigned int color;
  26.     unsigned int x,y,mx;
  27.     void (*func)();
  28.  
  29.     for(x=0;x<256;x++)
  30.     {
  31.         y=x&63;
  32.         if(x&64) y=63-y;
  33.         palbuf[x][0]=y;
  34.         palbuf[x][1]=y*y/63;
  35.         y=(x>>1)&63;
  36.         if(x&128) y=63-y;
  37.         palbuf[x][2]=y;
  38.     }
  39.     svga=whichvga();    
  40.     if(svga)
  41.     {
  42.         svga640();
  43.         func=xpoint;
  44.     }
  45.     else
  46.     {
  47.         mode13x();
  48.         func=xpoint13x;
  49.     }
  50.     setmany(palbuf,0,256);
  51.     if(maxx>maxy)
  52.         mx=maxx;
  53.     else
  54.         mx=maxy;
  55.  
  56.     for(x=0;x<mx;x++)
  57.     {
  58.         for(y=0;y<mx;y++)
  59.         {
  60.             bline(x,y,y,x,y&0xff,func);
  61.             if(KBHEAD!=KBTAIL)
  62.                 goto done;    
  63.         }
  64.     }
  65. done:    getch();
  66.     txtmode();
  67. }
  68.  
  69.  
  70.