Information processing systems — Computer graphics — Graphical Kernel System (GKS) functional description

Systèmes de traitement de l'information — Infographie — Système graphique de base (GKS) — Description fonctionnelle

General Information

Status
Withdrawn
Publication Date
31-Jul-1985
Withdrawal Date
31-Jul-1985
Current Stage
9599 - Withdrawal of International Standard
Completion Date
27-Oct-1994
Ref Project

Relations

Buy Standard

Standard
ISO 7942:1985 - Information processing systems -- Computer graphics -- Graphical Kernel System (GKS) functional description
English language
245 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 7942:1985 - Systemes de traitement de l'information -- Infographie -- Systeme graphique de base (GKS) -- Description fonctionnelle
French language
245 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

International Standard @ 7942
INTERNATIONAL ORGANIZATION FOR STANDARDIZATIONOMEXAYHAPOAHAR OPrAHHSAllMR Il0 CTAHLlAPTH3AllHMOORGANlSATlON INTERNATIONALE DE NORMALISATION
e Information processing systems - Computer graphics -
Graphical Kernel System (GKS) functional description
Systèmes de traitement de I'information - Langage de programmation graphique - GKS (Graphical Kernel System) description
fonctionnelle
First edition - 1985-08-15
- UDC 681.3.06:003.6 Ref. No. IS0 7942-1985 (E)
E
Ln
Descriptors : data processing, information interchange, graphic data processing, programming (computers), programming languages, computer
graphics.
1
Price based on 245 pages
2

---------------------- Page: 1 ----------------------
Foreword
IS0 (the International Organization for Standardization) is a worldwide
federation of national standards bodies (IS0 member bodies). The work of
preparing International Standards is normally carried out through IS0
technical committees. Every member body interested in a subject for which
a technical committee has been established has the right to be represented on
that committee. International organizations, governmental and non-
governmental, in liaison with ISO, also take part in the work.
Draft International Standards adopted by the technical committees are cir-
culated to the member bodies for approval before their acceptance as Inter-
national Standards by the IS0 Council. They are approved in accordance
with IS0 procedures requiring at least 75% approval by the member bodies
voting.
International Standard IS0 7942 was prepared by Technical Committee
ISO/TC 97, Information processing systems.
O International Organization for Standardization, 1985 O
I Printed in Switzerland

---------------------- Page: 2 ----------------------
Contents
Page
O Introduction . 1
Scope and field of application . 3
1
2 References . 4
3 Definitions . 5
4 The Graphical Kernel System . 9
4.1 About this standard . 9
4.1.1 Specification . 9
4.1.2 Registration . 9
Introduction to GKS . .’. 10
4.2
4.3 Concepts . 12
4.4 Graphical output . 14
4.4.1 Output primitives . 14
Output primitive attributes . 14
4.4.2
4.4.3 Polyline attributes . 18
4.4.4 Polymarker attributes . 19
4.4.5 Text attributes . 19
Fill area attributes . 28
4.4.6
4.4.7 Cell array attributes . 29
4.4.8 Generalized Drawing Primitive attributes . 29
4.4.9 Colour . 29
4.5 Workstations . 31
4.5.1 Workstation characteristics . 31
Selecting a workstation . 32
4.5.2
Deferring picture changes . 33
4.5.3
Clearing the display surface . 35
4.5.4
4.5.5 Elimination of primitives outside segments . 36
4.5.6 Sending messages to a workstation . 36
4.6 Coordinate systems and transformations . 37
4.6.1 Normalization transformations . 37
4.6.2 Clipping . 37
4.6.3 Workstation transformations . 38
4.6.4 Transformation of locator input . 40
4.6.5 Transformation of stroke input . 42
4.7 Sernents . 43
4.7.1 Introduction to segments . 43
4.7.2 Segment attributes . 44

---------------------- Page: 3 ----------------------
4.7.3 Segment transformati s . 44
4.7.4 Clipping and WDSS . 45
4.7.5 Workstation Independent Segment Storage . 45
4.7.6 WISS functions and clipping . 45
4.8 Graphical input . 47
4.8.1 Introduction to logical input devices . 47
4.8.2 Logical input device model . 48
4.8.3 Operating modes of logical input devic
4.8.4 Measures of each input class .
4.8.5 Input queue and current event report .
4.8.6 Initialisation of input devices . 52
4.9 GKS Metafile interface . 54
4.10 GKS levels . . 56
4.10.1 Introduction to levels . 56
4.10.2 The level structure .
4.10.3 Level functionality .
4.11
States of GKS and inquiry functions .
4.11.1 Description of states .
4.1 1.2 Inquiry functions .
4.12 Error handling . 63
4.13 Special interfaces between GKS and the application program . 65
GKS functions . 66
5.1 Notational conventions . 66
5.2 Control functions . 67
5.3 Output functions . 74
5.4 Output attrib . 80
ion independent primitive attributes . 80
5.4.2 Workstation attributes (representations) . 90
5.5 Transformation functions . 96
5.5.1 Normalization transformation . 96
5.5.2 Workstation transformation . 97
5.6 Segment functions . 99
5.6.1 Segment manipulation functions . 99
5.6.2 Segment attributes . 103
5.7 Input functions . 106
5.7.1 Initialisation of input devices . 106
5.7.2 Setting the mode of input devices . 113
5.7.3 Request input functions . 116
5.7.4 Sample input functions . 119
5.7.5 Event input functions . 122
5.8 Metafile functions . 126
5.9 Inquiry functions . 128
5.9.1 Introduction to inquiry functions . 128
5.9.2 Inquiry function for operating state value . 128
5.9.3 Inquiry functions for GKS description table . 128
5.9.4 Inquiry functions for GKS state list . 130
5.9.5 Inquiry functions for workstation state list . 135
5.9.6 Inquiry functions for workstation description table . 152
5.9.7 Inquiry functions for segment state list . 169
5.9.8 Pixel inquiries . 170
5.9.9 Inquiry function for GKS error state list . 172
5.10 Utility functions . 173
5.1 1 Error handling . 174
GKS data structures .
6.1 Notation and data types .
6.2 Operating state . . 178
6.3 GKS description table

---------------------- Page: 4 ----------------------
6.4 GKS state list . 180
6.5 Workstation state list . 182
6.6 Workstation description table . 185
6.7 Segment state list . 189
6.8 GKS error state list . 190
Annexes
A Function lists . 191
A.l Alphabetic . 191
A.2 Order of appearance . 194
A.3 Ordered by level . 199
A.3.1 Level Oa . 199
A.3.2 Level Ob . 200
A.3.3 Level Oc . 201
A.3.4 Level la . 201
A.3.5 Level lb . 202
A.3.6 Level IC . 202
A.3.7 Level 2a . 202
A.4 Ordered by state . 202
A.4.1 Functions allowed in state GKCL . 202
AA2 Functions allowed in state GKOP . 203
A.4.3 Functions not allowed in state WSOP . 203
A.4.4 Functions not allowed in state WSAC . 204
A.4.5 Functions not allowed in state SGOP . 204
A.5 Applicability to workstation groups . 204
B Error list . 208
B.l Implementation dependent . 208
B.2 States . 208
B.3 Workstations . 208
B.4 Transformations . 208
B.5 Output attributes . 209
B.6 Output primitives . 209
B.7 Segments . 209
B.8 Input . 210
B.9 Metafiles . 210
B.10 Escape . 210
B.ll Miscellaneous . 210
B.12 System . 210
B.13 Reserved errors . 210
C Interfaces . 212
C . 1 General . 212
C.2 Language binding . 212
C.3 Implementation . 213
.................................. 214
D Allowable differences in GKS implementations
D.l General . 214
D.2 Global differences . 214
D.3 Workstation dependent differences . 215
E Metafile structure . 217
E.l Metafiles . 217
E.l.l General . 217
E.1.2 IS0 8632 Metafile . 217
E.1.3 Metafile designed for GKS . 217
File format and data format . 218
E.2
Generation of metafiles . 219
E.3
E.4 Interpretation of metafiles . 222
E.4.1 General . 222

---------------------- Page: 5 ----------------------
E.4.2 Control items . 222
E.4.3 Output primitives . . 222
E.4.4 Output primitive attributes . 222
E.4.5 Workstation attributes . 222
E.4.6 Transformations . 222
E.4.7 Segment manipulation . 222
E.4.8 Segment attributes . 222
E.5 Control items . 222
E.6 Items for output primitives . 225
E.7 Items for output primitive attributes . 226
E.8 Items for workstation attributes . 228
E.9 Items for transformations . 230
E.10 Items for segment manipulation . 230
E.ll Items for segment attributes . 230
E.12 User items . 231
F Sample programs . 232
G GKS functions summary . 239
G.l Control functions . 239
G.2 Output functions . 239
G.3 Output attributes . 240
G.3.1 Workstation independent primitive attributes . 240
G.3.2 Workstation attributes (representations) . 241
G.4 Transformation functions . 241
G.4.1 Normalization transformation . 241
GA2 Workstation transformation . 241
G.5 Segment functions . 242
G.5.1 Segment manipulation functions . 242
G.5.2 Segment attributes . 242
G.6 Input functions . 242
Initialisation of input devices . 242
G.6.1
Setting mode of input devices . 243
G.6.2
Request input functions . 243
G.6.3
Sample input functions . 243
G.6.4
Event input functions . 244
G.6.5
G.7 Metafile functions . 244
G.8 Inquiry functions . 244
G.9 Utility functions . 245
G.10 Error handling . 245
vi

---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD IS0 7942-1985 (E)
Information processing systems - Computer graphics -
Graphical Kernel System (GKS) functional description
O Introduction
The Graphical Kernel System (GKS) provides a set of functions for computer graphics programming. GKS is
a basic graphics system that can be used by the majority of applications that produce computer generated
pictures.
The main reasons for standardizing basic computer graphics are:
a) to allow application programs involving graphics to be easily portable between different installations;
b) to aid the understanding and use of graphics methods by application programmers;
c) to serve manufacturers of graphics equipment as a guideline in providing useful combinations of graph-
ics capabilities in a device.
In order to reach these main objectives, the GKS design was based on the following requirements:
d) GKS should include all the capabilities that are essential for the whole spectrum of graphics, from sim-
ple passive output to highly interactive applications.
e) The whole range of graphics devices, including vector and raster devices, microfilm recorders, storage
tube displays, refresh displays and colour displays should be controllable by GKS in a uniform way.
f) GKS should provide all the capabilities required by a majority of applications without becoming unduly
large.
These requirements were used to formulate a number of principles that were used to judge specific design
alternatives. Thus it was possible to contribute to the overall design goals while focussing on certain aspects.
Five design aspects were identified, each having a group of principles
g) Design goals: The following principles should not be violated by any technical design:
1) consistency: the mandatory requirements of GKS should not be mutually contradictory;
2) compatibility: other standards or commonly accepted rules of practice should not be violated;
3) orthogonality: the functions or modules of GKS should be independent of each other, or the depen-
dency should be structured and well defined.
h) Functional capabilities: The following principles were used to define the extent of GKS:
1) completeness: all functions that a majority of applications want to use on a given level of func-
tionality should be included;
2) minimality: functions that are unnecessary for applications of a given level of functionality should
not be provided;
3) compactness: an application should be able to achieve a desired result by a set of functions and
parameters that is as small as possible;
1

---------------------- Page: 7 ----------------------
IS0 7942- 1985( E)
Introduction
4) richness: a rich set of functions offers an extensive range of facilities that stretches beyond the basic
functions and includes higher order capabilities.
It is obvious that there is a trade off between the principles in this group. Therefore, the functions of GKS
are organized in nine levels. An implementation of GKS provides precisely the functions of one of these lev-
els. While the lowest level contains only a minimal set of functions, higher levels are allowed to extend
beyond the basic needs towards greater richness.
i) User interface design: The following principles were used to define the user interface design:
1) user friendliness: GKS should allow the design of a desirable user interface;
2) clarity: the concepts and functional capabilities of GKS should be easily understandable, especially
by the application programmer;
3) error handling: failure of system functions or modules, caused by errors of the system itself or by
the application program, should be treated in such a way that the error reaction is clearly understand-
able and informative to the application programmer and that the impact on the system and the appli-
cation program is as small as possible.
Clarity and sound error handling are essential parts of user friendliness. Error handling is an integral part
of GKS. To aid clarity, the system and its state can be presented to the user in an easily comprehensible
manner.
Clarity applies not only to the system design but also to the system description. To this end, the GKS
specification is divided into a general description, a description of the underlying logical data structures
a description of the functions and their effects on these data
representing the state of the system, and
structures.
j) Graphics devices: The following principles are associated with the range of graphics devices that can be
addressed by GKS:
1) device independence: GKS functions should be designed to allow an application program, using
these functions, to address facilities of quite different graphics output and input devices without
modification of the program structure;
2) device richness: the full capabilities of a wide range of different graphics output and input devices
should be accessible from the functions of GKS.
These principles led to a fundamental concept underlying the GKS architecture: the concept of multiple
independent graphical workstations connected to and driven by GKS. The application program can
inquire the capabilities of every workstation. The GKS design includes escape functions that are easily
identifiable within an application program and can be used to access special facilities of a particular dev-
ice.
k) Implementation: The last group of principles is related to the implementation of GKS:
1) implementability: it should be possible to support the GKS functions in most host languages, on
most operating systems and with most graphics devices;
2) language independence: it should be possible to access the standard facilities of GKS from all IS0
standard programming languages;
3) efficiency: GKS should be capable of being implemented without time consuming algorithms;
4) robustness: the operator and application programmer should be protected in the best possible way
from hardware or software failure of the system.
The five groups of principles are interconnected. For example, design goals and functional capabilities both
contribute to user friendliness. Efficiency is also important when considering response time in an interactive
environment. Some principles may be conflicting, such as richness versus minimality, comprehensive error
handling versus efficiency, and compactness versus device richness. Compromises needed to be made to
achieve the overall design objective: GKS should have an easily comprehensible structure and a set of func-
tions that enables a vast majority of computer graphics users to design portable, device independent applica-
tion programs addressing the whole range of computer graphics equipment.

---------------------- Page: 8 ----------------------
IS0 7942-1985(E)
1 Scope and field of application
This International Standard specifies a set of functions for computer graphics programming, the Graphical
Kernel System (GKS). GKS is a basic graphics system for applications that produce computer generated two
dimensional pictures on line graphics or raster graphics output devices. It supports operator input and
interaction by supplying basic functions for graphical input and picture segmentation. It allows storage and
dynamic modification of pictures. A fundamental concept in GKS is the workstation, consisting of a number
of input devices and a single output device. Several workstations can be used simultaneously. The application
program is allowed to adapt its behaviour at a workstation to make best use of workstation capabilities. This
International Standard includes functions for storage on and retrieval from an external graphics file. Last but
not least, the functions are organized in upward compatible levels with increasing capabilities.
NOTE - For certain parameters of the functions, GKS defines value ranges as being reserved for registration (see 4.1.2). The meanings
of these values will be defined using the established procedures.
GKS defines a language independent nucleus of a graphics system. For integration into a programming
language, GKS is embedded in a language dependent layer obeying the particular conventions of that
language.
Annexes C to G are given for information; they do not form part of the specification.
3

---------------------- Page: 9 ----------------------
IS0 7942-1985(E)
2 References
IS0 646, Information processing - IS0 7-bit coded character set for information interchange.
IS0 2022, Information processing - IS0 7-bit and %bit coded character sets - Code extension techniques.
IS0 2382113, Data processing - Vocabulary - Part 13: Computer graphics.
IS0 6093, Information processing - Representation of numerical values in character strings for information inter-
change.')
.IS0 8632, Information processing systems - Computer Graphics - Metajile for transfer and storage of picture
description information
- Part 1 : Functional description.')
- Part 2 : Character encoding.')
- Part 3 : Binary encoding.')
- Part 4 : Clear text encoding. ')

---------------------- Page: 10 ----------------------
IS0 7942-1985(E)
3 Definitions
This clause gives the definition of the important terms of the Graphical Kernel System (GKS).
NOTE - As far as possible, commonly accepted graphics terminology is used
3.1 acknowledgemenk Output to the operator of a logical input device indicating that a trigger has fired.
3.2 aspect ratio: A ratio of x to y used to describe the shape of a rectangle in a particular coordinate system
(for example, of a workstation window or a workstation viewport).
3.3 aspects of primitives: Ways in which the appearance of a primitive can vary. Some aspects are controlled
directly by primitive attributes, some are controlled indirectly through a bundle table. Primitives inside seg-
ments have an aspect controlled through the segment containing them, for example highlighting; primitives
outside segments do not.
3.4 attribute: A particular property that applies to a display element (output primitive) or a segment. Exam-
ples: highlighting, character height. In GKS, some properties of workstations are called workstation attri-
butes.
3.5 baseline: A horizontal line within a character body (see figure 3) which, for many character definitions,
has the appearance of being a lower limit of the character shape. A descender passes below this line. All
baselines in a font are in the same position in the character bodies.
3.6 bundle index: An index into a bundle table for a particular output primitive. It defines the workstation
dependent aspects of the primitive.
3.7 bundle table: A workstation dependent table associated with a particular output primitive. Entries in the
table specify all the workstation dependent aspects of a primitive. In GKS, bundle tables exist for the follow-
ing output primitives: polyline, polymarker, text and fill area.
3.8 capline: A horizontal line within a character body (see figure 3) which, for many character definitions, has
the appearance of being the upper limit of the character shape. An ascender may pass above this line and in
some languages an additional mark (for example an accent) over the character may be defined above this line.
All caplines in a font are in the same position in the character bodies.
3.9 cell array: A GKS output primitive consisting of a rectangular grid of equal size rectangular cells, each
having a single colour.
NOTE - These cells do not necessarily map one-to-one with pixels.
3.10 centreline: A vertical line bisecting the character body (see figure 3).
3.11 character body: A rectangle used by a font designer to define a character shape (see figure 3). All charac-
ter bodies in a font have the same height.
3.12 choice device: A GKS logical input device providing a non-negative integer defining one of a set of alter-
natives.
3.13 clip
...

Norme internationale @ 7942
INTERNATIONAL ORGANIZATION FOR STANOAROIZATlONOME~YHAPO~HAR OPrAHHIAUMR no CTAHaAPTH3AUMH.ORGANlSATlON INTERNATIONALE DE NORMALISATION
Systèmes de traitement de l'information -
Infographie - Système graphique de base (GKS) -
Description fonction ne1 I e
Information processing systems - Computer graphics - Graphical Kernel System IGKSI functional description
Première édition - 1985-08-15
CDU ô81.3.06:003.6 Réf. no : IS0 7942-1985 (FI
Descripteurs : traitement de l'information, échange d'information, traitement de l'information graphique, description.
/
Prix basé sur 245 pages

---------------------- Page: 1 ----------------------
Avant-propos
L'ISO (Organisation internationale de normalisation) est une fédération mondiale
d'organismes nationaux de normalisation (comités membres de I'ISO). L'élaboration
des Normes internationales est normalement confiée aux comités techniques de I'ISO.
Chaque comité membre intéressé par une étude a le droit de faire partie du comité
technique créé à cet effet. Les organisations internationales, gouvernementales et non
gouvernementales, en liaison avec I'ISO participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I'ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I'ISO qui requièrent l'approbation de 75 % au moins des
comités membres votants.
La Norme internationale IS0 7942 a été élaborée par le comité technique ISO/TC 97,
Systèmes de traitement de I'information.
@ Organisation internationale de normalisation, 1985
Version française tirée en 1987
Imprimé en Suisse

---------------------- Page: 2 ----------------------
IS0 7942-1985 (FI
Page
Sommaire
O Introduction . 1
1 Objet et domaine d'application . 3
2 Références . 3
3 Définitions . 3
.......................................
4 LenoyaugraphiqueGKS . 9
4.1 La norme . 9
. .
4.1 1 Spécification . 9
4.1.2 Enregistrement . 9
4.2 Introduction à GKS . 9
4.3 Concepts . . 10
4.4 Sorties graphiques . . 12
4.4.1 Primitives de sortie . 12
4.4.2 Attributs des primitives de sortie . 12
4.4.3 Attributs de POLYLIGNE . 16
4.4.4 Attributs de POLYMARQUE . 16
4.4.5 Attributs de texte . 17
4.4.6 Attributs de POLYGONE . 26
4.4.7 Attributs de MATRICE DE CELLULES . 27
4.4.8 Attributs de la PRIMITIVE GRAPHIQUE GÉNÉRALISÉE . 27
4.4.9 Couleur . 27
27
4.5 Postesdetravail .
4.5.1 Caractéristiques des postes de travail . 27
4.5.2 Sélection d'un poste de travail . 29
Modifications différées d'une image .
4.5.3 30
Effacement de la surface d'affichage .
4.5.4 32
iii
.

---------------------- Page: 3 ----------------------
IS0 7W-1985 (FI
Page
4.5.5 Élimination de primitives à l'extérieur dm segments . 32
33
4.5.6 Transmission de messages à un poste de travail .
4.6 Systèmes de coardonnées et transformations . 33
4.6.1 Transformation de normalisation . 33
4.6.2 Découpage . 34
4.6.3 Transformation de poste de travail . 34
Transformation de l'entrée releveur de coordonnées .
4.6.4 36
Transformations de l'entrée releveur d'une suite
4.6.5
de coordonnées . 38
4.7 Segments . 38
4.7.1 Introduction aux segments . 38
4.7.2 Attributs des segments . 39
4.7.3 Transformation des segments . 40
4.7.4 Découpage et stockage dépendant du poste de
travail (WDSS) . 40
4.7.5 Stockage de segments indépendant du poste de
travail (WISS) . 41
4.7.6 Fonctions WISS et découpage . 41
4.8 Entrées graphiques . 42
Introduction aux appareils logiques d'entrée . 42
4.8.1
Modèle d'appareil logique d'entrée .
4.8.2 43
Modes opératoires des appareils logiques d'entrée . 44
4.8.3
4.8.4 Mesures de chaque classe d'entrée . 45
4.8.5 File d'attente d'entrée et compte rendu courant d'événements 47
4.8.6 Initialisation des appareils d'entrée . 48
4.9 Interface avec le métafichier GKS . 48
4.10 Niveaux de GKS . 50
4.10.1 Introduction . 50
4.10.2 Structure des niveaux . 50
4.10.3 Fonctionnalité . 52
4.11 États de GKS et fonctions d'interrogation . 55
4.11.1 Description des états . 55
4.11.2 Fonctions d'interrogation . 56
iv

---------------------- Page: 4 ----------------------
4.13 Interfaces spéciales entre GKS et le programme d'application .
58
5 FonctionsGKS . 58
5.1 Conventions de notation . 58
5.2 Fonctions de contrôle . 59
5.3 Fonctions de sortie . 66
5.4 Attributs de sortie . 72
5.4.1 Attributs de primitives indépendants du poste de travail .
72
5.4.2 Attributs liés au poste de travail . 83
5.5 Fonctions de transformation . 88
5.5.1 Transformation de normalisation . 88
5.5.2 Transformation du poste de travail . 90
5.6 Fonctions relatives aux segments . 91
5.6.1 Fonctions de manipulation des segments . 91
5.6.2 Attributs des segments . 95
5.7 Fonctions d'entrée . 97
5.7.1 Initialisation des appareils d'entrée . 97
5.7.2 Établissement du mode des appareils d'entrée . 104
5.7.3 Fonctions requêtes . 106
5.7.4 Fonctions d'échantillonnage . 110
5.7.5 Fonctions d'événement . 113
5.8 Fonctions liées aux métafichiers . 116
5.9 Fonctions d'interrogation . 117
5.9.1 Introduction . 117
5.9.2 Fonction d'interrogation de l'état opératoire . 118
5.9.3 Fonctions d'interrogation de la table de description de GKS . . 118
5.9.4 Fonctions d'interrogation de la liste d'état de GKS . 120
Fonctions d'interrogation de la liste d'état des postes de travail 125
5.9.5
5.9.6 Fonctions d'interrogation de la table de description des postes
detravail . 140
Fonctions d'interrogation de la table d'état des segments . 156
5.9.7
5.9.8 Interrogation des pixels . 157
V

---------------------- Page: 5 ----------------------
IS0 7942-1985 (F)
Page
B Liste des erreurs . . 189
B.l Erreurs dépendant de la réalisation . . 189
B.2 États . . 189
8.3 Postes de travail . . 189
8.4 Transformations . . 189
............... 190
B.5 Attributs de sortie .
B.6 Primitives de sortie . . 190
8.7 Segments . . 190
............... 191
B.8 Entrée .
B.9 Métafichiers . . 191
B.10 Échappement . . 191
............... 191
B.ll Diverses .
............... 191
B.12 Emurs systèmes .
B.13 Erreurs réservées . . 192
C Interfaces . . 193
C.l Généralités . . 193
............... 193
C.2 Interfacelangage .
C.3 Mise en œuvre . . 194
............... 195
D Différences autorisées dans les réalisations GKS .
D.l Généralités . . 195
D.2 Les différences de niveau général . . 195
Différences au niveau poste de travail . . 196
D.3
E Structure des métafichiers . . 198
E.l Métafichiers . . 198
E.l.l Généralités . . 198
E.1.2 Métafichier IS0 8632 . . 198
E.1.3 Métafichier concu pour GKS . . 199
Format des données et format des fichiers . . 199
E.2
E.3 Génération de métafichier . . 200
E.4 Interprétation des métafichiers . . 203
............... 203
E.4.1 Généralités .
............... 203
E.4.2 Les enregistrements de contrôle .
E.4.3 Primitives de sortie . . 203
vii

---------------------- Page: 6 ----------------------
IS0 7942-1985 (F)
Page:
E.4.4 Attributs des primitives de smties . I . 203
E.4.5 Attributs du poste de travail . 203
E.4.6 Transformations . 203
E.4.7 Manipulation desements . 203
E.4.8 Attributs de segments . 203
E.5 Enregistrements de contrôle . 2@3
E.6 Enregistrements pour primitives de sortie . 205
E.7 Enregistrements attributs de primitives de sortie . 206
E.8 Enregistrements attributs de poste de travail . 209
E.9 Enregistrements descripteurs de transformations . 210
E.10 Enregistrements pour la manipulation des segments . 211
E.ll Enregistrements pour les attributs de segments . 211
E.12 Enregistrements utilisateur . 212
F Exemplesdeprogrammes . 213
G Résumé des fonctions GKS . 220
G.l Fonctions de contrôle . 220
G.2 Fonctions de sortie . 220
G.3 Attributs de sortie . . 221
G.3.1 Attributs des primitives indépendants des postes de travail . 221
G.3.2 Attributs de poste de travail (représentation) . 222
G.4 Fonctions de transformation . 222
6.4.1 Transformation de normalisation . 222
6.4.2 Transformation de poste de travail . 222
G.5 Fonctions de segments . . 222
G.5.1 Fonctions de manipulation des segments .
G.5.2 Attributs des segments . 223
viii

---------------------- Page: 7 ----------------------
IS0 7942-1985 (FI
I
G.6 Fonctions d'entrée . UJ
G.6.1 Initialisation des appareils d'entrée . 223
6.6.2 Établissement du mode des appareils d'entrée . 223
G.6.3 Fonctions d'entrée en mode requête . 224
6.6.4 Fonctions d'entrée en mode échantillonnage . 224
G.6.5 Fonctions d'entrée en mode événement . 224
6.7 Fonctions de métafichier . 225
G.8 Fonctions d'interrogation . .
G.9 Fonctions utilitaires. . .
G.10 Traitement des erreurs . .

---------------------- Page: 8 ----------------------
NORME INTERNATIONALE IS0 7942-1985 (F)
Systèmes de traitement de l'information -
Infographie - Système graphique de base (GKS) -
ûescri pt io n fonction ne1 le
O INTRODUCTION
Le système graphique GKS (Graphical Kernel System) est constitué d'un ensemble de fonctionsdestinées à la
programmation en infographie. GKS est un système graphique de base susceptible d'être utilisé dans la
majorité des applications produisant des images au moyen d'ordinateurs.
Les principales raisons pour l'introduction d'une norme en infographie sont :
a) permettre de transporter aisément des programmes d'applications utilisant l'infographie d'une installation
à une autre; .
b) aider les programmeurs d'application à comprendre et à utiliser les méthodes graphiques ;
c) servir de cahier des charges pour les constructeurs d'équipement graphique en fournissant les combinai-
sons utiles de fonctions graphiques pour un appareil.
Afin d'atteindre ces objectifs principaux, la conception du système GKS a été basée sur les exigences suivantes :
a) GKS doit inclure toutes les possibilités qui sont essentielles dans tout le spectre de l'infographie, des
sorties passives aux applications très interactives ;
b) toute la gamme des appareils graphiques, que ce soient les appareils à quadrillage ou à balayage cavalier,
les imprimantes sur microformes, les tubes à mémoire ou les consoles de visualisation à rafraîchissement
doivent être contrôlés par GKS de la même façon ;
GKS doit apporter toutes les fonctions requises par la majorité des applications sans devenir trop
c)
encombrant.
Ces exigences ont été utilisées pour formuler un certain nombre de principes, lesquels ont été ensuite
employés pour départager certains choix possibles de conception. Ainsi, il a été possible de contribuer aux
objectifs généraux de conception tout en insistant sur certains aspects. Cinq aspects de la conception ont été
identifiés, chacun d'eux étant caractérisé par un ensemble de principes.
a) objectifs de conception : les principes suivants doivent être respectés par tout choix technique '
1 - cohérence : les exigences obligatoires de GKS ne doivent pas être mutuellement contradictoires,
2 - compatibilité : aucune autre norme ou règle couramment acceptée ne doit être violée,
3 - orthogonalité : si lesfonctionsou modules de GKS sont dépendants les unsdeç autres, la dépendance
doit être bien définie et structurée, le cas normal étant l'indépendance ;
b) possibilités fonctionnelles : les principes suivants ont été utilisés pour définir le domaine de GKS :
1 - complétude : toutes les fonctions utiles à la majorité des applications d'un niveau de fonctionnalité
donné seront incluses,
2 - minimalite : les fonctions qui ne sont pas indispensables pour les applications d'un niveau de
fonctionnalité donné ne seront pas incluses,
3 - compacité : une application devra pouvoir atteindre le résultat désiré en utilisant un ensemble de
fonctions et de paramètres aussi réduit que possible,
4 - richesse : un ensemble large de fonctions offre des facilités importantes allant au-delà des fonctions
de base et comprend des possibilités d'ordre supérieur.
1

---------------------- Page: 9 ----------------------
IS0 7942-1985
II est évident qu'un compromis doit être trouve entre les principes de cet ensemble. Par conséquent les
fonctions de GKS sont groupées en niveaux. Tandis que le niveau le plus bas contient seulement un jeu
minim'al de fonctions, les niveaux supérieurs peuvent aller au-delà des besoins fondamentaux, vers une plus
grande richesse.
c) conception de l'interface utilisateur : les principes suivants ont été utilisés dans la conception de l'interface
utilisateur :
1 - convivialité : GKS permettra la conception d'interfaces utilisateurs agréables,
2 - clarté : les concepts et les possibilités.fonctionne1les de GKS seront faciles à comprendre, en
particulier par les programmeurs d'applications,
3 - traitement des erreurs : les défaillances de modules ou de fonctions du système qu'elles soient
provoquées par les erreurs du système lui-même ou par le programme d'application, seront traitées
de façon telle que la réaction à l'erreur soit suffisamment compréhensible et informative pour le
programmeur d'application et que les conséquences sur le système et sur le programme d'application
soient aussi réduites que possible.
La clarté et un traitement correct des erreurs sont des aspects essentiels de la convivialité. Le traitement
des erreurs fait partie intégrante de GKS. Pour aider à la clarté, le système et son état peuvent être
présentés à l'utilisateur d'une manière aisément compréhensible. La clarté ne s'applique pas seulement à
la conception mais aussi à la description du système. Acet effet, la spécification de GKS est divisée en une
description générale, une description des structures de données sous-jacentes représentant l'état du
système et une description des fonctions et de leurs effets sur ces structures de données.
d) appareils graphiques : les principes suivants concernent les différents appareils graphiques qui peuvent
être utilisés par GKS :
1 - indépendance vis-à-vis des appareils : les fonctions de GKS seront conçues de façon à permettre aux
programmes d'applications utilisant ces fonctions d'adresser les facilités d'appareils graphiques
d'entrée ou de sortie très différents sans modification de la structure de ces programmes,
2 - richesse des appareils : toutes les possibilités d'une large gamme d'appareils graphiques d'entrée ou
de sortie seront accessibles à partir des fonctions de GKS,
Ces principes ont conduit au concept fondamental sous-jacent de l'architecture de GKS : le concept de
plusieurs postes de travail graphiques indépendants connectés KS et pilotés par ce système. Le
programme d'application peut s'enquérir des possibilités de cha poste de travail. Le système GKS
comprend des fonctions d'échappement qui sont aisément identifiables dans un programme d'application
et peuvent être utilisées pour accéder à des facilités particulières d'un appareil donné.
e) mise en œuvre : le dernier groupe de principes concerne la mise en œuvre de GKS :
1 - facilité de mise en œuvre : les fonctions de GKS devront pouvoir être supportées par la plupart des
langages hôtes sur la plupart des systèmes d'exploitation et avec la plupart des appareils graphiques,
2 - indépendance vis-à-vis du langage : il doit être possible d'accéder aux fonctions de GKS en utilisant
l'un quelconque des langages de programmation normalisés par I'ISO,
3 - efficacité : la norme doit pouvoir être mise en œuvre sans requérir l'utilisation d'algorithmes coûteux
en temps,
4 - robustesse : l'opérateur et le programmeur d'application seront protégés le mieux possible vis-à-vis
des défaillances matérielles ou logicielles du système.
Ces cinq groupes de principes sont reliés. Par exemple, les objectifs de la conception et les possibilités
fonctionnelles contribuent à la facilité d'emploi par l'utilisateur. L'efficacité est également importante si on
considère le tem environnement interactif. Certains principes peuvent donner lieu à
conflit, par exem ité, traitement détaillé des erreurs et efficacité, compacité et richesse
: GKS
desappareils. De re trouvés pour atteindre les objectifs gén e la conception
devra avoir une structure facile à comprendre et comporter un ensemble de fon qui permettent à une
vaste majorité d'utilisateurs de l'infographie de concevoir des programmes d'appl portables et indépen-
dants des terminaux susceptibles d'être mis en œuvre sur toute la gamme des appareils graphiques.
2

---------------------- Page: 10 ----------------------
1 OBJET ET DOMAINE D'APPLICATION
Cette norme décrit un ensemble de fonctions destinées à la programmation en infographie. Elle constitue un
système graphique de base pour les applications qui produisent des images bi-dimensionnelles au moyen
d'ordinateurs sur des périphériques de sortie graphique de type vecteur ou quadrillage. Elle supporte les
entrees et les interactions avec un opérateur en fournissant lesfonctionsde base pour l'entrée graphique et les
modifications dynamiques des images. Un concept fondamental de GKS est la notion de poste de travail. Un
poste de travail comprend un seul organe de sortie et un certain nombre d'organes d'entrée. Plusieurs postes
de travail peuvent être utilisés simultanément. Le programme d'application peut adapter son comportement
vis-à-vis d'un poste de travail de façon à tirer le meilleur parti des possibilitésde ce poste. Cette norme contient
des fonctions de stockage et la restauration de données au moyen d'un fichier graphique externe. Enfin, les
fonctions sont regroupées en niveaux compatibles entre eux qui ont des possibilités qui s'accroissent avec les
niveaux.
NOTE - Pour certains paramètres de certaines fonctions, GKS définit un intervalle de valeur réservé pour I'enregistre-
ment (voir 4.1.2). Les significations de ces valeurs seront définies en utilisant les procédures établies.
GKS définit un noyau de système graphique indépendant des langages de programmation. Pour son intégration dans un
langage, GKS est plongé dans une couche dépendant du langage qui respecte les conventions particulières de ce lan-
gage.
Les annexes C à G fournissent des informations complémentaires et n'appartiennent pas à la norme.
2 RÉFÉRENCES
IS0 646, Jeux de caractères codés à 7 éléments pour l'échange d'informations.
IS0 2022, Traitement de l'information - Jeux IS0 de caractères codés à 7 et à 8 éléments - Techniques d'extension
de code.
IS0 2382-13, Traitement de l'information - Vocabulaire - Partie 13 : Infographie informatique.
IS0 6093, Traitement de l'information - Spécification pour la représentation des valeurs numériques dans les chaînes
de caractères pour l'échange d'information. l)
IS0 8632, Systèmes de traitement de l'information - Infographie - Métafichier pour le transfert et le stockage d'infor-
mations de description d'images
-
Partie 1 : Description fonctionnelle.
-
Partie 2 : Encodage mode caractère.
-
Partie 3 : Codage mode binaire.
-
Partie 4 : Encodage en texte clair.
3 DÉFINITIONS
Ce chapitre donne la définition des notions utilisées dans le système GKS.
NOTE - Dans la mesure du possible, la terminologie utilisée est celle employée couramment en infographie.
3.1 accusé de réception (acknowledgment) : Sortie indiquant à l'utilisateur d'un appareil logique d'entrée
qu'une gachette a été activée.
appareil de visualisation - dispositif graphique (display device- graphics device) : Un dispositif (par
3.2
exemple tube à rafraîchissement, tube à mémoire, traceur) sur lequel on peut afficher des images.
1) Actuellement au stade de projet.

---------------------- Page: 11 ----------------------
IS0 7942-1985 (FI
3.3 d'ent&(logiczf$h"@utdmice) : Une abstraction réalisée par un ou plusieursdisposi-
tifs physiques qui semient des wleurs &mitrée Icsgique au programme. Dans GKS, les appareils fogiques
d'er itrée peuvent êtrdk Fi EEEV DQNNÉES, RELEVEUR D'UNE SUITE DE COORDONNÉES,
ENTRÉE DE SCALAIRE, CTWR, N'a ENTRÉE D€ CHAiNE DE CARACTÈRES.
3.4 aspects des primitives (aspects of primitives)) : Paçans dont R'appareme d'une primitive peut varier.
Ce r t a i n s asp e ct s sont d6f i n is di re ct e me n t pa r d ës at t r i i3uUs de pr i m it i ve ,, am t a i n s a u tr e s ço n t défi n is i n d i r ect ek
ment par une table de groupage. Un aspect, la mise ewvaleur, des p'cimitives: invernes à un seyment esr
commandé par le segment lui-même. Ceci ne s'applique pas aux\primitivm hors segment.
3.5 attribut (attribute) : Une propriété particulière qui s'applique A un élément graphique (prim
sortie) ou un segment. Exemples : hauteur des caractères, mise en valeur. Dans GKS, certaines caractéristi-
ques des postes de travail sont appelées attributs de poste de travail.
3.6 attribut de primitive (primitive attribute) : Les valeurs des attributs de primitive (primitives de sortie)
sont choisies par l'application de façon indépendante du poste de travail mais peuvent avoir des effets
dépendants du poste de travail.
3.7 attributs de segments (segment attributes) : Attributs qui ne s'appliquent qu'aux segments. Dans
GKS, les attributs de segment sont la visibilité, la mise en valeur, la détectabilité, la priorité de segment et la
i on de segment .
transform at
3.8 classe d'entrée (input class) : Un ensemble d'appareils d'entrée logiquement équivalents au niveau de
leur fonction. Dans GKS, les classes d'entrée sont: RELEVEUR DE COORDONNÉES, RELEVEUR D'UNE SUITE
DE COORDONNÉES, ENTRÉE DE SCALAIRE, SÉLECTEUR, DÉSIGNATION et ENTRÉE DE CHAINE DE
CARACTERES.
3.9 clôture (viewport) : Une partie de l'espace de coordonnées normées définie par le programme d'appli-
cation. Dans GKS, cette définition est limitée a une région rectangulaire de l'espace des coordonnées normées
utilisée pour définir la transformation de normalisation.
3.10 clôture du poste de travail (workstation viewport) : Une partie de l'espace de visualisation courant
pour les sorties graphiques.
3.1 1 coordonnée d"apparei1 (device coordinate) (DC) : Coordonnée exprimée dans un système de coor-
données dépendant de l'appareil. Dans GKS, l'unité de DC est le metre sur un appareil capable de produire une
image à une taille précise et, sinon, des unités adaptées et dépendantes du poste de travail.
e exprimée dans un
3.1 2 coordonneesnormées (normalized device coordinates) (NDC) : Une coord
système intermédiaire indépendan@& I'appareil et norme sur un certain domaine tell
édiaire, les coordonnées peuvent être hors du domaine spécifié, mais khformation de d6eau-
page associée assure que la sortie n'excédera pas le domainefO.1 J X [0,1].
3.1 3 coordonnées universelles (world coordinate) (WC) : Un système de coordonnées cartésiennes,
indépendant et utilisé par le pragramme d'application pour specifier les sorties et entrees.
corps du caractère (character body) : Rectangle utilisé par le concepteur de la police pour définir la
3.14
forme d'un caractère (voir figure 3). Tous les caractères d'une même police ont la même hauteur.
3.1 5 decoupage (clipping) : Suppression des parties d'éléments graphiques situées à l'extérieur d'une
limite, habituellement une fenêtre ou une clôture.
dispositif de désignation (pick device) : Un appareil logique d'entrée de GKS retournant I'identifica-
3.1 6
teur de désignation de la primitive désignée et le nom du segment associé.

---------------------- Page: 12 ----------------------
IS0 7942-1985 (FI
dispositif d'entrée de chaîne de caractères (string device) : Un appareil logique d'entrée de GKS
3.17
fournissant en retour une chaîne de caractères.
3.1 8 dispositif d'entrée logique (logical input device) :Abstraction d'un ou plusieursdispositifs physiques
qui retournent des valeurs d'entrée logiques au programme. Les dispositifs d'entrée logiques dans GKS sont
du type : releveur de coordonnées, releveur d'une suite de coordonnées, entrée de scalaire, sélecteur,
désignation ou entrée de chaîne de caractères.
3.1 9 échappement (escape) : Une fonction de GKS utilisée pour accéder à des facilités dépendantes de la
réalisation ou de l'appareil autres que la génération de sortie graphique et inaccessibles autrement par GKS.
écho (echo) : La notification immédiate à l'opérateur, par l'intermédiaire de la console de visualisation,
3.20
de la valeur courante produite par un dispositif d'entrée.
3.21 entrée de scalaire (valuator device) : Un appareil d'entrée logique de GKS retournant un nombre réel.
3.22 espace d'affichage (display space) : La portion de l'espace d'appareil correspondant à la surface
disponible pour afficher des images. Dans GKS, le terme espace d'affichage est aussi utilisé pour désigner
l'espace de travail d'un dispositif d'entrée de coordonnées.
3.23 espace d'appareil (device space) : L'espace défini par les points adressables d'un dispositif de
visualisation.
3.24 fenêtre (window) : Une région prédéfinie d'un espace virtuel. Dans GKS, cette définition est limitée à
une région rectangulaire de l'espace des coordonnées universelles utilisées pour définir la transformation de
normalisat ion.
3.25 fenêtre du poste de travail (workstation window) : Une zone rectangulaire du système de coordon-
nées normées projetée sur un espace de visualisation.
3.26 fonction d'inte
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.