Программирование видеоадаптеров CGA, EGA и VGA


Функции _setactivepage(), _setvisualpage(), _getactivepage() и _getvisualpage()


Функции применяются, для управления видеоадаптерами в режимах с несколькими страницами видеопамяти. Они обеспечивают возможность подготовки изображения на неактивной странице видеопамяти, а затем быстрого его вывода на экран.

Функция _setactivepage() направляет вывод информаци в определенную страницу видеопамяти, а функция _setvisualpage() задает страницу, которая отображается в данный момент на экране. Функции управления страницами видеопамяти могут использоваться совместно с функциями _gettextcursor(), _settextcursor(), _settextposition(), _gettextposition(), _outtext(), _gettextcolor(), _settextcolor(), _settextwindow().

Функция управления страницами видеопамяти имеет следующий прототип:

short _setactivepage( short page );

Параметр функции задает активную страницу, в которую будет направлен весь последующий вывод.

Если функция выполнилась успешно, то она возвращает номер предыдущей активной страницы. При возникновении ошибки возвращаемая величина равна -1. Ошибка может произойти в случае задания номера страницы видеопамяти, не поддерживаемого адаптером в данном режиме.

Приведем прототип функции:

short _setvisualpage( short page );

Параметр функции задает номер страницы, отображаемой на экране дисплея. Функция возвращает номер предыдущей отображаемой страницы. При возникновении ошибки возвращаемая величина равна -1. Ошибка может произойти, например, в случае задания номера страницы видеопамяти, не поддержиеваемой адаптером. Смена отображаемой страницы в этом случае не происходит.

short _getactivepage( void );

Функция _getactivepage() возвращает номер текущей активной страницы видеопамяти.

Следующая функция, _getvisualpage(), возвращает номер страницы видеопамяти, отображаемой на экране дисплея в данный момент. Ее прототип:

short _getvisualpage( void );

В приведенном ниже примере определяется число страниц видеопамяти, в каждую страницу записывается ее номер и затем по очереди отображаются все страницы экрана.

// Пример использования функций _setactivepage(), _setvisualpage(), // _getactivepage() и _getvisualpage().




Начало  Назад  Вперед



Книжный магазин