Интерфейс пользователя. Средства интерактивной графики

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

Для построения меню необходимо задаться определенными размерами прямоугольников, в которых будут записаны команды меню. Прямоугольник можно называть еще окном. Создание окна осуществляется следующими функциями. Вначале выполняется функция AL=0 прерывания BIOS 10H. Значения в CH и CL определяют строку и столбец левого верхнего угла окна, в DH и DL – строку и столбец правого нижнего угла. В регистре ВН задается атрибут окна, то есть его цвет. В этом окне или боксе можно записать имя команды. Однако лучше создавать такие окна библиотечными функциями графики.

Рассмотрим в качестве примера небольшое меню, состоящее из двух команд: Определение координат и определение площади. Размеры окон, в которые будут выписаны команды, по ширине определим в 100 пикселов. А по высоте соответственно: от 0 до 10 – команда “Определение координат”, а от 10 до 20 – команда “Определение площади”. С использованием функций библиотеки графики названное меню будет выведено на экран набором следующих инструкций:

getviewsettings (&sv);

setviewport (0,0,100,20,0);

clearvievport ();

outtext (1,9, “определение координат”);

outtext (1,19, “определение площадей”);

Здесь sv – структура по шаблону viewporttype, описанная в <graphics.h> имеющая следующий вид:

struct viewporttype

{int left, top; /координаты левого верхнего угла/

int right, bottom /координаты правого нижнего угла/

int clip } /флаг усечения/ (1 – усечение, 0 – нет)

Функция setviewport () описывает окно с координатами (0,0) и (100,20) его диагональных углов и с флагом усечения, равным 0. Clearviewport () – очищает названное окно.

Реализуется такое меню следующей конструкцией:

If(y>=0 && y<=10) i=1; else if(y>10 && y<=20) i=2; else i=0;

switch (i)

{

case 1: coordinates ();

case 2: square ();

default: break; }

В этом случае курсор мыши наводится на соответствующую команду. В зависимости от положения курсора по оси Y выполняется соответствующая функция. При 0£Y£10 – функция определения координат coordinates (), при 10<Y£20 – функция определения площадей square ().

Кроме головного меню могут иметь место подменю или субменю, соответствующие определенной команде головного меню.

Одним из эффективных средств интерактивной графики является скроллинг (прокрутка) изображения. При выполнении скроллинга на одну строку вверх вся информация перемещается на строку вверх. Внизу окна появляется чистая строка. При выполнении скроллинга на одну строку вниз вся информация перемещается вниз и вверху строки появляется чистая строка. Скроллинг вверх осуществляет функция АН=06, а вниз – функция АН=07, прерывания 10Н BIOS.

Используя функцию AL=0 можно строить вложенные окна. Если задать следующие инструкции языка Си:

_AL=0;

_CH=Y1;

_CL=X1;

_DH=Y2;

_DL=X2;

_BH=a;

geninterrupt (0x10);

то будет построено окно с заданными координатами X1, Y1, X2, Y2 диагональных углов с цветом заполнения а. Следующая функция _AL=0 с определением в соответствующих регистрах координат, ограниченных предыдущим окном, определит новое вложенное окно и т.д.

Процесс, обратный построению вложенных окон, называется процессом построения “взрывающихся” окон. При этом вначале строится самое маленькое окно. После модификации (изменения) координат строится большое окно и процесс повторяется так до тех пор, пока окно не “вырастет” до нормальных размеров.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: