Статус документа
Статус документа

ГОСТ Р 34.1702.3-92 (ИСО 8651-3-88) Информационная технология (ИТ). Машинная графика. Связь ядра графической системы с языком программирования АДА (с Поправкой)

     

5. ФУНКЦИИ В АДЕ, СВЯЗАННЫЕ С ЯДРОМ ГРАФИЧЕСКОЙ СИСТЕМЫ

5.1. Функции ЯГС

OPEN GKS

ОТКРЫТЬ GKS

Уровень 0а

procedure OPEN_GKS

(ERROR_FILE

: in STRING := DEFAULT_ERROR_FILE;

AMOUNT_OF_MEMORY

: in NATURAL := DEFAULT_MEMORY_UNITS);

CLOSE GKS

ЗАКРЫТЬ ЯГС

Уровень 0а

procedure CLOSE_GKS

OPEN WORKSTATION

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

Уровень 0а

procedure OPEN_WS

(WS

: in WS_ID;

CONNECTION

: in STRING;

TYPE_OF_WS

: in WS_TYPE);

CLOSE WORKSTATION

ЗАКРЫТЬ СТАНЦИЮ

Уровень 0а

procedure CLOSE_WS

(WS

: in WS_ID);

ACTIVATE WORKSTATION

АКТИВИРОВАТЬ СТАНЦИЮ

Уровень 0а

procedure ACTIVATE_WS

(WS

: in WS_ID);

DEACTIVATE WORKSTATION

ДЕАКТИВИРОВАТЬ СТАНЦИЮ

Уровень 0а

procedure DEACTIVATE_WS

(WS

: in WS_ID;

CLEAR WORKSTATION

ОЧИСТИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ

Уровень 0а

procedure CLEAR_WS

(WS

: in WS_ID;

FLAG

: in CONTROL_FLAG);

REDRAW ALL SEGMENTS ON

WORKSTATION

ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ

Уровень 1а

procedure REDRAW_ALL_SEGMENTS_ON_WS

(WS

: in WS_ID);

UPDATE WORKSTATION

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

Уровень 1а

procedure UPDATE_WS

(WS

: in WS_ID,

REGENERATION

: in UPDATE_REGENERATION_FLAG);

SET DEFERRAL STATE

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

Уровень 1а

procedure SET_DEFERRAL_STATE

(WS

: in WS_ID;

DEFERRAL

: in DEFERRAL_MODE;

REGENERATION

: in REGENERATION_MODE);

MESSAGE

СООБЩЕНИЕ

Уровень 1a

procedure MESSAGE

(WS

: in WS_ID;

CONTENTS

: in STRING);

ESCAPE

РАСШИРЕНИЕ

Уровень 0а


Функции расширения рассматриваются в данном связывании как отдельные процедуры для каждого типа расширения, предоставляемого реализацией, каждая со списком формальных параметров, соответствующих реализованной процедуре. Зарегистрированные процедуры ESCAPE будут находиться в библиотечном пакете, названном GKS_ESCAPE. Имена и параметры ESCAPE зарегистрированы в Международном журнале графических элементов ИСО, который ведется Органом регистрации.

Каждая незарегистрированная процедура ESCAPE будет находиться в библиотечном пакете; при этом используются следующие соглашения по именованию:

package GKS_UESC_<имя процедуры расширения> is

procedure ESC;

- код на Аде для процедуры UESC

end GKS_UESC_<имя процедуры расширения>;


- Единственным именем процедуры, используемым в пакете, будет ESC

Для того, чтобы поддержать возможность записывать ESCAPE в метафайл, эти зарегистрированные расширения могут быть привлечены, используя типы данных и форму процедуры GENERALIZED_ESC, которая имеет спецификацию, приведенную ниже:

package GKS_ESCAPE is

type ESCAPE_ID is new INTEGER;

type ESCAPE_FLOAT is digits PRECISION;

type ESC_INTEGER_ARRAY is array (SMALL_NATURAL

range <>) of INTEGER;

type ESC_FLOAT_ARRAY is array (SMALL_NATURAL

range <>) of ESCAPE_FLOAT;

type ESC_STRING_ARRAY is array (SMALL_NATURAL

range <>) of STRING (1 .. 80);

type ESC_DATA_RECORD (NUM_OF_INTEGER

: SMALL_NATURAL :=0;

NUM_OF_REALS

: SMALL_NATURAL :=0;

NUM_OF_STRING

: SMALL_NATURAL :=0) is

record

INTEGER_ARRAY : ESC_INTEGER_ARRAY

(1 .. NUM_OF_INTEGERS);

REAL_ARRAY : ESC_FLOAT_ARRAY (1 .. NUM_OF_REALS);

ESC_STRINGS : ESC_STRING_ARRAY

(1 .. NUM_OF_STRINGS);

end record;

procedure GENERALIZED_ESC

(ESCAPE_NAME : in ESCAPE_ID;

ESC_DATA_IN : in ESC_DATA_RECORD;

ESC_DATA_OUT: in ESC_DATA_RECORD);

end GKS_ESCAPE;

Представляет типы данных и процедуры для реализации неподдерживаемых расширений.

POLYLINE

ЛОМАНАЯ

Уровень 0а

procedure POLYLINE

(POINTS

: in WC. POINT_ARRAY);

POLYMARKER

ПОЛИМАРКЕР

Уровень 0а

procedure POLYMARKER

(POINTS

: in WC. POINT_ARRAY);

TEXT

ТЕКСТ

Уровень 0а

procedure TEXT

(POSITION

: in WC. POINT;

CHAR_STRING

: in STRING);

FILL AREA

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ

Уровень 0а

procedure FILL_AREA

(POINTS

: in WC. POINT_ARRAY);




     CELL_ARRAY

МАТРИЦА ЯЧЕЕК

Уровень 0а

procedure CELL_ARRAY

(CORNER_1_1

: in WC. POINT;

CORNER_DX_DY

: in WC. POINT;

CELLS

: in COLOUR_MATRIX);

GENERALIZED DRAWING PRIMITIVE

ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА

Уровень 0а


Обобщенный графический примитив вывода ОПВ связывается по принципу один во многие с отдельной процедурой, реализованной для каждого ОПВ, каждая из которых имеет свой собственный интерфейс. Зарегистрированные ОПВ находятся в библиотечном пакете, названном GKS_GDR. Имена ОПВ и параметры зарегистрированы в Международном журнале графических записей ИСО, который ведется Органом регистрации.

Каждая незарегистрированная процедура GDP будет находиться в библиотечном пакете, использующем следующие правила именования:

package GKS_UGDP_<имя процедуры GDP>

procedure GDP;

- код на Аде процедуры UGDP

end GKS_UGDP_<имя процедуры GDP>;


- Единственным именем процедуры, используемым в пакете, будет GDP


Для того, чтобы поддержать возможность записывать ОПВ данной реализации в метафайл, эти зарегистрированные ОПВ могут быть привлечены, используя типы данных и форму процедуры GENERALIZED_GDP, которая имеет следующую спецификацию:

package GKS_GDP is

type GDP_FLOAT is digits PRECISION;

type GDP_INTEGER_ARRAY is array (SMALL_NATURAL

range <>)

of INTEGER;

type GDP_FLOAT_ARRAY is array (SMALL_NATURAL

range <>) of GDP_FLOAT;

type GDP_STRING_ARRAY is array (SMALL_NATURAL

range <>) of STRING (1 .. 80);

type GDP_DATA_RECORD (NUM_OF_INTEGERS : SMALL_NATURAL : =0;

NUM_OF_REAL : SMALL_NATURAL : =0;

NUM_OF_STRINGS : SMALL_NATURAL : =0)

is

record

INTEGER_ARRAY : GDP_INTEGER_ARRAY (1 .. NUM_OF_INTEGERS);

REAL_ARRAY : GDP_FLOAT_ARRAY (1 .. NUM_OF_REALS);

GDP_STRINGS : GDP_STRING_ARRAY (1 .. NUM_OF_STRINGS);

end record;

procedure GENERALIZED_GDP (GDP_NAME : in GDP_ID;

POINTS : in WC. POINT_LIST;

GDP_DATA : in GDP_DATA_RECORD);

end GKS_GDP;


Предоставляет типы данных и процедуру для реализации неподдержанных обобщенных примитивов вывода.