2.7.1. Понятие о сегментах
2.7.1.1. В ЯГС графические примитивы вывода могут быть объединены в сегменты, а также могут создаваться вне сегментов. Каждый сегмент имеет свое уникальное имя, задаваемое из прикладной программы. Допускаются следующие действия над сегментами:
преобразование;
изменение видимости (видимый/невидимый);
выделение (например мерцанием);
упорядочение отображения сегментов, что влияет на изображение перекрывающихся примитивов;
изменение чувствительности к указанию;
удаление;
изменение имени;
вставление сегмента в отрытый* сегмент или в поток примитивов вне сегментов.
________________
* Текст соответствует оригиналу. - Примечание изготовителя базы данных.
Этим операциям подвергаются только примитивы, входящие в состав сегментов. Прикладная программа не имеет доступа к примитивам, созданным вне сегментов, после того, как они были сгенерированы.
2.7.1.2. Каждый примитив в сегменте имеет связанный с ним ИДЕНТИФИКАТОР УКАЗАНИЯ, который образует второй уровень именования. Единственной задачей ИДЕНТИФИКАТОРА УКАЗАНИЯ является идентификация примитивов, его нельзя использовать для других целей. Этот уровень именования введен в ЯГС для уменьшения накладных расходов при работе с сегментами в приложениях, где при вводе необходимо различать большое число отдельных частей изображения, а необходимость в преобразованиях сегментов менее важна.
2.7.1.3. В то время, как имена сегментов являются уникальными, идентификатор указания может быть произвольно приписан как к одиночному примитиву вывода, так и к группе примитивов вывода в сегменте, как показано в следующей последовательности функций:
ЗАДАТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ (4);
СОЗДАТЬ СЕГМЕНТ (1);
Функции вывода; {сегмент-1, ИДЕНТИФИКАТОР УКАЗАНИЯ-4}
ЗАДАТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ (2);
Функции вывода; {сегмент-1, ИДЕНТИФИКАТОР УКАЗАНИЯ-2}
ЗАКРЫТЬ СЕГМЕНТ (1);
Функции вывода; {примитивы не указываемы, ИДЕНТИФИКАТОР УКАЗАНИЯ-2}
ЗАДАТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ (5);
Функции вывода; {примитивы не указываемы, ИДЕНТИФИКАТОР УКАЗАНИЯ-5}
СОЗДАТЬ СЕГМЕНТ (2);
Функции вывода; {сегмент-2, ИДЕНТИФИКАТОР УКАЗАНИЯ-5}
ЗАДАТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ (3);