Графические устройства

         

Описание предварительных действий



Описание предварительных действий

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

Адрес начала последней строки рисунка в видеопамяти вычисляется следующим способом. Расстояние между первой и последней строкой равно (iheight - i)*bperiine байтов. В общем случае произведение занимает два слова. Содержимое младшего слова прибавляется к адресу начала первой строки. Содержимое старшего слова преобразуется в номер окна, который прибавляется к номеру окна, в котором находится первая строка. Вычисленное значение окна надо установить.

Количество строк в порции считываемых данных (part) вычисляется как частное от деления числа 65 535 на размер строки в файле (f width). Умножив part на fwidth, получим размер порции для чтения в байтах.

Замечание
Вместо умножения можно вычесть остаток от деления из числа 65 535.

Константа переадресации строк, видеопамяти. После записи кодов точек текущей строки в видеопамять определяется адрес начала предыдущей. Для этого текущий адрес видеопамяти уменьшается на величину, вычисляемую по формуле (iwidth + horsize) *bytppnt. Если при вычитании вырабатывается признак переноса, то устанавливается предыдущее окно видеопамяти, в противном случае текущее окно не изменяется.



Содержание раздела