⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vgagl.h~

📁 linux 下svgalib编的一个界面程序示例
💻 H~
字号:
/* Graphics Library headerfile */#ifndef VGAGL_H#define VGAGL_H#ifdef __cplusplusextern "C"{#endif/* Graphics context */#define CONTEXT_VIRTUAL		0x0#define CONTEXT_PAGED		0x1#define CONTEXT_LINEAR		0x2#define CONTEXT_MODEX		0x3#define CONTEXT_PLANAR16	0x4#define MODEFLAG_PAGEFLIPPING_CAPABLE		0x01#define MODEFLAG_TRIPLEBUFFERING_CAPABLE	0x02#define MODEFLAG_PAGEFLIPPING_ENABLED		0x04#define MODEFLAG_TRIPLEBUFFERING_ENABLED	0x08#define MODEFLAG_FLIPPAGE_BANKALIGNED		0x10/* * The next two can never occur together, thus we use the same flag * (as svgalib does). */#define MODEFLAG_32BPP_SHIFT8			0x20#define MODEFLAG_24BPP_REVERSED			0x20    typedef struct {	void (*driver_setpixel_func) (int, int, int);	int (*driver_getpixel_func) (int, int);	void (*driver_hline_func) (int, int, int, int);	void (*driver_fillbox_func) (int, int, int, int, int);	void (*driver_putbox_func) (int, int, int, int, void *, int);	void (*driver_getbox_func) (int, int, int, int, void *, int);	void (*driver_putboxmask_func) (int, int, int, int, void *);	void (*driver_putboxpart_func) (int, int, int, int, int, int, void *,					int, int);	void (*driver_getboxpart_func) (int, int, int, int, int, int, void *,					int, int);	void (*driver_copybox_func) (int, int, int, int, int, int);    } framebufferfunctions;    typedef struct {	unsigned char modetype;	/* virtual, paged, linear, mode X */	unsigned char modeflags;	/* or planar16 */	unsigned char dummy;	unsigned char flippage;	int width;		/* width in pixels */	int height;		/* height in pixels */	int bytesperpixel;	/* bytes per pixel (1, 2, 3, or 4) */	int colors;		/* number of colors */	int bitsperpixel;	/* bits per pixel (8, 15, 16 or 24) */	int bytewidth;		/* length of a scanline in bytes */	char *vbuf;		/* address of framebuffer */	int clip;		/* clipping enabled? */	int clipx1;		/* top-left coordinate of clip window */	int clipy1;	int clipx2;		/* bottom-right coordinate of clip window */	int clipy2;	framebufferfunctions ff;    } GraphicsContext;    extern GraphicsContext currentcontext;#define BYTESPERPIXEL (currentcontext.bytesperpixel)#define BYTEWIDTH (currentcontext.bytewidth)#define WIDTH (currentcontext.width)#define HEIGHT (currentcontext.height)#define VBUF (currentcontext.vbuf)#define MODETYPE (currentcontext.modetype)#define MODEFLAGS (currentcontext.modeflags)#define BITSPERPIXEL (currentcontext.bitsperpixel)#define COLORS (currentcontext.colors)#define __clip (currentcontext.clip)#define __clipx1 (currentcontext.clipx1)#define __clipy1 (currentcontext.clipy1)#define __clipx2 (currentcontext.clipx2)#define __clipy2 (currentcontext.clipy2)/* Configuration */    int gl_setcontextvga(int m);    int gl_setcontextvgavirtual(int m);    void gl_setcontextvirtual(int w, int h, int bpp, int bitspp, void *vbuf);    void gl_setcontextwidth(int w);    void gl_setcontextheight(int h);    GraphicsContext *gl_allocatecontext(void);    void gl_setcontext(GraphicsContext * gc);    void gl_getcontext(GraphicsContext * gc);    void gl_freecontext(GraphicsContext * gc);/* Line drawing */    void gl_setpixel(int x, int y, int c);    void gl_setpixelrgb(int x, int y, int r, int g, int b);    int gl_getpixel(int x, int y);    void gl_getpixelrgb(int x, int y, int *r, int *g, int *b);    int gl_rgbcolor(int r, int g, int b);    void gl_hline(int x1, int y, int x2, int c);    void gl_line(int x1, int y1, int x2, int y2, int c);    void gl_circle(int x, int y, int r, int c);    void gl_fillcircle(int sx, int sy, int r, int c);    void gl_bcircle(int sx, int sy, int r, int c, int fill); /* Box (bitmap) functions */    void gl_fillbox(int x, int y, int w, int h, int c);    void gl_getbox(int x, int y, int w, int h, void *dp);    void gl_putbox(int x, int y, int w, int h, void *dp);    void gl_putboxpart(int x, int y, int w, int h, int bw, int bh, void *b,		       int xo, int yo);    void gl_putboxmask(int x, int y, int w, int h, void *dp);    void gl_copybox(int x1, int y1, int w, int h, int x2, int y2);    void gl_copyboxtocontext(int x1, int y1, int w, int h, GraphicsContext * gc,			     int x2, int y2);    void gl_copyboxfromcontext(GraphicsContext * gc, int x1, int y1, int w, int h,			       int x2, int y2);/* The following functions only work in 256-color modes: */    void gl_compileboxmask(int w, int h, void *sdp, void *ddp);    int gl_compiledboxmasksize(int w, int h, void *sdp);    void gl_putboxmaskcompiled(int x, int y, int w, int h, void *dp);/* Miscellaneous */    void gl_clearscreen(int c);    void gl_scalebox(int w1, int h1, void *sb, int w2, int h2, void *db);    void gl_setdisplaystart(int x, int y);    void gl_enableclipping(void);    void gl_setclippingwindow(int x1, int y1, int x2, int y2);    void gl_disableclipping(void);/* Screen buffering */    void gl_copyscreen(GraphicsContext * gc);    void gl_setscreenoffset(int o);    int gl_enablepageflipping(GraphicsContext * gc);/* Text *//* Writemode flags. */#define WRITEMODE_OVERWRITE 0#define WRITEMODE_MASKED 1#define FONT_EXPANDED 0#define FONT_COMPRESSED 2    void gl_expandfont(int fw, int fh, int c, void *sfdp, void *dfdp);    void gl_setfont(int fw, int fh, void *fdp);    void gl_colorfont(int fw, int fh, int c, void *fdp);    void gl_setwritemode(int wm);    void gl_write(int x, int y, char *s);    void gl_writen(int x, int y, int n, char *s);    void gl_setfontcolors(int bg, int fg);/* gl_printf is only available in ELF libraries!! */    int gl_printf(int x, int y, const char *fmt,...);    extern unsigned char *gl_font8x8;	/* compressed 8x8 font */    extern unsigned char *gl_font8x12;      /* compressed 8x12 font */    extern unsigned char *gl_font8x16;	/* compressed 8x16 font */    extern unsigned char *gl_font16x16;     /* compressed 16x16 font *//* 256-color Palette */    typedef struct {	struct {	    unsigned char red;	/* 6-bit values */	    unsigned char green;	    unsigned char blue;	} color[256];    } Palette;    void gl_setpalettecolor(int c, int r, int b, int g);    void gl_getpalettecolor(int c, int *r, int *b, int *g);    void gl_setpalettecolors(int s, int n, void *dp);    void gl_getpalettecolors(int s, int n, void *dp);    void gl_setpalette(void *p);    void gl_getpalette(void *p);    void gl_setrgbpalette(void);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -