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 | ||||
ПЕРЕРИСОВАТЬ ВСЕ СЕГМЕНТЫ НА СТАНЦИИ | Уровень 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; | ||||||
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; | ||||||
(ESCAPE_NAME : in ESCAPE_ID; | ||||||
Представляет типы данных и процедуры для реализации неподдерживаемых расширений. | ||||||
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>;
|
Для того, чтобы поддержать возможность записывать ОПВ данной реализации в метафайл, эти зарегистрированные ОПВ могут быть привлечены, используя типы данных и форму процедуры GENERALIZED_GDP, которая имеет следующую спецификацию:
package GKS_GDP is | ||||
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; | ||||
is | ||||
end record; | ||||
procedure GENERALIZED_GDP (GDP_NAME : in GDP_ID; | ||||
POINTS : in WC. POINT_LIST; | ||||
end GKS_GDP; |
Предоставляет типы данных и процедуру для реализации неподдержанных обобщенных примитивов вывода.