main.cpp (5114B)
1 #include <blt/namer.h> 2 #include <blt/syscall.h> 3 #include <blt/conio.h> 4 #include <blt/os.h> 5 #include <blt/qsem.h> 6 #include <string.h> 7 #include "Renderer_vga.h" 8 #include "GraphicsContext.h" 9 #include "Window.h" 10 #include "WindowManager.h" 11 #include "vga.h" 12 13 14 struct ColorMapEntry { 15 int red; 16 int green; 17 int blue; 18 } colorTable[255] = { 19 {0, 0, 0}, 20 {112, 219, 147}, 21 {112, 219, 147}, 22 {50, 204, 153}, 23 {50, 204, 153}, 24 {0, 0, 0}, 25 {0, 0, 0}, 26 {0, 0, 255}, 27 {0, 0, 255}, 28 {95, 159, 159}, 29 {95, 159, 159}, 30 {66, 66, 111}, 31 {66, 66, 111}, 32 {107, 35, 142}, 33 {107, 35, 142}, 34 {191, 216, 216}, 35 {191, 216, 216}, 36 {143, 143, 188}, 37 {143, 143, 188}, 38 {50, 50, 204}, 39 {50, 50, 204}, 40 {127, 0, 255}, 41 {127, 0, 255}, 42 {47, 47, 79}, 43 {47, 47, 79}, 44 {35, 35, 142}, 45 {35, 35, 142}, 46 {35, 35, 142}, 47 {35, 35, 142}, 48 {50, 153, 204}, 49 {50, 153, 204}, 50 {0, 127, 255}, 51 {0, 127, 255}, 52 {35, 107, 142}, 53 {35, 107, 142}, 54 {255, 127, 0}, 55 {255, 127, 0}, 56 {0, 255, 255}, 57 {0, 255, 255}, 58 {142, 35, 35}, 59 {142, 35, 35}, 60 {204, 127, 50}, 61 {204, 127, 50}, 62 {219, 219, 112}, 63 {219, 219, 112}, 64 {234, 234, 173}, 65 {234, 234, 173}, 66 {0, 255, 0}, 67 {0, 255, 0}, 68 {47, 79, 47}, 69 {47, 79, 47}, 70 {79, 79, 47}, 71 {79, 79, 47}, 72 {35, 142, 35}, 73 {35, 142, 35}, 74 {50, 204, 50}, 75 {50, 204, 50}, 76 {107, 142, 35}, 77 {107, 142, 35}, 78 {66, 111, 66}, 79 {66, 111, 66}, 80 {127, 255, 0}, 81 {127, 255, 0}, 82 {143, 188, 143}, 83 {143, 188, 143}, 84 {35, 142, 107}, 85 {35, 142, 107}, 86 {0, 255, 127}, 87 {0, 255, 127}, 88 {153, 204, 50}, 89 {153, 204, 50}, 90 {47, 79, 79}, 91 {47, 79, 79}, 92 {47, 79, 79}, 93 {47, 79, 79}, 94 {84, 84, 84}, 95 {84, 84, 84}, 96 {84, 84, 84}, 97 {84, 84, 84}, 98 {168, 168, 168}, 99 {168, 168, 168}, 100 {168, 168, 168}, 101 {168, 168, 168}, 102 {159, 159, 95}, 103 {159, 159, 95}, 104 {255, 0, 255}, 105 {255, 0, 255}, 106 {142, 35, 107}, 107 {142, 35, 107}, 108 {204, 50, 50}, 109 {204, 50, 50}, 110 {219, 112, 219}, 111 {219, 112, 219}, 112 {153, 50, 204}, 113 {153, 50, 204}, 114 {147, 112, 219}, 115 {147, 112, 219}, 116 {188, 143, 143}, 117 {188, 143, 143}, 118 {234, 173, 234}, 119 {234, 173, 234}, 120 {255, 0, 0}, 121 {255, 0, 0}, 122 {79, 47, 47}, 123 {79, 47, 47}, 124 {219, 112, 147}, 125 {219, 112, 147}, 126 {255, 0, 127}, 127 {255, 0, 127}, 128 {204, 50, 153}, 129 {204, 50, 153}, 130 {111, 66, 66}, 131 {111, 66, 66}, 132 {142, 107, 35}, 133 {142, 107, 35}, 134 {219, 147, 112}, 135 {219, 147, 112}, 136 {216, 191, 216}, 137 {216, 191, 216}, 138 {173, 234, 234}, 139 {173, 234, 234}, 140 {112, 147, 219}, 141 {112, 147, 219}, 142 {112, 219, 219}, 143 {112, 219, 219}, 144 {79, 47, 79}, 145 {79, 47, 79}, 146 {159, 95, 159}, 147 {159, 95, 159}, 148 {216, 216, 191}, 149 {216, 216, 191}, 150 {252, 252, 252}, 151 {252, 252, 252}, 152 {255, 255, 0}, 153 {255, 255, 0}, 154 {147, 219, 112}, 155 {147, 219, 112}, 156 {255, 255, 255}, 157 {255, 255, 255}, 158 {255, 255, 255}, 159 {255, 255, 255}, 160 {255, 255, 255}, 161 {255, 255, 255}, 162 {255, 255, 255}, 163 {255, 255, 255}, 164 {255, 255, 255}, 165 {255, 255, 255}, 166 {255, 255, 255}, 167 {255, 255, 255}, 168 {255, 255, 255}, 169 {255, 255, 255}, 170 {255, 255, 255}, 171 {255, 255, 255}, 172 {255, 255, 255}, 173 {255, 255, 255}, 174 {255, 255, 255}, 175 {255, 255, 255}, 176 {255, 255, 255}, 177 {255, 255, 255}, 178 {255, 255, 255}, 179 {255, 255, 255}, 180 {255, 255, 255}, 181 {255, 255, 255}, 182 {255, 255, 255}, 183 {255, 255, 255}, 184 {255, 255, 255}, 185 {255, 255, 255}, 186 {255, 255, 255}, 187 {255, 255, 255}, 188 {255, 255, 255}, 189 {255, 255, 255}, 190 {255, 255, 255}, 191 {255, 255, 255}, 192 {255, 255, 255}, 193 {255, 255, 255}, 194 {255, 255, 255}, 195 {255, 255, 255}, 196 {255, 255, 255}, 197 {255, 255, 255}, 198 {255, 255, 255}, 199 {255, 255, 255}, 200 {255, 255, 255}, 201 {255, 255, 255}, 202 {255, 255, 255}, 203 {255, 255, 255}, 204 {255, 255, 255}, 205 {255, 255, 255}, 206 {255, 255, 255}, 207 {255, 255, 255}, 208 {255, 255, 255}, 209 {255, 255, 255}, 210 {255, 255, 255}, 211 {255, 255, 255}, 212 {255, 255, 255}, 213 {255, 255, 255}, 214 {255, 255, 255}, 215 {255, 255, 255}, 216 {255, 255, 255}, 217 {255, 255, 255}, 218 {255, 255, 255}, 219 {255, 255, 255}, 220 {255, 255, 255}, 221 {255, 255, 255}, 222 {255, 255, 255}, 223 {255, 255, 255}, 224 {255, 255, 255}, 225 {255, 255, 255}, 226 {255, 255, 255}, 227 {255, 255, 255}, 228 {255, 255, 255}, 229 {255, 255, 255}, 230 {255, 255, 255}, 231 {255, 255, 255}, 232 {255, 255, 255}, 233 {255, 255, 255}, 234 {255, 255, 255}, 235 {255, 255, 255}, 236 {255, 255, 255}, 237 {255, 255, 255}, 238 {255, 255, 255}, 239 {255, 255, 255}, 240 {255, 255, 255}, 241 {255, 255, 255}, 242 {255, 255, 255}, 243 {255, 255, 255}, 244 {255, 255, 255}, 245 {255, 255, 255}, 246 {255, 255, 255}, 247 {255, 255, 255}, 248 {255, 255, 255}, 249 {255, 255, 255}, 250 {255, 255, 255}, 251 {255, 255, 255}, 252 {255, 255, 255}, 253 {255, 255, 255}, 254 {255, 255, 255}, 255 {255, 255, 255}, 256 {255, 255, 255}, 257 {255, 255, 255}, 258 {255, 255, 255}, 259 {255, 255, 255}, 260 {255, 255, 255}, 261 {255, 255, 255}, 262 {255, 255, 255}, 263 {255, 255, 255}, 264 {255, 255, 255}, 265 {255, 255, 255}, 266 {255, 255, 255}, 267 {255, 255, 255}, 268 {255, 255, 255}, 269 {255, 255, 255}, 270 {255, 255, 255}, 271 {255, 255, 255}, 272 {255, 255, 255}, 273 {255, 255, 255} // Transparent color 274 }; 275 276 277 int main() 278 { 279 InitVGA(); 280 char *vmem = (char*) 0xa0000; 281 area_create(64*1024, 0, (void**) &vmem, AREA_PHYSMAP); 282 memset((void*) vmem, 0, 320 * 200); 283 284 Renderer *screen = new Renderer_vga((char*) vmem, 320, 200, 320); 285 for (int i = 0; i < 256; i++) 286 SetPalette(i, colorTable[i].red, colorTable[i].green, colorTable[i].blue); 287 288 new WindowManager(screen); 289 return 0; 290 }