home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 2
/
FreeSoftwareCollection2pd199x-jp.img
/
ms_dos
/
fmgraph
/
g_hachpt.c
< prev
next >
Wrap
Text File
|
1990-06-14
|
985b
|
48 lines
#include <stdio.h>
#include <dos.h>
struct HATCHPATTERN {
unsigned type,escno,escln;
char id,reserve;
unsigned hrzsize,vrtsize;
unsigned char ptndata[20];
};
extern unsigned char gds_fshift;
extern unsigned gds_wrkoff;
extern unsigned gds_wrkseg;
int g_hatchpattern(char formid,unsigned height,unsigned char *pattern)
{
union REGS reg;
struct SREGS seg;
struct {
unsigned len;
struct HATCHPATTERN hptn;
} gdata;
int i;
if((height==0)||(height>20))
return -1;
segread(&seg);
reg.h.ah=gds_fshift+0x0f;
reg.x.di=(unsigned)&gdata;
seg.ds=seg.ss;
gdata.len=12+height;
gdata.hptn.type=0x602a+height;
gdata.hptn.escno=3;
gdata.hptn.escln=6+height;
gdata.hptn.id=formid;
gdata.hptn.reserve=0;
gdata.hptn.hrzsize=8;
gdata.hptn.vrtsize=height;
for(i=0;i<height;i++){
gdata.hptn.ptndata[i]=*pattern;
pattern++;
}
reg.x.bx=gds_wrkoff;
seg.es=gds_wrkseg;
int86x(0x92,®,®,&seg);
return (int)reg.h.ah;
}