/* * initgraph_black — войти в графику, не открывая стандартную палитру. * * Нужен программам с собственным fade-in: палитру можно заранее погасить * ещё в текстовом режиме, а SETVMOD тогда не осветит сохранённую VRAM * промежуточной EGA-палитрой. ABI совпадает с initgraph: аргументов нет. */ #include "../_bgi.h" void initgraph_black(void) { /* Очистить обе графические VRAM-страницы ЕЩЁ В ТЕКСТОВОМ РЕЖИМЕ. * SETVMOD переключает video descriptors раньше, чем вызывающий успеет * выполнить следующую C-инструкцию; одна только чёрная palette не * спасает, если прошивка при переключении кратко выбирает старую. * Окна 0x50/0xC000 доступны независимо от текущего режима экрана. */ gfx_set_bank(GFX_BANK_NORMAL); setfillstyle(SOLID_FILL, BLACK); gfx_set_draw_page(0); bar(0, 0, GFX_WIDTH - 1, GFX_HEIGHT - 1); gfx_set_draw_page(1); bar(0, 0, GFX_WIDTH - 1, GFX_HEIGHT - 1); _bgi_init_black = 1; initgraph(); }