ГЯЗК Уровень та;
OPEN GKS.
Параметры:
Вх файл ошибок И;
Вх количество единиц памяти для буферной области Ц. Действие:
ЯГС переводится в функциональное состояние ГЯОТ — «ЯГС открыто». Отводится и подготавливается таблица состояния ЯГС» Делаются доступными таблица описания ЯГС и таблицы описания графических станций. В поле «файл ошибок» таблицы ошибок. ЯГС заносится значение, заданное первым параметром. Ограничивается допустимая область буферной памяти, которая может использоваться для внутренних целей ЯГС.
Примечание. Некоторые среды могут не обеспечивать динамическое управление памятью. В этом случае размер буферной памяти может быть ограничен статическим способом, который должен быть описан в документации по реализации.
Описание функции в соответствии с подразд. 2.11, 2.12.
Ошибки:
ЯГС не находится в состоянии ГЯЗК;
200 Неверно задан указанный файл ошибок.
ЗАКРЫТЬ ЯГС
ГЯОТ Уровень maj CLOSE GKS.
Параметры:
Нет.
Действие:
ЯГС переводится в функциональное состояние ГЯЗК — «ЯГС закрыто». Таблица описания ЯГС, таблица состояния ЯГС. Таблицы описания станций становятся недоступными. Вся буферная память ЯГС освобождается и закрываются все файлы ЯГС.
Примечание. ЯГС может быть открыто вновь обращением к функциж ОТКРЫТЬ ЯГС.
Описание функции в соответствии с подразд. 2.11, 2.12.
Ошибки:
2 ЯГС не находится в состоянии ГЯОТ.
ОТКРЫТЬ СТАНЦИЮ
ГЯОТ, СТОТ, СТАК, СГОТ Уровень maj
OPEN WORKSTATION.
Параметры:
Вх идентификатор станции И;
Вх идентификатор связи И}
Вх тип станции И.
Действие:
Если ЯГС находится в функциональном состоянии ГЯОТ, то оно будет переведено в состояние СТОТ.
ЯГС запрашивает операционную систему о выполнении указанного соединения со станцией, с характеристиками, заданными в таблице описания станции, доступ к которой осуществляется с помощью параметра «тип станции». Выделяется память и подготавливается таблица состояния станции. Идентификатор станции добавляется в набор открытых станций в таблице состояния ЯГС. Функция ОТКРЫТЬ СТАНЦИЮ проверяет, очищен ли носитель изображения, но без необходимости не очищает его.
Примечания:
Идентификатор связи задается в форме, соответствующей языку программирования прикладной программы (например «номер устройства» для языка Фортран или «идентификатор файла» для PL/1).
Когда осуществляется попытка открыть станцию с таким же идентификатором связи и такого же типа, что и одна из уже открытых станций, то выдается ошибка 26.
Описание функции в соответствии с пп. 2.5.2; 2.11.
Ошибки:
8 ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ;
Неверно задан идентификатор станции;
Неверно задан идентификатор связи;
Неверно задан тип станции;
Заданный тип станции не существует;
Указанная станция уже открыта;
Указанная станция не может быть открыта;
Общая память сегментов уже открыта;
Число одновременно открытых станций превышает допустимое.
3.2.4. ЗАКРЫТЬ СТАНЦИЮ
СТОТ, СТАК, СГОТ Уровень та: CLOSE WORKSTATION.
Параметры:
И.
Действие:
Неявно заданная функция ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ (с параметром флаг повторной генерации, установленным в состояние ВЫПОЛНИТЬ) выполняется для указанной станции; освобождается таблица состояния станции. Идентификатор станции удаляется из набора открытых станций в таблице состояния ЯГС и из набора связанных с сегментом станций в таблице состояния сегмента для каждого сегмента, содержащего идентификатор данной станции в наборе связанных с ним станций. Сегмент удаляется, если набор связанных с ним станций становится пуст. Очередь событий очищается от всех событий, источниками которых были устройства, входящие в состав закрываемой станции. Если поле «идентификатор устройства ввода, вызвавшего переполнение очереди событий» в таблице ошибок ЯГС ссылается на идентификатор этой станции, то содержимое этого поля становится неопределенным.
Связь со станцией разрушается. ЯГС переводится в состояние гяот, если нет больше открытых станций. Очищение носителя изображения не обязательно, но возможно.
Описание функции в соответствии с пп. 2.5.2; 2.8.5; 2.11.
Ошибки:
7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;
20 Неверно задан идентификатор станции;
25 Указанная станция не открыта;
29 Указанная станция активна;
147 Очередь событий переполнена.
3.2.5. АКТИВИРОВАТЬ СТАНЦИЮ
СТОТ, СТАК Уровень та: ACTIVITE WORKSTATION.
Параметры:
Вх идентификатор станции И.
Действие:
ЯГС переводится в состояние СТАК — «по крайней мере одна станция открыта». Указанная станция отмечается как активная В таблице состояния станции. Идентификатор станции добавляется в набор активных станций в таблице состояния ЯГС.
Примечание. Во все активные станции посылаются выходные приміити- вы и запоминаются сегменты.
Описание функции в соответствии с пп. 2.5.2; 2.11.
Ошибки:
6 ЯГС не находится в состоянии СТОТ или СТАК;
20 Неверно задан идентификатор станции;
25 Указанная станция не открыта;
29 Указанная станция активна;
33 Указанная станция — станция ввода метафайла ЯГС;
35 Указанная станция является станцией ввода;
43 Число одновременно активных станций превышает допустимое.
3.2.6. ДЕАКТИВИРОВАТЬ СТАНЦИЮ
СТАК Уровень та: DEACTIVITE WORKSTATION.
Параметры:
И.
Действие:
Указанная станция переводится в состояние «неактивна». Идентификатор станции удаляется из набора активных станций в таблице состояния ЯГС. Если больше не остается активных станций, ЯГС переводится в состояние СТОТ — «по крайней мере одна станция открыта».
Примечание. На данную станцию больше не будут посылаться примитивы вывода и новые сегменты не будут запоминаться на этой станции. Ранее сохраненные на станции сегменты остаются.
Описание функции в соответствии с пп. 2.5.2; 2.11.
Ошибки:
3 ЯГС не находится в состоянии СТАК;
20 Неверно задан идентификатор станции;
30 Указанная станция не активна;
33 Указанная станция — станция ввода метафайла ЯГС;
35 Указанная станция является станцией ввода.
3.2.7. ОЧИСТИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ
СТОТ, СТАК Уровень maj CLEAR WORKSTATION.
Параметры:
Вх идентификатор станции И;
Вх флаг управления (УСЛОВНО, ВСЕГДА) П.
Действия:
Выполняются все отложенные действия для указанной станции (без промежуточной очистки носителя изображения).
В зависимости от значения параметра флаг управления носи* тель изображения переводится в очищенное состояние следующим образом:
УСЛОВНО — носитель изображения очищается только в том случае, если поле «заполненность носителя изображения» в таблице состояния станции имеет значение НЕ ПУСТ;
ВСЕГДА — носитель изображения очищается всегда.
Если в таблице состояния станции поле «состояние обновления преобразования станции» имеет значение ЗАДЕРЖАНО, то полям «текущее окно станции» и «текущее поле вывода станции» назначаются значения полей «запрошенное окно станции» и «запрошенное поле вывода станции», а в поле «состояние обновления преобразования станции» заносится значение НЕ ЗАДЕРЖАНО.
Для всех сегментов, содержащихся в памяти указанной станции, идентификатор данной станции удаляется из набора связанных с сегментом станций в таблице состояния сегмента. Если набор связанных с сегментом станций становится пустым, сегмент удаляется. Список запомненных на станции сегментов данной станции становится пустым и выполняется функция УДАЛИТЬ СЕГМЕНТ СО СТАНЦИИ для всех сегментов данной станции.
В поле «при обновлении необходим вывод нового кадра» таблицы состояния станции заносится значение НЕТ.
В поле «заполненность носителя изображения» в таблице состояния станции заносится значение ПУСТ.
Описание функции в соответствии с пп. 2.5.3; 2.5.4; 2.5.5; 2.7.1.
Ошибки:
6 ЯГС не находится в состоянии СТОК или СТАК;
20 Неверно задан идентификатор станции;
25 Указанная станция не открыта;
33 Указанная станция — станция ввода метафайла ЯГС;
35 Указанная станция является станцией ввода.
3.2.8. ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ СТОТ, СТАК, СГОТ Уровень 1а
' REDRAW ALL SEGMENTS ON WORKSTATION.
Параметры:
Bx идентификатор станции И.
Действия:
Для указанной станции выполняются все отложенные действия без промежуточной очистки носителя изображения.
Носитель изображения очищается только в том случае, если поле «заполненность носителя изображения» в таблице состояния станции имеет значение НЕ ПУСТ и в поле заносится значение ПУСТ.
Если в таблице состояний станции поле «состояние обновления преобразования станции» имеет значение ЗАДЕРЖАНО, то в поля «текущее окно станции» и «текущее поле вывода станции» заносятся значения полей «запрошенное окно станции» и «запрошенное поле вывода станции», а в поле «состояние обновления преобразования станции» заносится значение НЕ ЗАДЕРЖАНО.
Все видимые сегменты, запомненные на этой станции (т. е. содержащиеся в списке запомненных на станции сегментов в таблице состояния станции) отображаются заново. Это действие обычно вызывает занесение значения НЕ ПУСТ в поле «заполненность носителя изображения» в таблице состояния станции.
В поле «при обновлении необходим вывод нового кадра» в таблице состояния станции заносится значение НЕТ.
Описание функции в соответствии с пп. 2.5.3; 2.5.4; 2.5.5; 2.7.
Ошибки:
7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;
20 Неверно задан идентификатор станции;
25 Указанная станция не открыта;
Указанная станция — станция ввода метафайла ЯГС;
Указанная станция является станцией ввода;
Указанная станция является общей памятью сегментов.
ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ
СТОТ, СТАК, СГОТ Уровень та.
UPDATE WORKSTATION.
Параметры:
Вх идентификатор станции И;
Вх флаг повторной генерации (ОТЛОЖИТЬ, ВЫПОЛНИТЬ) П. Действия:
Все отложенные действия для указанной станции выполняются без промежуточной очистки носителя изображения. Если параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ и поле «при обновлении необходим вывод нового кадра» в таблице состояния станции имеет значение ДА, то в указанной последовательности выполняются следующие действия:
носитель изображения очищается только в том случае, если поле «заполненность носителя изображения» в таблице состояния станции имеет значение НЕ ПУСТ. В поле заносится значение ПУСТ;
если в таблице состояния станции поле «состояние обновления преобразования станции» имеет значение ЗАДЕРЖАНО, то поля «текущее окно станции» и «текущее поле вывода станции» принимают значения полей «запрошенное окно станции» и «запрошенное поле вывода станции», а в поле «состояние обновления преобразования станции» устанавливается значение НЕ ЗАДЕРЖАНО:
все видимые сегменты, запомненные на этой станции (т. е. содержащиеся в списке запомненных на этой станции сегментов, в таблице состояния станции) отображаются заново. Это действие обычно вызывает установку в поле «заполненность носителя изображения» значения НЕ ПУСТ;
в поле «при обновлении необходим вывод нового кадра» в таблице состояния станции устанавливается значение НЕТ.
Примечание. Если параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ, функция ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ приостанавливает действие функции ЗАДАТЬ СОСТОЯНИЕ ЗАДЕРЖКИ. В этом случае она эквивалентна следующей последовательности функций:
УЗНАТЬ РЕЖИМ ЗАДЕРЖКИ И ОБНОВЛЕНИЯ СТАНЦИИ;
Запомнить состояние задержки;
ЗАДАТЬ РЕЖИМ ЗАДЕРЖКИ (БЫСТРО, РАЗРЕШЕНА);
Задать запомненное состояние задержки.
Если поле «при обновлении необходим вывод нового кадра» имеет значение НЕТ или параметр флаг повторной генерации имеет значение ОТЛОЖИТЬ, то функция ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ запускает передачу сблокированных данных. Если поле «при обновлении необходим вывод нового кадра» имеет значение ДА и параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ, то действия функции ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ идентичны действиям функции ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ.
В процессе генерации отложенных действий поле «при обновлении необходим вывод нового кадра» в таблице состояния станции устанавливается в положение ДА, если выполняются следующие два условия:
действие, вызывающее обновление картины, откладывается на этой станции;
носитель изображения станции не позволяет обновить изображение без повторного отображения всей картины (например графопостроитель, устройство отображения на запоминающей трубке).
Описание функции в соответствии с пи. 2.5.3; 2.5.4; 2.5.5.
Ошибки:
7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;
20 Неверно задан идентификатор станции;
25 Указанная станция не открыта;
33 Указанная станция — станция ввода метафайла ЯГС;
35 Указанная станция является станцией ввода;
36 Указанная станция является общей памятью сегментов.
ЗАДАТЬ РЕЖИМ ЗАДЕРЖКИ
СТОТ, СТАК, СГОТ Уровень 1а- SET DEFERRAL STATE.
Параметры:
Вх идентификатор станции И;
Вх момент обновления (БЫСТРО, ГЛОБ, ЛОК, ЛЮБОЙ) П;
Вх неявная повторная генерация
(РАЗРЕШЕНА, ЗАПРЕЩЕНА) П.
Действие:
Поля «момент обновления» и «режим неявной повторной генерации» таблицы состояния станции принимают заданные значения. В зависимости от нового значения момента обновления отложенные действия могут быть разблокированы. Если новое значение режима неявной повторной генерации РАЗРЕШЕНА, а поле «при обновлении необходим вывод нового кадра» имеет значение ДА, то выполняются действия, эквивалентные вызову функция ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ.