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

  1. #include    <stdio.h>
  2. #include    <dos.h>
  3.  
  4. struct OVAL {
  5.     unsigned    type;
  6.     int        cx,cy,dx,nul1,nul2,dy;
  7. };
  8.  
  9. extern    unsigned    char    gds_fshift;
  10. extern    unsigned    gds_wrkoff;
  11. extern    unsigned    gds_wrkseg;
  12.  
  13. int    g_oval(int x,int y,int rx,int ry)
  14. {
  15.     union REGS    reg;
  16.     struct SREGS    seg;
  17.     struct {
  18.         unsigned    len;
  19.         struct OVAL    ovl;
  20.     }    gdata;
  21.  
  22.     segread(&seg);
  23.     reg.h.ah=gds_fshift+0x0f;
  24.     reg.x.di=(unsigned)&gdata;
  25.     seg.ds=seg.ss;
  26.     gdata.len=14;
  27.     gdata.ovl.type=0x422c;
  28.     gdata.ovl.cx=x;
  29.     gdata.ovl.cy=y;
  30.     gdata.ovl.dx=rx;
  31.     gdata.ovl.nul1=0;
  32.     gdata.ovl.nul2=0;
  33.     gdata.ovl.dy=ry;
  34.     reg.x.bx=gds_wrkoff;
  35.     seg.es=gds_wrkseg;
  36.     int86x(0x92,®,®,&seg);
  37.     return (int)reg.h.ah;
  38. }
  39.