GEM VDI
Подробнее
- Создатель
- Digital Research
- Год
- Тип
- Графический API
Слой рисования под GEM: аппаратно-независимый графический API вокруг «рабочих станций» для экрана, принтера и плоттера, зашитый в ПЗУ Atari ST и унаследованный от GSX, дополнения Digital Research к CP/M.
Virtual Device Interface был половиной GEM, которая рисовала, тогда как AES занимался окнами и меню. Идея пришла из GSX, графического расширения Digital Research для CP/M 1982 года, и из одноимённого черновика ANSI, позже ставшего стандартом CGI. Программа открывает рабочую станцию вызовом v_opnwk, а если нужно делить экран — виртуальную через v_opnvwk, и получает дескриптор. Затем она рисует линии, закрашенные фигуры и текст вызовами вроде v_pline, v_bar и v_gtext — либо в пикселях устройства, либо в нормализованных координатах от 0 до 32767, которые масштабирует драйвер. Копирование растра vro_cpyfm был блиттером, на котором строились окна и значки. Одни и те же вызовы шли на экран, принтер, плоттер или в метафайл на диске, в этом и состоял смысл.
Драйверы и шрифты загружал GDOS: на PC он шёл в комплекте с GEM, а на Atari ST был необязательным дополнением, потому что экранный драйвер жил в ПЗУ. GDOS вырос в небольшую индустрию: FONTGDOS от Atari, G+Plus от CodeHead, SpeedoGDOS с масштабируемыми шрифтами Bitstream в 1993 году и NVDI от Behne & Behne, заменивший весь ПЗУ-шный VDI более быстрым, понимавшим TrueType. Авторы игр всё это игнорировали и рисовали прямо в видеопамять через ловушки Line-A, что Atari не советовала, а все делали.