1 #pragma once
2 #include "compat.h"
3 
4 #pragma pack(push, 1)
5 
6 struct QBITMAP
7 {
8     unsigned char at0; // type
9     unsigned char at1; // transcolor
10     unsigned short at2; // width
11     unsigned short at4; // height
12     unsigned short at6; // bpl
13     unsigned short at8;
14     unsigned short ata;
15     char atc[1]; // data
16 };
17 
18 typedef struct {
19     int offset;
20     unsigned char w;
21     unsigned char h;
22     unsigned char ox;
23     signed char oy;
24 } QFONTCHAR;
25 
26 struct QFONT
27 {
28     unsigned char at0[4]; // signature
29     unsigned char pad0[2];
30     unsigned short at6;
31     unsigned char pad1[0x7];
32     unsigned char atf;
33     unsigned char at10;
34     signed char at11;
35     unsigned char at12;
36     unsigned char at13;
37     unsigned char pad2[0xc];
38     QFONTCHAR at20[256];
39     char at820[1];
40 };
41 
42 #pragma pack(pop)
43 
44 extern int gColor;
45 
46 void Video_BlitM2V(char* src, int bpl, int width, int height, int page, int x, int y);
47 void Video_BlitMT2V(char* src, char tc, int bpl, int width, int height, int page, int x, int y);
48 
49 void gfxDrawBitmap(QBITMAP* qbm, int x, int y);
50 void gfxPixel(int x, int y);
51 void gfxHLine(int y, int x0, int x1);
52 void gfxVLine(int x, int y0, int y1);
53 void gfxFillBox(int x0, int y0, int x1, int y1);
54 void gfxSetClip(int x0, int y0, int x1, int y1);
55 int gfxGetTextNLen(const char* pzText, QFONT* pFont, int a3);
56 int gfxGetLabelLen(const char* pzLabel, QFONT* pFont);
57 int gfxFindTextPos(const char* pzText, QFONT* pFont, int a3);
58 void gfxDrawText(int x, int y, int color, const char* pzText, QFONT* pFont);
59 void gfxDrawLabel(int, int, int, const char*, QFONT*);
60