home *** CD-ROM | disk | FTP | other *** search
/ FreeWare Collection 2 / FreeSoftwareCollection2pd199x-jp.img / ms_dos / fmgraph / g_clget.c < prev    next >
Text File  |  1990-06-14  |  883b  |  42 lines

  1. #include    <stdio.h>
  2. #include    <dos.h>
  3.  
  4. struct    BITRECT {
  5.     unsigned char far    *buff;
  6.     unsigned char        pagenumber,clcnt;
  7.     int            x1,y1,x2,y2;
  8.     unsigned    colorid[16];
  9. };
  10.  
  11. extern    unsigned    char    gds_fshift;
  12. extern    unsigned    gds_wrkoff;
  13. extern    unsigned    gds_wrkseg;
  14.  
  15. int    g_colorget(unsigned char far *readbuff,unsigned char readpage,
  16.     int startx,int starty,int endx,int endy,unsigned count,unsigned *list)
  17. {
  18.     union REGS    reg;
  19.     struct SREGS    seg;
  20.     struct BITRECT    rimg;
  21.     int    i;
  22.  
  23.     if((count==0)||(count>16))
  24.         return -1;
  25.     segread(&seg);
  26.     reg.h.ah=gds_fshift+0x0d;
  27.     reg.x.di=(unsigned)&rimg;
  28.     seg.ds=seg.ss;
  29.     rimg.buff=readbuff;
  30.     rimg.pagenumber=readpage;
  31.     rimg.clcnt=count;
  32.     rimg.x1=startx;
  33.     rimg.y1=starty;
  34.     rimg.x2=endx;
  35.     rimg.y2=endy;
  36.     for(i=0;i<count;i++)
  37.         rimg.colorid[i]= *list++;
  38.     reg.x.bx=gds_wrkoff;
  39.     seg.es=gds_wrkseg;
  40.     int86x(0x92,®,®,&seg);
  41. }
  42.