ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
МАШИННАЯ ГРАФИКА
СВЯЗЬ ЯДРА ГРАФИЧЕСКОЙ СИСТЕМЫ С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ АДА
Издание официальное
ГОССТАНДАРТ РОССИИ Москва
ГОСТ 34.1702.3-92 (ИСО 8651-3-88)
государственный стандарт российской федерации
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
МАШИННАЯ ГРАФИКА
СВЯЗЬ ЯДРА ГРАФИЧЕСКОЙ СИСТЕМЫ С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ АДА
Издание официальное
МОСКВА
1993
ловом системой. Особенно это относится к интерфейсу с файлом ошибок ЯГС, а также к памяти метафайла.
3.2.8. Регистрация1
Стандарт ЯГС резервирует различные области величин для регистрации в качестве графических элементов. Зарегистрированные графические элементы будут встроены в Аду (и другие языки программирования). Зарегистрированные встроенные элементы будут согласовываться со связыванием, представленным в данном документе.
4. ТАБЛИЦЫ
4.1. Процедуры
Таблица 1
Сокращения, используемые в именах процедур
ASF |
Флаг выборк-и атрибутов |
СНАЯ |
Литера |
ESC |
Расширение (escape) |
GDP |
Обобщенный примитив вывода |
GKS |
Ядро графической системы |
GKSM |
Метафайл ядра графической системы |
ID |
Идентификатор |
INQ |
Справочная функция |
MAX |
Максимум |
UGDP |
Незарегистрированный обобщенный |
UESC |
Незарегистрированное расширение |
ws |
Станция |
|
примитив вывода |
Список процедур, использующих сокращения |
Таблица 2
ASF
INQ_LIST_OF-ASF
SET-ASF
CHAR
INQ-CHAR-BASE-VECTOR
INQ_CHAR-EXPANSION_FACTOR
INQ_CHAR-HEIGHT
INQ_CHARJWIDTH
INQ_CHAR_SPAC1NG
INQ~CHAR_UP_VECTOR
SET-CHAR-EXPANSION-FACTOR
SET-CHAR-HEIGHT
SET^CHAR-SPACING
SET-CHAR~UP_VECTOR
ESC
ESC
UESC
GDP
GDP
INQ-GDP
INQ_LIST_OF_AVAILABLE_GDP
UGDP
GKS
CLOSE-GKS
EMERGENCY-CLOSE_GKS
INQ-LEVEL_OF_GKS
OPEN-GKS
GKSM
GET-1TEM_TYPE-FR0M_GKSM
READ_ITEM_FROM_GKSM
WRITE-1TEM_T0_GKSM
ID
]NQ_CURRENT_PICK-ID_VALUE
SET„PICK-ID
IND
INQ-CHAR-BASE-VECTOR IN(?-CHAR-EXPANSION_FACTOR INQ-CHAR-HEIGHT INQ-CHAR-WIDTH INQ.CHAR-SPACING I NQ_CHAR-UP_ VECTOR IN,Q_CHOICE_DEVICE~STATE INQ.CLIPPING INQ-COLOUR-FACILITES INQ-COLOUR-REPRESENTATION INQ-CURRENT-NORMALIZATION-TRANSFOR-MATION-NUMBER INQ_CURRENT_INDIVIDUAL-ATTRIBUTE_VALUES INQ_CURRENT_PICK-ID-VALUE INQ.CURRENT-PRIMITIVE^ATTRIBUTE-VALUES INQ_DEFAULT_CHOICE_DEVICE-DATA INQ_DEFAULT_DEFERRAL_STATE_VALUES INQ-DEFAULT_LOCATOR-DEVICE_DATA INQ-DEFAULT-PICK-DEVICE-DATA INQJDEFAULT-STRING-DEVICE-DATA INQ-DEFAULT_STROKE-DEVICE_DATA INQ_DEFAULT_VALUATGR-DEVICE_DATA INQ-DISPLAY-SPACE-SIZE INQ-DYNAMIC_MODlFICATION_OF_SEGMENT_ -ATTRIBUTES INQ„DYNAMIC_MODlFICATION_OF_WS-„ATTRIBUTES
INQ_FlLL_AREA_COLOUR_INDEX
INQ-FILL-AREA-FACILITIES
INQ_FILL_AREA_1NDEX
INQ-FILL-AREA-INTERIOR-STYLE
INQ-FILL-AREA-REPRESENTATION
INQ_FILL_AREA_STYLE-INDEX
INQ-GDP
INQ-INPUT-QUEUE-OVERFLOW
INQ_LEVEL_OF-GKS
INQ_LIST_OF-ASF
INQ-LINETYPE
INQ_LINEWIDTH-SCALE_FACTOR INQ_LIST_OF-AVAILABLE_GDP INQ-LIST_OF_AVAILABLEJWS_TYPE INQ_LIST_OF_COLOUR-INDICES INQ_LIST_OF-FILL_AREA_INDICES INQ-LIST_OF_NORMALIZATION_TRANSFOR-MATION.NUMBER INQ_LI5T_OF_PATTERN_INDICES INQ-LIST-OF-POLYLINE-1NDICES INQ_LIST-OF_POLYMARKER_ INDICES INQ„LIST_OF_TEXT_INDICES INQ _LOCATOR_DEVlCE_STATE INQ_MAX_LENGTH OF_WS_STATE-TABLES INQ_MAX-NORMALIZATION-TRANSFORMATION^ -NUMBER INQ-MORE-SIMULTANEOUS-EVENTS INQ-NAME_OF-OPEN_SEGMENT INQ-NORMALIZATION-TRANSFORMATION INQ_NUMBER-OF„SEGMENT_PRIORITIES_ -SUPPORTED INQ-NUMBER-OF-AVAILABLE_LOGICAL_INPUT--DEVICES INQ„OP£RATING-ST4TE_VALUE INQ-PATTERN-FACILITIES INQ-PATTERN-HEIGHT-VECTOR INQ-PATTERN-REFERENCE-POINT INQ-PATTERN-REPRESENTATION INQ_PATTERN_WIDTH-VECT0R INQ-PICK-DEVICE-STATE INQ-PIXEL INQ-PIXEL-ARRAY INQ-PIXEL-AR RAY_DIMENSIONS INQ-POLYLINE-COLOUR-INDEX INQ-POLYLINE-FACILIT1ES INQ-POLYLINE-INDEX INQ-POLYLINE-REPRESENTATION INQ-POLYMARKER-REPRESENTATION INQ-POLYMARKER-COLOUR-INDEX INQ-POLYMARKER-INDEX INQ-POLYMARKER-FACILITIES INQ-POLYMARKER_SIZE-SCALE_FACTOR
Продолжение табл. 2
INQ-POLYMARKER-TYPE
INQ_PREDEFINED„COLOUR_REPRESENTATION
INQ^PRHI>EFINED-FILL-AREA-REPRESEN-
TATION
INQ_PREDEFINED_PATTERN-REPRESENTAT10N
inq„predefined_polyijne,representation
inq_predefined^polymarker_represen-
TATION
inq_predefined_text-Representation
INQ_SEGMENT_ATTR1BUTES
INQ_SET_OF_ACTlVE_WS
INQ_SET_OF_ASS0CIATED_WS
INQ_SET_OF_OPEN_WS
INQ_SET„OF_SEGMENT_NAMES_IN_USE
JNQ_SET-.OF_SEGMENT-NAMES_ON_WS
1NQ_STRING_DEVICE_STATE
INQ~.STROKE_DEVICE_STATE
INQ_TEXT_ALIGNMENT
INQ-TEXT-COLOUR-INDEX
INQ_TEXT_EXTENT
INQ-TEXT-FACILITIES
lNQ-TEXT_FOMT_AND„PRECISION
INQ_TEXT_INDEX
INQ_TEXT_PATH
INQ_TEXT_REPRESENTATION
INQ_VALUATOR_DEVICE_ STATE
INQ_WS_CATEQORY
INQ-WS-CLASSIFICATION
INQ„WS_CONNECTION_AND_TYPE
INQ-WS -DEFERRAL~AND_UPDATE_STATES
INQ-WS-MAX-NUMBER
INQ-WS-STATE
INQ_WS-TRANSFORMATION
MAX
INQ_MAX_LENGTH_OF_WS_STATE_TABLES
lNQ„MAX„NORMALIZATION_TRANSFORMATION-
_NUMBER
inq_ws_max_numbers
ws
ACTIVATE.WS
ASSOCIATE_SEGMENT_WITH_WS
CLEAR-WS
GLOSE.WS
COPY_SEGM£NT_TO_WS
DEACTIVATE-.WS
DELETE_SEGMENT_FROM_WS
INQ^DYNAMIC_M0DIFICAT10N_0F_WS_ATTRIBU-
TES
INQ„UST-OF_AVAILABLE_WS_TYPE 1NQ_MAK^LENGTH_0F.WS_STATE_TABLES INQ- SET-OF-ACTIVE-WS INQ„ SET_OF-ASSOCIATED_WS
INQ_SET_OF_OPEN_WS
INQ_SET_OF-SEGMENT_NAMES-ON-\VS
INQ.WS-CATEGORY
INQ-WS-CLASSIFICATION
INQ_WS-CONNECTION-AND_TYPn
INQ-WS-DEFERRAL-AND-UPDATE-STATES
INQ_WS-MAX_NUMBER
INQ-WS-STATE
INQ-WS-TRANSFORMATION
OPEN-WS
REDRAW-ALL-SEGMENTS-ON-WS
SETJWSJVIEWPORT
SET_WS-WINDOW
UPDATE-WS
Таблица 3 Функции яге и имена соответствующих процедур в Аде
Ф\н <ция ЯI С
ACCUMULATE-TRANSFORMA
TION-MATR1X
ACTIVATE-WS
ASSOCIATE-SEGMENT-WITH_ WS
AWAIT-EVENT
CELL-ARRAY
CLEAR-WS
CLOSE-GKS
CLOSE-SEGMENT
CLOSE-WS
COPY_SEGMENT_TO_WS
CREATE-SEGMENT
DEACTIVATE.WS
DELETE-SEGMENT
DELETE-SEGMENT-FROM-WS
EMERGENCY-CLOSE-GKS
ERROR-HANDLING
ERROR-LOGGING
ESCAPE
EVALUATE-TRANSFORMATION-
-MATRIX
FIT I APFA
FLUSH-DEVICE-EVENTS
GDP
GET-CHOICE
GET_ITEM-TYPE_FROM-GKSM
GET-LOCATOR
GET-PICK |
ВЫЧИСЛИТЬ РЕЗУЛЬТИРУЮЩУЮ МАТРИЦУ ПРЕОБРАЗОВАНИЙ АКТИВИРОВАТЬ СТАНЦИЮ СВЯЗАТЬ СЕГМЕНТ СО СТАНЦИЕЙ ОЖИДАТЬ СОБЫТИЕ МАТРИЦА ЯЧЕЕК
ОЧИСТИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ ЗАКРЫТЬ ЯГС ЗАКРЫТЬ СЕГМЕНТ ЗАКРЫТЬ СТАНЦИЮ ВЫВЕСТИ КОПИЮ СЕГМЕНТА НА СТАНЦИЮ СОЗДАТЬ СЕГМЕНТ ДЕАКТИВИРОВАТЬ СТАНЦИЮ УНИЧТОЖИТЬ СЕГМЕНТ УДАЛИТЬ СЕГМЕНТ СО СТАНЦИИ АВАРИЙНО ЗАКРЫТЬ ЯГС ОБРАБОТАТЬ ОШИБКУ ЗАРЕГИСТРИРОВАТЬ ОШИБКУ РАСШИРЕНИЕ
СФОРМИРОВАТЬ МАТРИЦУ ПРЕОБРАЗОВАНИЙ ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ УДАЛИТЬ СОБЫТИЯ ОТ УСТРОЙСТВА
ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ)
ПОЛУЧИТЬ АЛЬТЕРНАТИВУ ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ ЯГС ПОЛУЧИТЬ ПОЗИЦИЮ ПОЛУЧИТЬ УКАЗАТЕЛЬ |
ПОЛУЧИТЬ СТРОКУ ПОЛУЧИТЬ ПОСЛЕДОВАТЕЛЬ
GET_STRING
GET-STROKE
GET-VALUATOR INITIALS SE-CHOICE
IN1TIALISE-LOCATOR
INITIALISE-PICK
INITIALISE-STRING
INITMLISE-STROKE
INITIALISE-VALUATOR
INQ_CHOICE-DEVICE_STATE
INQ-CLIPPING
INQ-COLOUR-FACILITIES
INQ_COLOR_REPRESENTATION
INQ_CURRENT_INDIVIDUAL_
-ATTRIBUTE-VALUES
НОСТЬ ПОЗИЦИИ ПОЛУЧИТЬ ЧИСЛО ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО ВЫБОРА ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО ВВОДА ПОЗИЦИИ ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО УКАЗАНИЯ ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО ВВОДА СТРОКИ ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО ВВОДА ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ ИНИЦИАЛИЗИРОВАТЬ УСТРОЙСТВО ВВОДА ЧИСЛА УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА ВЫБОРА УЗНАТЬ ЗНАЧЕНИЯ ОТСЕЧЕНИЯ УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ЦВЕТА УЗНАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА УЗНАТЬ ТЕКУЩИЕ ЗНАЧЕНИЯ ИНДИВИДУАЛЬНЫХ АТРИБУТОВ
Функция ЯГС «Узнать значение текущего индивидуального атрибута» отображается в следующие функции:
INQ-CHAR_EXPANSION_FACTOR
INQ-CHAR-SPACING
INQ_FILL-AREA_COLOUR_INDEX
INQ_FILL-AREA-INTERIOR^STYLE
INQJLINETYPE
1NQ-LINEWIDTH-SCALE-FACT0R
mQ-LIST-OF-ASF
INQJPOLYLINE-XOLOUR_INDEX
JNQ-POLYMARKER-COLOUR-INDEX
INQ-POLYMARKER--SIZE~SCALE_FACTOR
JNQ-POLYMARKER-TYPE
INQ-TEXT-COLOUR_INDEX
JNQ-TEXT_FONT-AND_PRECISION
WQ-GURRENT-NORMALI-
ZATION-TRANSFORMA*
TION-NUMBER
1NQ-CURRENT-PICK-ID-
VALUE
INQ_CURRENT_PRIMITIVE_
ATTRIBUTE-VALUES |
УЗНАТЬ НОМЕР ТЕКУЩЕГО ПРЕОБРАЗОВАНИЯ НОРМИ РОВАНИЯ УЗНАТЬ ЗНАЧЕНИЕ ИДЕНТИФИКАТОРА УКАЗАНИЯ УЗНАТЬ ТЕКУЩИЕ ЗНАЧЕНИЯ АТРИБУТОВ ПРИМИТИВОВ |
Функция ЯГС «Узнать текущие значения атрибутов примитивов» отображается в следующие функции:
INQ-CHAR-BASE-VECTOR
INQ-CHAR-HEIGHT
INQ-CHAR-WIDTH
INQ-CHAR-UP-VECTOR
INQ-FILL-AREA-INDEX
INQ-PATTERN-HEIGHT-VECTOR
INQ-PATTERN-REFERENCE-POINT
INQ-PATTERN-WIDTH-VECTOR
INQ-POLYLINE-IN0EX
INQ-POLYMARKER-INDEX
INQ-TEXT-ALIGNMENT
1NQ-TEXT-INDEX
INQ-1ЕХТ-РАТН
Продолжение табл. 3
Фун *ция ЯГС
INQ-DEFAULT-CHOICE-
_DEVICE_DATA
INQ-DEFAULT-DEFERRAL-
_STATE_VALUES
INQ-DEFAULT-LOCATOR-
-DEVICE-DATA
INQ-DEFAULT-PICK-DEVICE-
-DATA
INQ-DEFAULT_STRING_DEVICE-
-DATA
INQ-DEFAULT-STROKE-DEVICE-
-DATA |
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА ВЫБОРА
УЗНАТЬ РЕЖИМ ЗАДЕРЖКИ ПО УМОЛЧАНИЮ
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА ВВОДА ПОЗИЦИИ
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА УКАЗАНИЯ
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА ВВОДА строки
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА ВВОДА ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ |
INQ_DEFAULT_VALUATOR_
„DEVICE-DATA
INQ_DISPLAY-SPACE_SIZE
INQ_DYNAMIC-MODIFICATlON_
_OF_SEGMENT_ATTRIBUTES
INQ_DYNAMIC-MODIFICATION_ -OF-WS-ATTRIBUTES
INQ-FILL-AREA-FACILITIES
1NQ-FILL-AREA-
-REPRESENTATION
INQ-GDP
INQ_INPUT_QUEUE_OVERFLOW
INQ-LEVEL-OF-GKS
INQ-LIST-OF-AVAILABLE-GDP
INQ-LIST-OF-AVAILABLE-WS-
-TYPES
INQ_LIST-OF_COLOUR-INDICES 1NQ_LIST„0F_FILL-AREA_ -INDCES INQ_LlST_OF_NORMALIZATION-„TRANSFORMATION-NUMBERS INQ-UST-OF-PATTERN--INDICES INQ-LIST-OF-POLYINE--TNDICES INQ_LIST-OF_POLYMARKER-_ INDICES INQ-LIST.OF-TEXT-INDICES INQ-LOCATOR-DEVICE-STATE
INQ_MAX-LENGTH_OF-WS-
_STATE_TABLES
JNQ_MAX_NORMALIZATION_
-TRANSFORMATION-NUMBER
INQ-MORE-S1MULTANEOUS-
-EVENTS |
УЗНАТЬ ХАРАКТЕРИСТИКИ ПО УМОЛЧАНИЮ УСТРОЙСТВА ВВОДА ЧИСЛА УЗНАТЬ РАЗМЕР НОСИТЕЛЯ ИЗОБРАЖЕНИЯ УЗНАТЬ СПОСОБ ДИНАМИЧЕСКОЙ МОДИФИКАЦИИ АТРИБУТОВ СЕГМЕНТОВ
УЗНАТЬ СПОСОБ ДИНАМИЧЕСКОГО ОБНОВЛЕНИЯ ХАРАКТЕРИСТИК ИЗОБРАЖЕНИЯ НА СТАНЦИИ
УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ УЗНАТЬ ХАРАКТЕРИСТИКИ ОБОБЩЕННОГО ПРИМИТИВА ВЫВОДА УЗНАТЬ НАЛИЧИЕ ПЕРЕПОЛНЕНИЯ ОЧЕРЕДИ СОБЫТИЙ УЗНАТЬ УРОВЕНЬ ЯГС УЗНАТЬ ИДЕНТИФИКАТОРЫ ДОСТУПНЫХ ОБОБЩЕННЫХ ПРИМИТИВОВ ВЫВОДА
УЗНАТЬ ДОСТУПНЫЕ ТИПЫ СТАНЦИЙ
УЗНАТЬ ИНДЕКС ЦВЕТА УЗНАТЬ ИНДЕКСЫ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ УЗНАТЬ СПИСОК ПРЕОБРАЗОВАНИЙ НОРМИРОВАНИЯ УЗНАТЬ ИНДЕКСЫ ШАБЛОНА
УЗНАТЬ ИНДЕКСЫ ЛОМАНОЙ
УЗНАТЬ ИНДЕКСЫ ПОЛИМАРКЕРА
УЗНАТЬ ИНДЕКСЫ ТЕКСТА УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА ВВОДА ПОЗИЦИИ
УЗНАТЬ ДЛИНУ ТАБЛИЦ, ХАРАКТЕРИЗУЮЩИХ СТАНЦИЮ
УЗНАТЬ МАКСИМАЛЬНЫЙ НОМЕР ПРЕОБРАЗОВАНИЯ НОРМИРОВАНИЯ
УЗНАТЬ НАЛИЧИЕ ОДНОВРЕМЕННЫХ СОБЫТИЙ |
INQ_NAME_OF~OPEN-SEGMENT
INQ_NORMATIZATION_ -TRANSFORMATION INQ-NUMBER_OF_AVAILABLE--LOGICAL-INPUT-DEVICES INQ_NUMBER_OF„SEGMENT--PRIORITIES-SUPPORTED INQ-OPERATING-STATE-VALUE
1NQ-PATTERN-FACILITIES
INQ-PATTERN-REPRESENTATION
INQ-PICK-DEVICE-STATE
INQ-PIXEL INQ_PIXEL_ARRAY INQ_PIXEL_ ARRAY-DIMENSION
INQ-POLYLINE-FACTILITIES
I NQ-POLYLlNE_ REPRESENTATION
INQ-POLYMARKER-FACILITIES
INQ_POLYMARKER--REPRESENTATION INQ -PREDEFINED-COLOUR--REPRESENTATION INQ-PREDEFINED-FILL-AREA--REPRESENTATION
INQ_PREDEFINED-PATTERN--REPRESENTATION INQ. PREDEFINED-POLYLINE--REPRESENTATION INQ-PREDEFINED-POLYMARKER--REPRESENTATION INQ-PREDEFINED-TEXT--REPRESENTATION INQ-SEGMENT-ATTRIBUTES INQ-SET-OF-ACTIVE-WS
INQ-SET-OFASSOCIATED_WS
INQ-SET-OF-OPEN-WS |
УЗНАТЬ ИМЯ ОТКРЫТОГО СЕГМЕНТА
УЗНАТЬ ПРЕОБРАЗОВАНИЯ НОРМИРОВАНИЯ УЗНАТЬ ЧИСЛО ДОПУСТИМЫХ УСТРОЙСТВ ВВОДА УЗНАТЬ ДОПУСТИМОЕ ЧИСЛО ПРИОРИТЕТОВ СЕГМЕНТОВ УЗНАТЬ ФУНКЦИОНАЛЬНОЕ СОСТОЯНИЕ
УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ШАБЛОНА УЗНАТЬ ПРЕДСТАВЛЕНИЕ ШАБЛОНА
УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА УКАЗАНИЯ УЗНАТЬ ЦВЕТ ПИКСЕЛЯ УЗНАТЬ МАТРИЦУ ПИКСЕЛЕЙ УЗНАТЬ РАЗМЕРНОСТЬ МАТРИЦЫ ПИКСЕЛЕЙ УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ЛОМАНОЙ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ЛОМА НОИ
УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ПОЛИМАРКЕРА УЗНАТЬ ПРЕДСТАВЛЕНИЕ ПОЛИМАРКЕРА УЗНАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА ПО УМОЛЧАНИЮ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ПО УМОЛЧАНИЮ
УЗНАТЬ ПРЕДСТАВЛЕНИЕ ШАБЛОНА ПО УМОЛЧАНИЮ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ЛОМАНОЙ ПО УМОЛЧАНИЮ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ПОЛИМАРКЕРА ПО УМОЛЧАНИЮ УЗНАТЬ ПРЕДСТАВЛЕНИЕ ТЕКСТА ПО УМОЛЧАНИЮ УЗНАТЬ АТРИБУТЫ СЕГМЕНТА УЗНАТЬ НАБОР АКТИВНЫХ СТАНЦИЙ
УЗНАТЬ СТАНЦИИ, СВЯЗАННЫЕ С СЕГМЕНТОМ УЗНАТЬ НАБОР ОТКРЫТЫХ СТАНЦИЙ |
INQ_SET_OF_SEGMENT_NAMES_
_IN_USE
INQ-SET_SEGMENT_NAMES_ON_
_WS
I NQ_ STRI NG_ DE VI CE_ STATE INQ-STROKE-DEVICE-STATE
1NQ_TEXT_EXTENT
INQ_TEXT_FACILITIES
1NQ_TEXT_REPRESENTATION INQ_VALUATOR_DEVICE_STATE
INQJWS-CATEGORY
INQ_WS_CLASSIFICATION
INQ-WS-CONNECTION_AND_
_TYPE
INQ_WS-DEFERRAL_AND_
-UPDATE_STATES
INQ-WS-MAX-NUMBERS
INQ-WS-STATE
INQ_WS_TRANSFORMATION
INSERT-SEGMENT INTERPRET-ITEM MESSAGE OPEN-GKS OPEN-WS POLYLINE POLYMARKER READ_ITEM-FROM_GKSM REDRAW _ALL_SEGMENTS-ON_ -WS
RENAME-SEGMENT
REQUEST-CHOICE
REQUEST-LOCATOR
REQUEST-PICK
REQUEST-STRING
REQUEST-STROKE
REQUEST-VALUATOR
SAMPLE-CHOICE
SAMPLE-LOCATOR
SAMPLE-PICK
SAMPLE-STRING |
УЗНАТЬ ИМЕНА СУЩЕСТВУЮЩИХ СЕГМЕНТОВ УЗНАТЬ ИМЕНА СЕГМЕНТОВ, ХРАНИМЫХ НА СТАНЦИИ УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА ВВОДА СТРОКИ УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА ВВОДА ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИИ УЗНАТЬ ГАБАРИТЫ ТЕКСТА УЗНАТЬ ВОЗМОЖНОСТИ ПРЕДСТАВЛЕНИЯ ТЕКСТА УЗНАТЬ ПРЕДСТАВЛЕНИЕ ТЕКСТА УЗНАТЬ СОСТОЯНИЕ УСТРОЙСТВА ВВОДА ЧИСЛА УЗНАТЬ КАТЕГОРИЮ СТАНЦИИ УЗНАТЬ КЛАСС СТАНЦИИ УЗНАТЬ ТИП И ИДЕНТИФИКАТОР СВЯЗИ СТАНЦИИ УЗНАТЬ РЕЖИМЫ ЗАДЕРЖКИ И ОБНОВЛЕНИЯ СТАНЦИИ УЗНАТЬ ДОПУСТИМОЕ ЧИСЛО СТАНЦИЙ
УЗНАТЬ СОСТОЯНИЕ СТАНЦИИ УЗНАТЬ ПРЕОБРАЗОВАНИЕ СТАНЦИИ
ВСТАВИТЬ СЕГМЕНТ
ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ
СООБЩЕНИЕ
ОТКРЫТЬ ЯГС
ОТКРЫТЬ СТАНЦИЮ
ЛОМАНАЯ
ПОЛИМАРКЕР
ПРОЧИТАТЬ ЗАПИСЬ ИЗ ЯГС ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ ПЕРЕИМЕНОВАТЬ СЕГМЕНТ ЗАПРОСИТЬ УСТРОЙСТВО ВЫБОРА ЗАПРОСИТЬ ВВОД ПОЗИЦИИ ЗАПРОСИТЬ УКАЗАНИЯ ЗАПРОСИТЬ ВВОД СТРОКИ ЗАПРОСИТЬ ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ ЗАПРОСИТЬ ВВОД ЧИСЛА ОПРОСИТЬ ВЫБОР
ипнииигь ВВОД ПОЗИЦИИ ОПРОСИТЬ УКАЗАНИЕ ОПРОСИТЬ ВВОД СТРОКИ |
S AMPLE _ST ROKE
SAMPLE-VALUATOR
SELECT-NORMAUZATION-
-TRANSFORMATION
SET-ASF
SET_CHAR-EXPANSION-FACTOR
SET_CHAR_HEIGHT SET-CHAR_ SPACING SET_CHAR_UP_VECTOR SET-CHOICE_MODE
SET-CLIPPING-INDICATOR SET_COLOUR-REPRESENTATION SET_DEFERRAL_STATE SET-DETECT ABILITY
SET-FILL-AREA-COLOUR-
-INDEX
SET_FILL_AREA-INDEX
$ET-FILL-AREA-1NTERI0R_
-STYLE
SET-FILL-AREA-
-REPRESENTATION
SET_FILL_AREA_STYLE-1NDEX
SET-HIGHLIGHTING
SET-LINETYPE
SET-LINEWIDTH-SCALE-FACTOR
SET_LOCATOR_MODE
SET-MARKER-SIZE-SCALE-
РАГТПР
SET-MARKER-TYPE
SET-PATTERN-REFERENCE-
-POINT
SET-PATTERN-REPRESENTATION
SET-PATTERN-SIZE SET-PICK-ID
SET-PICK-MODE
SET-POLYLINE-COLOUR-INDEX |
ОПРОСИТЬ ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ ОПРОСИТЬ ВВОД ЧИСЛА ВЫБРАТЬ ПРЕОБРАЗОВАНИЕ НОРМИРОВАНИЯ ЗАДАТЬ ФЛАГИ ВЫБОРКИ АТРИБУТОВ
ЗАДАТЬ МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ ЗАДАТЬ ВЫСОТУ ЛИТЕР ЗАДАТЬ МЕЖЛИТЕРНЫЙ ПРОСВЕТ ЗАДАТЬ ВЕРТИКАЛЬ ЛИТЕРЫ ЗАДАТЬ РЕЖИМ УСТРОЙСТВА ВЫБОРА
ЗАДАТЬ ИНДИКАТОР ОТСЕЧЕНИЯ ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ЦВЕТА ЗАДАТЬ РЕЖИМ ЗАДЕРЖКИ ЗАДАТЬ ЧУВСТВИТЕЛЬНОСТЬ К УКАЗАНИЮ ЗАДАТЬ ИНДЕКС ЦВЕТА ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ЗАДАТЬ ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ЗАДАТЬ ВИД ЗАПОЛНЕНИЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ЗАДАТЬ ИНДЕКС ЗАПОЛНИТЕЛЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ ЗАДАТЬ ВЫДЕЛЕНИЕ ЗАДАТЬ ТИП ЛИНИЙ ЗАДАТЬ МАСШТАБ ТОЛЩИНЫ ЛИНИИ
ЗАДАТЬ РЕЖИМ УСТРОЙСТВА ВВОДА ПОЗИЦИИ ЗАДАТЬ МАСШТАБ МАРКЕРА
ЗАДАТЬ ТИП МАРКЕРА ЗАДАТЬ ТОЧКУ ПРИВЯЗКИ ШАБЛОНА
ЗАДАТЬ ПРЕДСТАВЛЕНИЕ ШАБЛОНА
ЗАДАТЬ РАЗМЕР ШАБЛОНА ЗАДАТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ
ЗАДАТЬ РЕЖИМ УСТРОЙСТВА УКАЗАНИЯ
ЗАДАТЬ ИНДЕКС ЦВЕТА ЛОМАНОЙ |
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСТ P 34.1702.3—92
(ИСО 8651—3—88)
Информационная технология МАШИННАЯ ГРАФИКА Связь ядра графической системы с языком программирования Ада
Information technology. Computer graphics — Graphical. Kernel System (GKS) language bindings — Ada
ОКСТУ 0034
Дата введения 01.01.94
Настоящий стандарт устанавливает правила привязки ядра графической системы (ЯГС) (ГОСТ 27817) к языку программирования Ада (ИСО 8651—3) и определяет:
имена и списки параметров процедур на языке Ада, соответствующие функциям ЯГС;
имена типов данных ЯГС в языке Ада; структуры данных ЯГС в языке Ада; имена функции обработки ошибок.
Настоящий стандарт не устанавливает: структуры и методы реализации ЯГС; требования к операционной среде и оборудованию; методы связи ЯГС с другими языками программирования, отличными от языка Ада.
2. ССЫЛКИ
В качестве описания правил привязки ЯГС к языку программирования Ада использован международный стандарт ИСО 8651—3—88, приведенный в приложении.
Издание официальное ★
Настоящий стандарт не может быть полностью или частично воспроизведен» тиражирован и распространен без разрешения Госстандарта России
С 2 ГОСТ Р 34.1702.3-92
ПРИЛОЖЕНИЕ МЕЖДУНАРОДНЫЙ СТАНДАРТ
Системы обработки информации МАШИННАЯ ГРАФИКА Связь ядра графической системы с языком программирования Ада
ИСО 8651'—3—88
ПРЕДИСЛОВИЕ
Международный стандарт ИСО 8651—3 разработан Техническим комитетом ИСО/СТК 1 «Системы обработки информации».
ИСО 8651 состоит из следующих частей под общим заголовком «Системы обработки информации. Машинная графика. Связь ядра графической системы (ЯГС) с языками программирования: Часть 1. Фортран.
Часть 2. Паскаль.
Часть 3. Ада.
0. ВВЕДЕНИЕ
Функциональное описание ядра графической системы (ЯГС) содержащееся в ГОСТ 27817 (ИСО 7942), сформулировано независимым от языка программирования способом и должно быть окружено слоем, зависящим от языка программирования (привязка к языку) для использования с определенным языком программирования.
Цель настоящего стандарта части ИСО 8651 — определение стандартной привязки к языку программирования Ада.
1. НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ
ГОСТ 27817 (ИСО 7942) определяет языконезависимое ЯГС. Для включения его в язык программирования ЯГС помещается на
ГОСТ Р 34Л782<*~#2 С. 1
языковозависимый уровень, отвечающий соответствующим положениям этого языка. Настоящая часть ИСО 8651 определяет такой языковозависимый уровень для языка программирования Ада.
2. ССЫЛКИ
ГОСТ 27817 (ИСО 7942—85) Системы обработки информации. Машинная графика. Описание функций ядра графической системы (ЯГС).
ГОСТ 27831 (ИСО 8652—86) Язык программирования Ада^
3. СВЯЗЬ ЯГС С ЯЗЫКОМ АДА
Данная связь не предполагает, что компилятор поддерживает любые свойства языка Ада, которые являются зависящими от реализации, но подразумевает, что компилятор будет способен поддерживать декларации, входящие в связывание GKS/Ада. Не делается никаких предположений относительно машинного представления предопределенных типов чисел в Аде.
Данная связь предполагает, что прикладной программист будет применять имя файла ошибок и идентификатор связи, которые будут иметь формат, приемлемый для реализации Ады.
В данной связи не делается предположения относительно формата строки, определяющей имя файла ошибок или идентификатор связи для устройства или метафайла.
3.1. Условия соответствия стандарту
Данная связь включает правила, определенные в стандарте ГОСТ 27817 (ИСО 7942) со следующими дополнительными требованиями, специально заданными для реализации ЯГС в языке Ада.
Для определения соответствия или несоответствия реализации данному связыванию установлены следующие критерии:
а) реализация ЯГС в Аде соответствует уровню ЯГС, если она точно выполняет декларации для данного уровня ЯГС и более низких уровней, определенных данным связыванием;
б) семантика реализации должна соответствовать стандарту ЯГС с модификациями и расширениями для Ады, установленными в данном документе;
в) модуль, соответствующий реализуемому уровню ЯГС, должен быть доступен в виде блока библиотеки Ады с именем, определенным в данном документе.
С. 4 ГОСТ Р 34.! 702.S—92
3.2. Включение в язык
3.2.1.Отображение функций
Все функции ЯГС отображаются в процедуры Ады. Отображение использует «один-в-один» соответствие между функциями ЯГС и процедурами Ады, исключая функции ЯГС «Узнать текущий атрибут примитива» и «Узнать индивидуальный атрибут». Они связаны с отдельной процедурой Ады для каждого из запрашиваемых атрибутов; атрибуты связываются с одной записью.
3.2.2. Реализация и зависимость от компьютера
Существует ряд зависимостей от реализаций и компьютера, связанных с компилятором Ады и используемыми процедурами системы. Это будет влиять на переносимость прикладных программ и их использование ЯГС. Прикладному программисту следует придерживаться принятой практики обеспечения переносимости программ на языке Ада, чтобы избежать возникновения проблем при переносе прикладного программного обеспечения на Другую систему. К зависимостям от реализаций относятся управление памятью и процессором.
3.2.3. Обработка ошибок
Справочные функции используют параметры индикаторов для возврата ошибок и не порождают прерываний. В языке Ада прикладная программа должна гарантировать, что индикаторы ошибок проверяются до попыток обращения к другим параметрам, так как некоторые реализации Ады не порождают прерываний, если обнаружено неопределенное значение.
Требования ЯГС по обработке ошибок можно выразить следующим образом.
1. По умолчанию процедура, названная ERROR-HANDLING, будет обеспечивать простую регистрацию ошибок вызовом ERROR-LOGGING. Она вызывается из функций ЯГС, обнаруживших ошибку.
2. Процедура ERROR-HANDLING может быть заменена пользователем на другую.
Процедура ERROR-HANDLING задается, как библиотечная подпрограмма;
with GKS-TYPES;
use GKS-TYPES;
procedure ERROR-HANDLING (ERROR-INDICATOR
: in ERROR-NUMBER;
GKS-FUNCTION : in STRING;
ERROR-FILE : in STRING : =DEFAULT_ERROR-FILE);
ГОСТ Р 34.1702.3-92 С. В
Процедура ERROR-HANDLING определяется как библиотечная процедура и не декларируется внутри пакета ЯГС.
Данная связь определяет два различных тела для этой программы; каждое должно быть представлено реализацией. Тело по умолчанию — это одна из требуемых ЯГС семантических конструкций. Это просто вызов ERROR LOGGING и возврат. Функция ЯГС должна быть написана так, чтобы она не поддерживала GKS-ERROR (это требование реализации). Таким образом, в соответствии с правилами языка Ада прерывание распространяется назад к прикладной программе, вызвавшей функцию GKS, в которой обнаружилась ошибка.
Смысл пользовательской замены тела, применяемого по умолчанию, на версию,.порождающую прерывание, зависит от менеджера библиотеки Ады. Некоторые реализации поддерживают множество версий тела с одной спецификацией или допускают применение иерархических библиотек с разделением общих блоков. В других реализациях может оказаться необходимым дублировать библиотеку семантических конструкций для каждой версий ERROR HALDING,
Ошибки GKS отображаются в одно прерывание GKS-ERROR,. декларированное в пакете GKS. Предполагаемый стиль в обработке ошибок с использованием прерываний состоит в том, чтобы обеспечить обработчик для прерываний GKS-ERROR.
3.2.4. О т о б р а ж е н и е данных
Простые и составные типы данных ЯГС связываются с различными скалярными и составными типами языка Ада. Ограничения на допустимые значения отображаются, где это возможно, в определениях типов. Общее соотношение между типами данных ЯГС и типами данных Ады следующее:
целые ЯГС отображаются в целые типы Ады; действительные ЯГС отображаются в типы с плавающей запятой Ады;
строки ЯГС отображаются в тип STRING Ады или в тип,, предназначенный для строк переменной длины;
указатели ЯГС отображаются в типы записи Ады; имена ЯГС отображаются в дискретный тип Ады; нумерация ЯГС отображается в тип нумерации Ады; вектора ЯГС отображаются в тип записи Ады; матрицы (matrix) ЯГС отображаются в типы массив (array) Ады;
списки ЯГС из элементов конкретного типа отображаются в приватный тип Ады, декларированный в общем пакете GKS— -LIST-UTILITIES;
массивы ЯГС отображаются либо в тип неограниченной матрицы, либо в тип записи, предоставляемый для массивов переменной длины;
упорядоченные пары ЯГС отображаются в типы записей Ады;
записи данных ЯГС отображаются в приватные типы Ады.
В некоторых случаях набор подпрограмм для обработки записей данных явно определяется данным стандартом. Реализация яге может предоставить другие подпрограммы для манипулирования зависящими от реализации данными.
3.2.5. Многозадачность
В определении языка Ада дается явная поддержка параллельности. Модель организации прохождения задачи включает средства для декларирования и выделения задачи и операции, допускающие межзадачную связь и синхронизацию.
Стандарт ЯГС не требует и не запрещает в реализации защиту от проблем, которые могут возник путь при асинхронном доступе к структурам данных ЯГС из параллельных задач. В пользовательской документации по реализации ЯГС должна содержаться информация о том, введена ли защита от таких проблем.
Приложение Д представляет собой пособие для тех, кто хочет, ■чтобы поддерживались многозадачные прикладные программы. Приложение не является составной частью стандарта, а предоставляет дополнительную информацию.
3.2.6. Пакетирование
Стандарт ЯГС определяет девять уровней графической функциональности, где уровень Оа является низшим, а 2с — высшим уровнем. В реализации ЯГС можно сделать систему единой, а можно реализовать каждый уровень отдельно. Для поддержки этой концепции данный стандарт определяет девять пакетов Ады, которые соответствуют каждому уровню ЯГС. Каждый из этих пакетов именуется package GKS is ... end GKS, чтобы обеспечить переносимость прикладных программ для уровней ЯГС. Однако содержимое пакетов различается в зависимости от уровня ЯГС, который они реализуют. Каждый из этих пакетов предоставляет подпрограммы, айределенные для их уровней и все подпрограммы, заданные в нижних уровнях, как определено в п. 5.1. С каждым из этих пакетов связаны пакеты типов данных, которые обеспечивают декларации типов для соответствующего уровня, как определено в п. 4.2, а ЯГС определяет прерывания, приведенные в п. 4.3.1. Данные пакеты именуются package GKS-TYPES is ... end GKS-TYPES.
Средства библиотек программ Ады следует использовать для обеспечения отделения уровней. Так графические прикладные
ГОСТ Р 34.1702.3-82 С 7
программы на Аде, которые используют ЯГС, должны включать соответствующие пакеты ЯГС, которые предоставляют подпрограмму, типы и прерывания для данного уровня компилированием и включением соответствующей библиотеки Ады, которая содержит данный уровень ЯГС. Например, прикладная программа* которая использует уровень Оа, могла бы выглядеть следующим образом:
with GKS;
use GKS-TYPES;
procedure APPLICATION is
begin
null;
end APPLICATION.
Далее программа компилируется и связывается с библиотекой программ Ады, которая соответствует уровню 0а.
Данный стандарт определяет и ряд дополнительных блоков Ады. Ими являются общие пакеты:
GKS-COORDINATE-SYSTEM;
GKS-LIST-UTILITIES.
Эти общие пакеты поддерживают типы деклараций в пакете GKS-TYPE, описанном выше. GK,S_COORDINATE_SYSTEM представляет собой общий пакет, в котором определен ассортимент типов для поддержания каждой координатной системы ЯГС GRS-_LIST_UTILITIES является также общим пакетом, который предоставляет декларации списков и операции для типов списков, которые соответствуют типам списков ЯГС.
3.2.7. Среда прикладных программ Прикладная программа, применяющая реализацию ЯГС в языке Ада, должна будет знать среду, в которой находятся и ЯГС и прикладная программа.
Одним таким интерфейсом является библиотека программ Ады. Язык Ада требует, чтобы прикладная программа имела доступ к библиотеке программ, в которой размещается программное обеспечение ЯГС. Справочное руководство по языку Ада ИСО 8652 не определяет, должна быть одна библиотека или их может быть много, как предоставляется доступ к библиотеке и так далее-Пользовательская документация по реализации ЯГС должна содержать информацию о том, где в системе находится библиотека ЯГС и как осуществляется к ней доступ.
Интерфейсы ввода/вывода также являются зависящими от реализации и требуют описания в пользовательской документации. Должны быть включены в документацию интерфейсы с фaft-
1
В соответствии с правилами назначения и работы Органов регистрации в директивах ИСО Совет ИСО для этой части (ИСО 86151) назначил Национальное бюро стандартов (Научно-производственный институт ЭВМ) как орган регистрация AJS6 Tfec Imology Building, Gaithersburg, MD, 20E99, USA.