5 class VGAGraphicsAPI;
\r
13 enum HJustify { LEFT, HCENTER, RIGHT };
\r
14 enum VJustify { TOP, VCENTER, BOTTOM };
\r
17 int xres, yres, vxres, vyres, color, colors;
\r
18 unsigned char *font, *libID;
\r
19 int fontWidth, fontHeight;
\r
23 GraphicsAPI(int, int, int, int, int);
\r
24 virtual ~GraphicsAPI() {}
\r
25 virtual char *getLibID() { return libID; }
\r
26 virtual int getWidth() { return xres; }
\r
27 virtual int getHeight() { return yres; }
\r
28 virtual int getVirtualWidth() { return vxres; }
\r
29 virtual int getVirtualHeight() { return vyres; }
\r
30 virtual long getPageSize() { return long(xres)*yres; }
\r
31 virtual int getColors() { return colors; }
\r
32 virtual void setColor(int c) { color = c; }
\r
33 virtual void setBase(int, int) =0;
\r
34 virtual void syncWithRefresh() =0;
\r
35 virtual int getColor() { return color; }
\r
36 virtual void putPixel(int x, int y) { putPixel(x, y, color); }
\r
37 virtual void putPixel(int x, int y, int c) =0;
\r
38 virtual int getPixel(int x, int y) =0;
\r
39 virtual void hLine(int, int, int);
\r
40 virtual void vLine(int, int, int);
\r
41 virtual void line(int, int, int, int);
\r
42 virtual void rectangle(int, int, int, int);
\r
43 virtual void bar(int, int, int, int);
\r
44 virtual void wipe();
\r
45 virtual void putChar(int, int, int);
\r
46 virtual void putText(int, int, char*);
\r
47 virtual void setTextJustify(HJustify, VJustify);
\r
50 class VGAGraphicsAPI : public GraphicsAPI
\r
54 static unsigned char *videoBuf;
\r
55 virtual unsigned getOffset(int, int);
\r
56 virtual int getPelPan(int) =0;
\r
58 VGAGraphicsAPI(int, int, int, int, int);
\r
59 void syncWithRefresh();
\r
60 void setBase(int, int);
\r
63 class Chained256 : public VGAGraphicsAPI
\r
67 unsigned getOffset(int, int);
\r
69 Chained256(int, int, int);
\r
70 void putPixel(int, int, int);
\r
71 int getPixel(int, int);
\r
72 virtual void hLine(int, int, int);
\r
75 class Unchained256 : public VGAGraphicsAPI
\r
80 Unchained256(int, int, int);
\r
81 void putPixel(int, int, int);
\r
82 int getPixel(int, int);
\r
83 virtual void hLine(int, int, int);
\r
86 class Planar16 : public VGAGraphicsAPI
\r
91 Planar16(int, int, int);
\r
92 void putPixel(int, int, int);
\r
93 int getPixel(int, int);
\r
94 void hLine(int, int, int);
\r