/usr/include/vgagl.h is in libsvga1-dev 1:1.4.3-31.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | /* Graphics Library headerfile */
#ifndef VGAGL_H
#define VGAGL_H
#ifdef __cplusplus
extern "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 */
/* 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
|