📄 vga.h
字号:
int aperture_size; /* size of aperture in KB if size>=videomemory. 0 if unavail */ void (*set_aperture_page) (int page); /* if aperture_size<videomemory select a memory page */ void *extensions; /* points to copy of eeprom for mach32 */ /* depends from actual driver/chiptype.. etc. */ } vga_modeinfo; extern vga_modeinfo *vga_getmodeinfo(int mode); extern int vga_getdefaultmode(void); extern int vga_getcurrentmode(void); extern int vga_getcurrentchipset(void); extern char *vga_getmodename(int mode); extern int vga_getmodenumber(char *name); extern int vga_lastmodenumber(void); extern int vga_getoptmode(int x, int y, int colors, int bytesperpixel, int c); extern unsigned char *graph_mem; extern unsigned char *vga_getgraphmem(void); extern void vga_setpage(int p); extern void vga_setreadpage(int p); extern void vga_setwritepage(int p); extern void vga_setlogicalwidth(int w); extern void vga_setdisplaystart(int a); extern void vga_waitretrace(void); extern int vga_claimvideomemory(int n); extern void vga_disabledriverreport(void); extern int vga_setmodeX(void); extern int vga_init(void); /* Used to return void in svgalib <= 1.12. */ extern int vga_initf(int); extern int vga_getmousetype(void); extern int vga_getmonitortype(void); extern void vga_setmousesupport(int s); extern void vga_lockvc(void); extern void vga_unlockvc(void); extern int vga_getkey(void); extern int vga_oktowrite(void); extern void vga_copytoplanar256(unsigned char *virtualp, int pitch, int voffset, int vpitch, int w, int h); extern void vga_copytoplanar16(unsigned char *virtualp, int pitch, int voffset, int vpitch, int w, int h); extern void vga_copytoplane(unsigned char *virtualp, int pitch, int voffset, int vpitch, int w, int h, int plane); extern int vga_setlinearaddressing(void); extern void vga_safety_fork(void (*shutdown_routine) (void)); extern int vga_simple_init(void); extern void vga_chipset_saveregs(unsigned char *); extern void vga_chipset_setregs(unsigned char *);#ifdef EGA /* Kernel headers may define this. */#undef EGA#endif#define UNDEFINED 0#define VGA 1#define ET4000 2#define CIRRUS 3#define TVGA8900 4#define OAK 5#define EGA 6#define S3 7#define ET3000 8#define MACH32 9#define GVGA6400 10#define ARK 11#define ATI 12#define ALI 13#define MACH64 14#define CHIPS 15#define APM 16#define NV3 17#define ET6000 18#define VESA 19#define MX 20#define PARADISE 21#define RAGE 22#define BANSHEE 23#define SIS 24#define I740 25#define NEOMAGIC 26#define LAGUNA 27#define FBDEV 28#define G400 29#define R128 30#define SAVAGE 31 /* Hor. sync: */#define MON640_60 0 /* 31.5 KHz (standard VGA) */#define MON800_56 1 /* 35.1 KHz (old SVGA) */#define MON1024_43I 2 /* 35.5 KHz (low-end SVGA, 8514) */#define MON800_60 3 /* 37.9 KHz (SVGA) */#define MON1024_60 4 /* 48.3 KHz (SVGA non-interlaced) */#define MON1024_70 5 /* 56.0 KHz (SVGA high frequency) */#define MON1024_72 6 extern void vga_setchipset(int c); extern void vga_setchipsetandfeatures(int c, int par1, int par2); extern void vga_gettextfont(void *font); extern void vga_puttextfont(void *font); extern void vga_settextmoderegs(void *regs); extern void vga_gettextmoderegs(void *regs); extern int vga_white(void); extern int vga_setegacolor(int c); extern int vga_setrgbcolor(int r, int g, int b); extern void vga_bitblt(int srcaddr, int destaddr, int w, int h, int pitch); extern void vga_imageblt(void *srcaddr, int destaddr, int w, int h, int pitch); extern void vga_fillblt(int destaddr, int w, int h, int pitch, int c); extern void vga_hlinelistblt(int ymin, int n, int *xmin, int *xmax, int pitch, int c); extern void vga_blitwait(void); extern int vga_ext_set(unsigned what,...); extern int vga_accel(unsigned operation,...); extern int vga_setcrtcregs(unsigned char *); extern int vga_getcrtcregs(unsigned char *); extern int vga_addtiming(int pixelClock, int HDisplay, int HSyncStart, int HSyncEnd, int HTotal, int VDisplay, int VSyncStart, int VSyncEnd, int VTotal, int flags); extern int vga_changetiming(int pixelClock, int HDisplay, int HSyncStart, int HSyncEnd, int HTotal, int VDisplay, int VSyncStart, int VSyncEnd, int VTotal, int flags); extern int vga_getcurrenttiming(int *pixelClock, int *HDisplay, int *HSyncStart, int *HSyncEnd, int *HTotal, int *VDisplay, int *VSyncStart, int *VSyncEnd, int *VTotal, int *flags); extern int vga_addmode(int xdim, int ydim, int cols, int xbytes, int bytespp); extern int vga_guesstiming(int x, int y, int clue, int arg);/* Valid values for what in vga_ext_set: */#define VGA_EXT_AVAILABLE 0 /* supported flags */#define VGA_EXT_SET 1 /* set flag(s) */#define VGA_EXT_CLEAR 2 /* clear flag(s) */#define VGA_EXT_RESET 3 /* set/clear flag(s) */#define VGA_EXT_PAGE_OFFSET 4 /* set an offset for all subsequent vga_set*page() calls */ /* Like: vga_ext_set(VGA_EXT_PAGE_OFFSET, 42); */ /* returns the previous offset value. */#define VGA_EXT_FONT_SIZE 5 /* the (maximal) size of the font buffer *//* Valid params for VGA_EXT_AVAILABLE: */#define VGA_AVAIL_SET 0 /* vga_ext_set sub funcs */#define VGA_AVAIL_ACCEL 1 /* vga_accel sub funcs */#define VGA_AVAIL_FLAGS 2 /* known flags for VGA_EXT_SET */#define VGA_AVAIL_ROP 3 /* vga_accel ROP sub funcs */#define VGA_AVAIL_TRANSPARENCY 4 /* vga_accel TRANSPARENCY sub funcs */#define VGA_AVAIL_ROPMODES 5 /* vga_accel ROP modes supported funcs */#define VGA_AVAIL_TRANSMODES 6 /* vga_accel TRANSPARENCY modes supported *//* Known flags to vga_ext_set() */#define VGA_CLUT8 1 /* 8 bit DAC entries *//* Acceleration interface. *//* Accel operations. */#define ACCEL_FILLBOX 1 /* Simple solid fill. */#define ACCEL_SCREENCOPY 2 /* Simple screen-to-screen BLT. */#define ACCEL_PUTIMAGE 3 /* Straight image transfer. */#define ACCEL_DRAWLINE 4 /* General line draw. */#define ACCEL_SETFGCOLOR 5 /* Set foreground color. */#define ACCEL_SETBGCOLOR 6 /* Set background color. */#define ACCEL_SETTRANSPARENCY 7 /* Set transparency mode. */#define ACCEL_SETRASTEROP 8 /* Set raster-operation. */#define ACCEL_PUTBITMAP 9 /* Color-expand bitmap. */#define ACCEL_SCREENCOPYBITMAP 10 /* Color-expand from screen. */#define ACCEL_DRAWHLINELIST 11 /* Draw horizontal spans. */#define ACCEL_SETMODE 12 /* Set blit strategy. */#define ACCEL_SYNC 13 /* Wait for blits to finish. */#define ACCEL_SETOFFSET 14 /* Set screen offset */#define ACCEL_SCREENCOPYMONO 15 /* Monochrome screen-to-screen BLT. */#define ACCEL_POLYLINE 16 /* Draw multiple lines. */#define ACCEL_POLYHLINE 17 /* Draw multiple horizontal spans. */#define ACCEL_POLYFILLMODE 18 /* Set polygon mode. *//* Corresponding bitmask. */#define ACCELFLAG_FILLBOX 0x1 /* Simple solid fill. */#define ACCELFLAG_SCREENCOPY 0x2 /* Simple screen-to-screen BLT. */#define ACCELFLAG_PUTIMAGE 0x4 /* Straight image transfer. */#define ACCELFLAG_DRAWLINE 0x8 /* General line draw. */#define ACCELFLAG_SETFGCOLOR 0x10 /* Set foreground color. */#define ACCELFLAG_SETBGCOLOR 0x20 /* Set background color. */#define ACCELFLAG_SETTRANSPARENCY 0x40 /* Set transparency mode. */#define ACCELFLAG_SETRASTEROP 0x80 /* Set raster-operation. */#define ACCELFLAG_PUTBITMAP 0x100 /* Color-expand bitmap. */#define ACCELFLAG_SCREENCOPYBITMAP 0x200 /* Color-exand from screen. */#define ACCELFLAG_DRAWHLINELIST 0x400 /* Draw horizontal spans. */#define ACCELFLAG_SETMODE 0x800 /* Set blit strategy. */#define ACCELFLAG_SYNC 0x1000 /* Wait for blits to finish. */#define ACCELFLAG_SETOFFSET 0x2000 /* Set screen offset */#define ACCELFLAG_SCREENCOPYMONO 0x4000 /* Monochrome screen-to-screen BLT. */#define ACCELFLAG_POLYLINE 0x8000 /* Draw multiple lines. */#define ACCELFLAG_POLYHLINE 0x10000 /* Draw multiple horizontal spans. */#define ACCELFLAG_POLYFILLMODE 0x20000 /* Set polygon mode. *//* Mode for SetTransparency. */#define DISABLE_TRANSPARENCY_COLOR 0#define ENABLE_TRANSPARENCY_COLOR 1#define DISABLE_BITMAP_TRANSPARENCY 2#define ENABLE_BITMAP_TRANSPARENCY 3/* Flags for SetMode (accelerator interface). */#define BLITS_SYNC 0#define BLITS_IN_BACKGROUND 0x1/* Raster ops. */#define ROP_COPY 0 /* Straight copy. */#define ROP_OR 1 /* Source OR destination. */#define ROP_AND 2 /* Source AND destination. */#define ROP_XOR 3 /* Source XOR destination. */#define ROP_INVERT 4 /* Invert destination. *//* For the poly funcs */#define ACCEL_START 1#define ACCEL_END 2/* * wait for keypress, mousemove, I/O, timeout. cf. select (3) for details on * all parameters execept which. * NULL is a valid argument for any of the ptrs. */ extern int vga_waitevent(int which, fd_set * in, fd_set * out, fd_set * except, struct timeval *timeout);/* * valid values for what ( | is valid to combine them ) */#define VGA_MOUSEEVENT 1#define VGA_KEYEVENT 2/* * return value >= has bits set for mouse/keyboard events detected. * mouse and raw keyboard events are already handled and their bits removed * from *in when vga_waitevent returns. * VGA_KEYEVENT relates to vga_getch NOT vga_getkey. * return values < 0 signal errors. In this case check errno. *//* Background running */extern void vga_runinbackground(int stat, ...);#define VGA_GOTOBACK -1#define VGA_COMEFROMBACK -2extern int vga_runinbackground_version(void);#ifdef __cplusplus}#endif#endif /* VGA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -