www.pudn.com > jpeg1.zip > PUBLIC.H


/* HEAD File for JPEG System */ 
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include "mouse.h" 
 
/* 常量定义 */ 
#define		FALSE 	  0 
#define 	TRUE	  1 
#define		EMM	  0x67 
#define 	COLOR_NUM 240 
#define 	DAC_BEGIN 1 
#define 	LM 	  32 
#define  	SIZE 	(unsigned int )(32*1024) 
#define  	DIM5EX 	800 
#define  	DIM5DX 	640 
#define  	DIM62X 	1024 
#define  	DIM5EY 	600 
#define  	DIM5DY 	480 
#define  	DIM62Y 	768 
#define	 	DIMX	DIM5EX 
#define		DIMY	DIM5EY 
#define 	MAXX	570 
#define 	MAXY    485 
 
/* BMP文件头定义 */ 
static struct   BMPHEAD	{ 
		unsigned int   Type; 
		unsigned long  bfsize; 
		unsigned int   Reserve1; 
		unsigned int   Reserve2; 
		unsigned long  Offset; 
		}bmphead={0x4d42,1078,0,0,1078}; 
 
static struct	BMPINFO { 
		unsigned long  Size; 
		unsigned long  Width; 
		unsigned long  Heigth; 
		unsigned int   Planes; 
		unsigned int   Bitcount; 
		unsigned long  Compression; 
		unsigned long  SizeImage; 
		unsigned long  XpelsPerMeter; 
		unsigned long  YpelsPerMeter; 
		unsigned long  ClrUsed; 
		unsigned long  ClrImportant; 
		}bmpinfo={40,0,0,1,8,0,0,0,0,256,0}; 
 
typedef struct { unsigned  char		B; 
		 unsigned  char 	G; 
		 unsigned  char 	R; 
		 unsigned  char 	Reserved; 
		} BITCOLOR; 
 
/* 定义PCX文件头 */ 
static  struct { char 	manufacturer; 
		 char 	version; 
		 char 	encording; 
		 char 	bits_per_pixel; 
		 int 	xmin,ymin; 
		 int 	xmax,ymax; 
		 int 	hres; 
		 int 	vres; 
		 char 	palette[48]; 
		 char 	reserved; 
		 char 	colour_planes; 
		 char 	byte_per_line; 
		 int 	palette_type; 
		 char 	filler[58]; 
		} pcxhead; 
 
 
/* 主菜单按键位置 */ 
int box_box[7][4]={{ 21, 76,172,118 },{ 21,145,172,187 }, 
		   { 21,214,172,256 },{ 21,283,172,325 }, 
		   { 21,352,172,394 },{ 21,421,172,463 }, 
		   { 21,490,172,532 }}; 
 
/* 格式管理器菜单按键位置 */ 
int SUB_box[4][4]={{ 208, 99,343,131 },{ 357, 99,492,131 }, 
		   { 506, 99,641,131 },{ 655, 99,790,131  }}; 
int SUB_B_box[4][4]={{ 205, 96,346,134 },{ 354, 96,495,134 }, 
		     { 503, 96,644,134 },{ 652, 96,7937,134 }}; 
int	SUB_BOX[4]={ OFF,OFF,OFF,OFF }; 
int	BOX[7]={ OFF,OFF,OFF,OFF,OFF,OFF,OFF }; 
int  	Bar[4][2]={{205,540},{761,540},{778,53},{778,524}}; 
 
/* 全局变量定义 */ 
static 	char 	*s,cmd[20]; 
int     level=0,prev=0,cur,P_y,DriverNum,Width,Height; 
unsigned int     Block,BitMap; 
char    filenamein[MAXPATH],filenameout[MAXPATH]; 
char    drive[3],dir[MAXDIR],name[9],ext[4]; 
char    fr[80],fg[80],fb[80],fy[80],fcr[80],fcb[80],fc[80]; 
char 	fout[13],fpal[13]; 
extern  unsigned char 	FPU; 
static  unsigned char	OldMode; 
unsigned 		char    far *pCr,far *pCb,far *pY,far *pc; 
unsigned 		char 	far *pR,far *pG,far *pB,far *pY,*palette; 
struct 			ffblk f_blk; 
unsigned 		char far *buf[LM][LM],far *coll[3]; 
int 	PAGE_NUM=4,COLOR_CUT=7,PAGE_LINE=0x40; 
char 	far 	*EMMbase; 
FILE  	*ovlp; 
union 	REGS 	in,out; 
struct	SREGS 	sreg; 
 
/*  函数原型 */ 
void 		interrupt 	(*old_int_9)(); 
void 		interrupt 	(*old_int_24)(); 
int ColorSelect(char *name,int W,int H,char flags); 
int    Error_24(); 
extern int ChkTVGA();	/* TVGA 卡检测*/ 
extern char 	*Search(int envseg); 
extern void 	interrupt New_24(); 
extern unsigned int Compress(unsigned int Source,unsigned int Dest, 
		 int width,int height);	/* 灰度图象编码 */ 
extern unsigned long Decompress(unsigned int Source,int unsigned Dest);	/* 灰度图象解码 */ 
extern unsigned int CCompress(unsigned int Source,unsigned int Dest, 
		 int width,int height);	/* 彩色图象编码 */ 
extern unsigned long CDecompress(unsigned int Source,int unsigned Dest);  	/* 彩色图象解码 */