]> 4ch.mooo.com Git - 16.git/blob - src/lib/modex/modex.h
tesuto0 made for understanding doslib fast rendering~
[16.git] / src / lib / modex / modex.h
1 \r
2 #ifndef __MODEX_H\r
3 #define __MODEX_H\r
4 \r
5     /* ===== SCREEN RESOLUTIONS ===== */\r
6 \r
7 #define Mode_320x200  0\r
8 #define Mode_320x400  1\r
9 #define Mode_360x200  2\r
10 #define Mode_360x400  3\r
11 #define Mode_320x240  4\r
12 #define Mode_320x480  5\r
13 #define Mode_360x240  6\r
14 #define Mode_360x480  7\r
15 \r
16     /* ===== MODE X SETUP ROUTINES ===== */\r
17 \r
18 int far pascal set_vga_modex (int Mode, int MaxXpos, int MaxYpos, int Pages);\r
19 int far pascal set_modex (int Mode);\r
20 \r
21     /* ===== BASIC GRAPHICS PRIMITIVES ===== */\r
22 \r
23 void far pascal clear_vga_screen (int Color);\r
24 void far pascal set_point (int Xpos, int Ypos, int Color);\r
25 int  far pascal read_point (int Xpos, int Ypos);\r
26 void far pascal fill_block (int Xpos1, int Ypos1, int Xpos2, int Ypos2,\r
27                             int Color);\r
28 void far pascal draw_line (int Xpos1, int Ypos1, int Xpos2, int Ypos2,\r
29                            int Color);\r
30 \r
31     /* ===== DAC COLOR REGISTER ROUTINES ===== */\r
32 \r
33 void far pascal set_dac_register (int RegNo, int Red, int Green, int Blue);\r
34 void far pascal get_dac_register (int RegNo, int* Red, int* Green, int* Blue);\r
35 void far pascal load_dac_registers (char far *PalData, int StartReg,\r
36                                     int EndReg, int VSync);\r
37 void far pascal readd_dac_registers (char far *PalData, int StartReg,\r
38                                     int EndReg);\r
39 \r
40     /* ===== PAGE FLIPPING AND SCROLLING ROUTINES ===== */\r
41 \r
42 void far pascal set_active_page (int PageNo);\r
43 int  far pascal get_active_page (void);\r
44 void far pascal set_display_page (int PageNo);\r
45 int  far pascal get_display_page (void);\r
46 void far pascal set_window (int DisplayPage, int XOffset, int YOffset);\r
47 int  far pascal get_x_offset (void);\r
48 int  far pascal get_y_offset (void);\r
49 void far pascal sync_display (void);\r
50 \r
51     /* ===== TEXT DISPLAY ROUTINES ===== */\r
52 \r
53 void far pascal gprintc (int CharNum, int Xpos, int Ypos, int ColorF,\r
54                          int ColorB);\r
55 void far pascal tgprintc (int CharNum, int Xpos, int Ypos, int ColorF);\r
56 void far pascal print_str (char far *Text, int MaxLen, int Xpos, int Ypos,\r
57                            int ColorF, int ColorB);\r
58 void far pascal tprint_str (char far *Text, int MaxLen, int Xpos, int Ypos,\r
59                             int ColorF);\r
60 void far pascal set_display_font (char far *FontData, int FontNumber);\r
61 \r
62     /* ===== BITMAP (SPRITE) DISPLAY ROUTINES ===== */\r
63 \r
64 void far pascal draw_bitmap (char far *Image, int Xpos, int Ypos,\r
65                              int Width, int Height);\r
66 void far pascal tdraw_bitmap (char far *Image, int Xpos, int Ypos,\r
67                               int Width, int Height);\r
68 \r
69     /* ==== VIDEO MEMORY to VIDEO MEMORY COPY ROUTINES ===== */\r
70 \r
71 void far pascal copy_page (int SourcePage, int DestPage);\r
72 void far pascal copy_bitmap (int SourcePage, int X1, int Y1, int X2, int Y2,\r
73                              int DestPage, int DestX1, int DestY1);\r
74 \r
75 \r
76 #endif\r