Прикладной программист

Помимо понятия рабочей станции характерной особенностью GKS является повышенное внимание к компоновке графической информации на экране дисплея. Такие графические примитивы как линия могут иметь связанные с ними атрибуты, например цвет, толщину, тип линии и т. д. Существуют два основных способа задания таких атрибутов. Согласно первому способу значения атрибутов устанавливаются «модельно», т. е. для рассматриваемого состояния процесса атрибут может запоминаться и оставаться неизменным до переопределения. Задаваемое значением этого атрибута свойство (например, красный цвет) приписывается всем генерируемым в дальнейшем объектам (линиям и т. д.). Этот способ используется во многих графических пакетах программ и включен в предложение GSPC. Например, последовательность атрибутов: привела бы к тому, что сначала была бы прочерчена жирная красная сплошная линия, а затем — жирная зеленая штриховая линия. Каждый модельный атрибут остается неизменным до его переопределения, поэтому в данном случае THICK (жирная) — атрибут, относящийся к обеим линиям. Достоинство указанного способа состоит в том, что он гарантирует определенный вид линий, не зависящий от конкретного технического обеспечения (при условии, что техническое обеспечение позволяет выполнить требуемые операции). Однако существует множество технических средств, которые не отвечают столь жестким требованиям. Разработчик драйвера устройства в случае, когда цвет воспроизвести нельзя, смог бы предусмотреть отображение красных линий или зеленых штриховых линий в жирные. Однако этот выбор часто не согласуется с выбором, который может сделать прикладной программист. Разработчикам GKS пришлось решать, приписывать ли жестко определенный внешний вид соответствующим свойствам графической информации или различать графические элементы (называемые в GKS примитивами) по их внешнему виду, оставив способ определения этого различия на дальнейшее. Это проектное решение имеет существенное влияние на структуру прикладных программ, использующих базовую графическую систему. Согласно принятому в GKS решению каждый примитив должен быть снабжен главным атрибутом, называемым индексом примитива, принимающим значение от 1 до некоторого максимума, зависящего от реализации. Программа для GKS, аналогичная приведенной выше программе, выглядела бы примерно следующим образом (плюс описание того, чему соответствуют индексы 1 и 2 на том или ином устройстве): SET POLYLINE INDEX!!) POLYLINE SET POLYLINE INDEX(2) POLYLINE На дисплее эти индексы используются для поиска соответствующих записей в таблице, относящейся к рабочей станции, и определения по ней всего набора атрибутов внешнего вида для каждого индекса. Эта таблица может быть заранее заполнена с помощью обращений к GKS из прикладной программы. Указанные атрибуты являются модельными, но относятся к конкретной рабочей станции, а не к GKS в целом. Прикладной программист может поставить в соответствие индексу 1 атрибуты красная, жирная и сплошная, а индексу 2 — зеленая, жирная и штриховая (при этом будет получен тот же результат, что и для приведенной выше GKS-подобной программы). Достоинством описания пера, зависящего от рабочей станции, является то, что представление пера для другой рабочей станции может быть совершенно другим. Например, разработчик, использующий планшетный графопостроитель для получения окончательного чертежа и дисплей на запоминающей трубке для интерактивного взаимодействия, мог бы установить соответствие между различными цветами и различными типами линий (например, красная — сплошная, зеленая — штриховая) при условии, что прикладной программист решил различать атрибуты из данного набора именно таким способом.

Releated Post

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.