/* * bgitest — демонстрация BGI-слоя graphics.h (режим 320×256×256). * * Собирается с `--gfx 256` (см. Makefile). Рисует рамку, заголовок, * палитровую полосу, веер линий, вложенные окружности и залитые бары — * визуальная проверка ядра BGI (Фаза 1). */ #include int main(void) { int i, mx, my, cx, cy; initgraph(); mx = getmaxx(); /* 319 */ my = getmaxy(); /* 255 */ cx = mx / 2; cy = my / 2; cleardevice(); /* Рамка по краю экрана. */ setcolor(WHITE); rectangle(0, 0, mx, my); /* Заголовок. */ setcolor(YELLOW); outtextxy(88, 6, "SPRINTER BGI 256"); /* Палитровая полоса: 15 залитых баров цветами 1..15. */ for (i = 1; i <= 15; i++) { int x0 = 8 + (i - 1) * 20; setcolor(i); bar(x0, 24, x0 + 16, 44); } /* Веер линий из центра к верхней кромке. */ for (i = 0; i <= mx; i += 16) { setcolor(1 + (i / 16) % 15); line(cx, cy, i, 52); } /* Вложенные окружности. */ for (i = 8; i < 90; i += 8) { setcolor(9 + (i / 8) % 7); circle(cx, cy, i); } /* Точечная диагональ (putpixel). */ for (i = 0; i < 60; i++) putpixel(10 + i, 200 + i, LIGHTGREEN); /* Подпись внизу текущей позицией (outtext). */ setcolor(LIGHTCYAN); moveto(8, 240); outtext("Phase 1: lines rects circles text"); for (;;) { } /* держим картинку на экране */ return 0; }