2.9.1. Для долговременного хранения графической информации в ЯГС предусмотрен интерфейс с последовательными файлами, называемыми метафайлами ЯГС. Они могут использоваться для:
передачи графической информации между системами;
переноса графической информации из одного места в другое (например при помощи магнитной ленты);
передачи графической информации между прикладными программами, использующими ЯГС;
хранения сопровождающей неграфической информации.
Описание метафайла приведено в приложении 7.
2.9.2. Устройства ввода-вывода метафайла рассматриваются как графические станции типа МВЫВОД и МВВОД. К этим станциям, однако, неприменимы некоторые функции управления и справочные функции.
2.9.3. Прикладная программа заносит данные в метафайл с помощью функции ЗАПИСАТЬ В МЕТАФАЙЛ.
2.9.4. Для чтения и интерпретации записей метафайла применяются функции: ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЕТАФАЙЛА, СЧИТАТЬ ЗАПИСЬ ИЗ МЕТАФАЙЛА, ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ. Предполагается, что метафайл состоит из последовательности записей, каждая из которых включает: тип записи, длину блока данных и сам блок данных. Тип записи определяет, может ли запись быть интерпретирована ЯГС либо ее занесла прикладная программа функцией ЗАПИСАТЬ В МЕТАФАЙЛ.
После открытия станции МВВОД первая запись метафайла становится текущей.
2.9.5. Функция ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЕТАФАЙЛА извлекает тип записи и длину блока данных текущей записи.
2.9.6. Функция СЧИТАТЬ ЗАПИСЬ ИЗ МЕТАФАЙЛА копирует содержимое блока данных текущей записи в область, предоставленную прикладной программой, и делает текущей следующую запись метафайла.
2.9.7. Функция ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ работает с содержимым блока данных, представленных прикладной программой (в том виде, в котором оно было получено с помощью функции СЧИТАТЬ ЗАПИСЬ ИЗ МЕТАФАЙЛА). Она производит необходимые изменения состояния ЯГС, генерирует графический выход в соответствии с содержимым записи. Интерпретация информации об атрибутах примитивов, прямоугольнике отсечения, индикаторе отсечения вызывает изменения в таблице состояния ЯГС. Информация о геометрических атрибутах, выраженная в нормированных координатах, преобразуется с помощью преобразования, обратного текущему преобразованию нормирования, а затем заносится в таблицу состояния ЯГС. Информация, относящаяся к функциям управления станцией, может быть интерпретирована на всех графических станциях.
Для сохранения целостности файлов занесение данных в метафайл и считывание из метафайла должны выполняться только под управлением ЯГС. На черт.12 показана взаимосвязь между прикладной программой, ЯГС и метафайлом.
Связь между ЯГС и МЯГС
Черт.12