Графические стандарты в компьютерной графике, страница 9

Идентификатор однозначно определят каждый из сегментов во множестве сегментов GKS.

К атрибутам сегмента относятся:

*  матрица преобразования сегмента. Изменение этого атрибута приводит к перемещению сегмента, его развороту или масштабированию;

*  видимость сегмента. Изменение этого атрибута приводит к исключению сегмента из изображения или его включению в изображение;

*  мерцание сегмента. Сегмент может выделяться мерцанием;

*  указываемость сегмента. Если сегмент определен указываемым, он может быть использован для интерактивного ввода;

*  приоритет сегмента. Если части двух сегментов налагаются друг на друга, то при отображении сегментов и интерактивном вводе предпочтение отдается сегменту с более высоким приоритетом.

В качестве хранилищ предусмотрен специальный тип рабочих станций, не имеющих соответствия с реальными графическими устройствами, называемых приборно-независимыми хранилищами сегментов.

Для реализации интерфейса системы GKS с графическими устройствами предусмотрен набор функций работы с сегментами. Некоторые из них приведены ниже:

*  открыть сегмент. Открывает сегмент по его идентификатору;

*  закрыть сегмент. Закрывает открытый сегмент;

*  удалить сегмент. Удаляет заданный сегмент;

*  задать преобразование сегмента. Преобразовывает заданный сегмент;

*  установить видимость. Устанавливает видимость заданного сегмента;

*  установить подсветку. Устанавливает подсветку сегмента;

*  установить указываемость. Делает сегмент доступным для интерактивной работы;

*  установить приоритет. Определяет условия отображения накладывающихся сегментов.

Обновление изображения на экране дисплея может осуществляться различными способами – в зависимости от аппаратных возможностей дисплея.

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

Если в графическом устройстве используется режим регенерации изображения по списку отображаемых объектов, то имеющийся в составе системы GKS драйвер графического устройства должен внести изменения в список состояния сегментов и преобразовать изменения атрибутов сегмента в изменения объектов, содержащихся в аппаратно-обслуживаемом списке.

Чем меньше функциональные возможности графического устройства, тем большая часть функций работы с сегментами возлагается на соответствующий ему драйвер.

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

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

До сих пор рассматривался только поток графических данных, направленный от прикладной программы к графическому устройству. Но для успешного проектирования мало только вывода данных, важно также предоставить пользователю возможность активного воздействия на его ход путем ввода дополнительных данных.

Стандарт GKS разделяет все устройства ввода на шесть классов. Каждому из классов устройств ввода соответствует тип значения, которое передается в прикладную программу после завершения ввода. Значение, передаваемое в программу, называется отсчетом устройства ввода. Физически устройства ввода могут сильно отличаться друг от друга по конструкции и принципам действия. К ним относятся устройства типа "мышь", "сколки", потенциометры, координатные рукоятки, управляемые курсоры, клавиатуры символьные и функциональные, сенсорные экраны, световые перья.

Ниже рассмотрим логические устройства ввода.

Класс

Отсчет

Пример графического устройства

Локатор

Мировые координаты точки

Мышь с указателем на экране

Указатель

Идентификатор сегмента

Световое перо

Выбор

Номер альтернативы

Набор кнопок

Датчик

Числовое значение

Потенциометр

Строка

Строка символов

Клавиатура

Штрих

Последовательность пар мировых координат точек

Сколка