SVGACC.H
资源名称:SVGACC10.zip [点击查看]
上传用户:kammenn
上传日期:2007-06-26
资源大小:210k
文件大小:10k
源码类别:
GDI/图象编程
开发平台:
C/C++
- /* SVGACC Include File for MS C/C++/QuickC and Borland C/C++
- * Copyright 1994 by Stephen L. Balkum and Daniel A. Sill
- * Zephyr Software P.O. Box 7704, Austin, Texas 78713-7704
- */
- #ifndef SVGACC_H
- #define SVGACC_H
- typedef unsigned char byte;
- typedef struct {
- char r;
- char g;
- char b;
- } RGB;
- typedef RGB PaletteData[256];
- typedef struct {
- byte hotspotx;
- byte hotspoty;
- byte data[384];
- } MouseCursor;
- typedef struct {
- byte width;
- byte height;
- byte data[4096];
- } Font;
- typedef enum {
- NO_ACTION = 0,
- SET,
- XOR,
- OR,
- AND
- } PixelMode;
- typedef enum {
- UNKNOWN = 0,
- ACUMOS,
- ATI,
- AHEADA,
- AHEADB,
- CHIPSTECH,
- CIRRUS,
- EVEREX,
- GENOA,
- NCR,
- OAKTECH,
- PARADISE,
- REALTEK,
- TRIDENT,
- TSENG3,
- TSENG4,
- VESA,
- VIDEO7,
- AVANCE,
- MXIC,
- PRIMUS
- } VGAChipset;
- typedef struct {
- unsigned int width;
- unsigned int height;
- byte data[1];
- } RasterBlock;
- typedef struct {
- int x;
- int y;
- } D2Point;
- typedef struct {
- int x;
- int y;
- int z;
- } D3Point;
- typedef struct {
- int eyex;
- int eyey;
- int eyez;
- int scrd;
- int theta;
- int phi;
- } ProjParameters;
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Global variables */
- extern const int far maxx;
- extern const int far maxy;
- extern const int far viewx1;
- extern const int far viewy1;
- extern const int far viewx2;
- extern const int far viewy2;
- /* 'BLocK' methods to manipulate RasterBlocks on and off the screen */
- extern int far blkget (int x1, int y1, int x2, int y2, RasterBlock far *gfxblk);
- extern void far blkput (PixelMode mode, int x, int y, RasterBlock far *gfxblk);
- extern void far blkresize (unsigned newxsize, unsigned newysize, RasterBlock far *sourcegfxblk, RasterBlock far *destgfxblk);
- extern int far blkrotate (int ang, int backfill, RasterBlock far *sourcegfxblk, RasterBlock far *destgfxblk);
- extern int far blkrotatesize (int ang, RasterBlock far *sourcegfxblk);
- /* 'BYTECOPY' method for fast memory copy */
- extern void far bytecopy (void far *src, void far *dst, unsigned long numbytes);
- /* '2D' methods to transform D2Points */
- extern void far d2rotate (int points, int xorigin, int yorigin, int ang, D2Point far *inary, D2Point far *outary);
- extern void far d2scale (int points, int xscale, int yscale, D2Point far *inary, D2Point far *outary);
- extern void far d2translate (int points, int xtrans, int ytrans, D2Point far *inary, D2Point far *outary);
- /* '3D' methods to transform D3Points */
- extern int far d3project (int points, ProjParameters far *params, D3Point far *inary, D2Point far *outary);
- extern void far d3rotate (int points, int xorigin, int yorigin, int zorigin, int zrang, int yrang, int xrang, D3Point far *inary, D3Point far *outary);
- extern void far d3scale (int points, int xscale, int yscale, int zscale, D3Point far *inary, D3Point far *outary);
- extern void far d3translate (int points, int xtrans, int ytrans, int ztrans, D3Point far *inary, D3Point far *outary);
- /* 'DRaW' methods for placing text and graphics primitives on screen */
- extern void far drwbox (PixelMode mode, int colr, int x1, int y1, int x2, int y2);
- extern void far drwcircle (PixelMode mode, int colr, int centerx, int centery, int radius);
- extern void far drwellipse (PixelMode mode, int colr, int centerx, int centery, int radiusx, int radiusy);
- extern void far drwfillbox (PixelMode mode, int colr, int x1, int y1, int x2, int y2);
- extern void far drwfillcircle (PixelMode mode, int colr, int centerx, int centery, int radius);
- extern void far drwfillellipse (PixelMode mode, int colr, int centerx, int centery, int radiusx, int radiusy);
- extern void far drwline (PixelMode mode, int colr, int x1, int y1, int x2, int y2);
- extern void far drwpoint (PixelMode mode, int colr, int x, int y);
- extern void far drwstring (PixelMode mode, int fcolr, int bcolr, const char far *strng, int x, int y);
- extern void far drwstringdn (PixelMode mode, int fcolr, int bcolr, const char far *strng, int x, int y);
- extern void far drwstringlt (PixelMode mode, int fcolr, int bcolr, const char far *strng, int x, int y);
- extern void far drwstringrt (PixelMode mode, int fcolr, int bcolr, const char far *strng, int x, int y);
- /* 'FILL' methods for filling various regions on screen with a color */
- extern void far fillarea (int xseed, int yseed, int bordercolr, int fillcolr);
- extern void far fillcolor (int xseed, int yseed, int oldcolr, int newcolr);
- extern void far fillpage (int colr);
- extern void far fillscreen (int colr);
- extern void far fillview (int colr);
- /* 'FONT' methods for setting the current font */
- extern void far fontgetinfo (int far *wdth, int far *hght);
- extern void far fontset (Font far *font);
- extern void far fontsystem (void);
- /* 'GET' methods to return information held by library */
- extern void far getlaststring (RasterBlock far *strnggfxblk);
- extern long far getarccos (long cosvalue);
- extern long far getarcsin (long sinvalue);
- extern long far getarctan (long tanvalue);
- extern long far getcos (long angle);
- extern int far getpoint (int x, int y);
- extern long far getsin (long angle);
- extern long far gettan (long angle);
- /* 'GIF' methods to read / write GIF files and place images on screen */
- extern int far gifgetinfo (const char far *name, int far *gifxsize, int far *gifysize, int far *numcolors, RGB far *pal);
- extern int far gifmake (int x1, int y1, int x2, int y2, const char far *name);
- extern int far gifput (PixelMode mode, int xloc, int yloc, const char far *name);
- /* 'JOYSTICK' method to read joysticks' status */
- extern void far joystickinfo (int far *jax, int far *jay, int far *jabuts, int far *jbx, int far *jby, int far *jbbuts);
- /* 'MOUSE' methods to interact with mouse driver */
- extern void far mousebutpress (int reqbut, int far *xloc, int far *yloc, int far *num, int far *mbuts);
- extern void far mousebutrelease (int reqbut, int far *xloc, int far *yloc, int far *num, int far *mbuts);
- extern void far mousecursordefault (void);
- extern void far mousecursorset (MouseCursor far *mousecursor);
- extern void far mouseenter (void);
- extern void far mouseexit (void);
- extern void far mousehide (void);
- extern void far mouseinfo (int far *drvmajorver, int far *drvminorver, int far *mousetype, int far *irqnumber);
- extern void far mouselocset (int xloc, int yloc);
- extern void far mouserangeset (int x1, int y1, int x2, int y2);
- extern void far mouserestorestate (byte far *mousebuf);
- extern void far mousesavestate (byte far *mousebuf);
- extern void far mousesensset (int xsens, int ysens, int dblspdthresh);
- extern void far mouseshow (void);
- extern void far mousestatus (int far *x, int far *y, int far *mbuts);
- extern int far mousestoragesize (void);
- extern void far overscanset (int colr);
- /* 'PAGE' methods to control paging abilities */
- extern int far pageactive (int page);
- extern int far pagedisplay (int x, int y, int page);
- /* 'PALette' methods to manipulate and activate palettes */
- extern void far palchgauto (RGB far *pal, RGB far *newpal, int firstcolr, int lastcolr, int speed);
- extern void far palchgstep (RGB far *pal, RGB far *newpal, int firstcolr, int lastcolr, int percent);
- extern void far palcopy (RGB far *srcpal, RGB far *destpal, int firstcolr, int lastcolr);
- extern void far paldimstep (RGB far *pal, int firstcolr, int lastcolr, int percent);
- extern void far palget (RGB far *pal, int firstcolr, int lastcolr);
- extern void far palioauto (RGB far *pal, int firstcolr, int lastcolr, int speed);
- extern void far palrotate (RGB far *pal, int firstcolr, int lastcolr, int shift);
- extern void far palset (RGB far *pal, int firstcolr, int lastcolr);
- /* 'RESolution' methods to set various video modes */
- extern int far res320 (void);
- extern int far res640 (void);
- extern int far res640l (void);
- extern int far res800 (void);
- extern int far res1024 (void);
- extern int far restext (void);
- /* 'SCROLL' methods for scrolling various sections of the screen */
- extern void far scrolldn (int x1, int y1, int x2, int y2, int num, int colr);
- extern void far scrolllt (int x1, int y1, int x2, int y2, int num, int colr);
- extern void far scrollrt (int x1, int y1, int x2, int y2, int num, int colr);
- extern void far scrollup (int x1, int y1, int x2, int y2, int num, int colr);
- /* 'Sync' DELAY method */
- extern void far sdelay (int count);
- /* 'SET' methods to adjust library internal variables */
- extern void far setcard (VGAChipset chip, int mem);
- extern void far setview (int x1, int y1, int x2, int y2);
- /* 'SPRITE' methods for manipulating sprites on and off screen */
- extern int far spritecolldetect (int transcolr, int x1, int y1, int x2, int y2, RasterBlock far *sprite1, RasterBlock far *sprite2);
- extern void far spritegap (int transcolr, int x, int y, RasterBlock far *sprite, RasterBlock far *spritebkgnd);
- extern void far spriteget (int transcolr, int x, int y, RasterBlock far *sprite, RasterBlock far *spritebkgnd);
- extern void far spriteput (PixelMode mode, int transcolr, int x, int y, RasterBlock far *sprite);
- /* 'VIDEO' methods to interact with video mode and display */
- extern int far videomodeget (void);
- extern void far videomodeset (int videomode);
- extern void far videooff (void);
- extern void far videoon (void);
- /* 'Identification' methods to discover WHICH hardware is available */
- extern int far whichcpu (void);
- extern int far whichjoystick (void);
- extern int far whichmem (void);
- extern int far whichmouse (void);
- extern VGAChipset far whichvga (void);
- extern int far whichxms (unsigned int far *xmskbytesavail, unsigned int far *xmshandlesavail);
- /* 'XMS' methods to store and retrieve extended memory */
- extern int far xmsallocate (unsigned int reqkbytes);
- extern int far xmscopy (int xmssrchandle, long srcoffset, int xmsdesthandle, long destoffset, unsigned long count);
- extern int far xmserror (void);
- extern int far xmsfree (int xmshandle);
- extern int far xmsget (int xmshandle, long offset, void far *destmem, unsigned long count);
- extern int far xmsput (void far *sourcemem, int xmshandle, long offset, unsigned long count);
- #ifdef __cplusplus
- }
- #endif
- #endif
- /* SVGACC_H */