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

  1. #include    <stdio.h>
  2. #include    <dos.h>
  3.  
  4. struct CIRCLESECTOR {
  5.     unsigned    type;
  6.     int            cx,cy,stx,sty,edx,edy,r;
  7.     unsigned char    sctmode,reserve;
  8. };
  9.  
  10. extern    unsigned    char    gds_fshift;
  11. extern    unsigned    gds_wrkoff;
  12. extern    unsigned    gds_wrkseg;
  13.  
  14. int    g_circle_sector(int centerx,int centery,int startx,int starty,
  15.         int endx,int endy,int r)
  16. {
  17.     union REGS    reg;
  18.     struct SREGS    seg;
  19.     struct {
  20.         unsigned    len;
  21.         struct CIRCLESECTOR    sector;
  22.     }    gdata;
  23.  
  24.     segread(&seg);
  25.     reg.h.ah=gds_fshift+0x0f;
  26.     reg.x.di=(unsigned)&gdata;
  27.     seg.ds=seg.ss;
  28.     gdata.len=18;
  29.     gdata.sector.type=0x4210;
  30.     gdata.sector.cx=centerx;
  31.     gdata.sector.cy=centery;
  32.     gdata.sector.stx=startx;
  33.     gdata.sector.sty=starty;
  34.     gdata.sector.edx=endx;
  35.     gdata.sector.edy=endy;
  36.     gdata.sector.r=r;
  37.     gdata.sector.sctmode=0;
  38.     gdata.sector.reserve=0;
  39.     reg.x.bx=gds_wrkoff;
  40.     seg.es=gds_wrkseg;
  41.     int86x(0x92,®,®,&seg);
  42.     return (int)reg.h.ah;
  43. }
  44.