ГЯЗК Уровень та;

OPEN GKS.

Параметры:

Вх файл ошибок И;

Вх количество единиц памяти для буферной области Ц. Действие:

ЯГС переводится в функциональное состояние ГЯОТ — «ЯГС открыто». Отводится и подготавливается таблица состояния ЯГС» Делаются доступными таблица описания ЯГС и таблицы описа­ния графических станций. В поле «файл ошибок» таблицы ошибок. ЯГС заносится значение, заданное первым параметром. Ограничи­вается допустимая область буферной памяти, которая может ис­пользоваться для внутренних целей ЯГС.

Примечание. Некоторые среды могут не обеспечивать динамическое уп­равление памятью. В этом случае размер буферной памяти может быть огра­ничен статическим способом, который должен быть описан в документации по реализации.

Описание функции в соответствии с подразд. 2.11, 2.12.

Ошибки:

  1. ЯГС не находится в состоянии ГЯЗК;

200 Неверно задан указанный файл ошибок.

  1. ЗАКРЫТЬ ЯГС

ГЯОТ Уровень maj CLOSE GKS.

Параметры:

Нет.

Действие:

ЯГС переводится в функциональное состояние ГЯЗК — «ЯГС закрыто». Таблица описания ЯГС, таблица состояния ЯГС. Таб­лицы описания станций становятся недоступными. Вся буферная память ЯГС освобождается и закрываются все файлы ЯГС.

Примечание. ЯГС может быть открыто вновь обращением к функциж ОТКРЫТЬ ЯГС.

Описание функции в соответствии с подразд. 2.11, 2.12.

Ошибки:

2 ЯГС не находится в состоянии ГЯОТ.

  1. ОТКРЫТЬ СТАНЦИЮ

ГЯОТ, СТОТ, СТАК, СГОТ Уровень maj

OPEN WORKSTATION.

Параметры:

Вх идентификатор станции И;

Вх идентификатор связи И}

Вх тип станции И.

Действие:

Если ЯГС находится в функциональном состоянии ГЯОТ, то оно будет переведено в состояние СТОТ.

ЯГС запрашивает операционную систему о выполнении указан­ного соединения со станцией, с характеристиками, заданными в таблице описания станции, доступ к которой осуществляется с по­мощью параметра «тип станции». Выделяется память и подготав­ливается таблица состояния станции. Идентификатор станции до­бавляется в набор открытых станций в таблице состояния ЯГС. Функция ОТКРЫТЬ СТАНЦИЮ проверяет, очищен ли носи­тель изображения, но без необходимости не очищает его.

Примечания:

  1. Идентификатор связи задается в форме, соответствующей языку про­граммирования прикладной программы (например «номер устройства» для язы­ка Фортран или «идентификатор файла» для PL/1).

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

Описание функции в соответствии с пп. 2.5.2; 2.11.

Ошибки:

8 ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ;

  1. Неверно задан идентификатор станции;

  2. Неверно задан идентификатор связи;

  3. Неверно задан тип станции;

  4. Заданный тип станции не существует;

  5. Указанная станция уже открыта;

  1. Указанная станция не может быть открыта;

  1. Общая память сегментов уже открыта;

  1. Число одновременно открытых станций превышает допус­тимое.

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 Указанная станция не открыта;

  1. Указанная станция — станция ввода метафайла ЯГС;

  1. Указанная станция является станцией ввода;

  2. Указанная станция является общей памятью сегментов.

  1. ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ

СТОТ, СТАК, СГОТ Уровень та.

UPDATE WORKSTATION.

Параметры:

Вх идентификатор станции И;

Вх флаг повторной генерации (ОТЛОЖИТЬ, ВЫПОЛНИТЬ) П. Действия:

Все отложенные действия для указанной станции выполняются без промежуточной очистки носителя изображения. Если параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ и поле «при обновлении необходим вывод нового кадра» в таблице состо­яния станции имеет значение ДА, то в указанной последователь­ности выполняются следующие действия:

носитель изображения очищается только в том случае, если по­ле «заполненность носителя изображения» в таблице состояния станции имеет значение НЕ ПУСТ. В поле заносится значение ПУСТ;

если в таблице состояния станции поле «состояние обновления преобразования станции» имеет значение ЗАДЕРЖАНО, то поля «текущее окно станции» и «текущее поле вывода станции» прини­мают значения полей «запрошенное окно станции» и «запрошен­ное поле вывода станции», а в поле «состояние обновления преоб­разования станции» устанавливается значение НЕ ЗАДЕРЖАНО:

все видимые сегменты, запомненные на этой станции (т. е. со­держащиеся в списке запомненных на этой станции сегментов, в таблице состояния станции) отображаются заново. Это действие обычно вызывает установку в поле «заполненность носителя изоб­ражения» значения НЕ ПУСТ;

в поле «при обновлении необходим вывод нового кадра» в таб­лице состояния станции устанавливается значение НЕТ.

Примечание. Если параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ, функция ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ при­останавливает действие функции ЗАДАТЬ СОСТОЯНИЕ ЗАДЕРЖКИ. В этом случае она эквивалентна следующей последовательности функций:

УЗНАТЬ РЕЖИМ ЗАДЕРЖКИ И ОБНОВЛЕНИЯ СТАНЦИИ;

Запомнить состояние задержки;

ЗАДАТЬ РЕЖИМ ЗАДЕРЖКИ (БЫСТРО, РАЗРЕШЕНА);

Задать запомненное состояние задержки.

Если поле «при обновлении необходим вывод нового кадра» имеет значение НЕТ или параметр флаг повторной генерации имеет значение ОТЛОЖИТЬ, то функция ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ запускает переда­чу сблокированных данных. Если поле «при обновлении необходим вывод но­вого кадра» имеет значение ДА и параметр флаг повторной генерации имеет значение ВЫПОЛНИТЬ, то действия функции ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ идентичны действиям функции ПЕРЕРИСОВАТЬ ВСЕ СЕГ­МЕНТЫ НА СТАНЦИИ.

В процессе генерации отложенных действий поле «при обновлении необхо­дим вывод нового кадра» в таблице состояния станции устанавливается в по­ложение ДА, если выполняются следующие два условия:

действие, вызывающее обновление картины, откладывается на этой стан­ции;

носитель изображения станции не позволяет обновить изображение без повторного отображения всей картины (например графопостроитель, устройст­во отображения на запоминающей трубке).

Описание функции в соответствии с пи. 2.5.3; 2.5.4; 2.5.5.

Ошибки:

7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;

20 Неверно задан идентификатор станции;

25 Указанная станция не открыта;

33 Указанная станция — станция ввода метафайла ЯГС;

35 Указанная станция является станцией ввода;

36 Указанная станция является общей памятью сегментов.

  1. ЗАДАТЬ РЕЖИМ ЗАДЕРЖКИ

СТОТ, СТАК, СГОТ Уровень 1а- SET DEFERRAL STATE.

Параметры:

Вх идентификатор станции И;

Вх момент обновления (БЫСТРО, ГЛОБ, ЛОК, ЛЮБОЙ) П;

Вх неявная повторная генерация

(РАЗРЕШЕНА, ЗАПРЕЩЕНА) П.

Действие:

Поля «момент обновления» и «режим неявной повторной гене­рации» таблицы состояния станции принимают заданные значе­ния. В зависимости от нового значения момента обновления отло­женные действия могут быть разблокированы. Если новое значе­ние режима неявной повторной генерации РАЗРЕШЕНА, а поле «при обновлении необходим вывод нового кадра» имеет значение ДА, то выполняются действия, эквивалентные вызову функция ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ.