Information technology -- Computer graphics -- Interfacing techniques for dialogues with graphical devices (CGI) -- Functional specification

Includes a reference model, the relationship to other standards, and profiles. Establishes the framework for all the parts of ISO/IEC 9636. Does not contain functional descriptions.

Technologies de l'information -- Infographie -- Interfaces pour l'infographie -- Spécifications fonctionnelles

General Information

Status
Published
Publication Date
17-Dec-1991
Current Stage
9020 - International Standard under periodical review
Start Date
15-Jul-2021
Ref Project

Buy Standard

Standard
ISO/IEC 9636-1:1991 - Information technology -- Computer graphics -- Interfacing techniques for dialogues with graphical devices (CGI) -- Functional specification
English language
81 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

ISOIIEC
INTERNATIONAL
STANDARD 9636-1
First edition
1991-12-15
Information technology - Computer graphics -
Interfacing techniques for dialogues with
graphical devices (CGI) - Functional
specification -
Part II:
Overview, profiles, and conformance
Technologies de /‘information -- Infographie - Interfaces pour
I’infographie - Sp&ifkations fonctionnelles -
Partie 1: R&um& profils et conformitt?
Reference number
lSO/IEC 96364:1991(E)
---------------------- Page: 1 ----------------------
ISO/IEC 9636-l : 1991 (E)
Page
Contents

Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..~..............~........................................................................................................

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..*...................................................

1 ...............................................................................................................................................................

scope
........................................................................
1.1 Relationship of CGI to a computing environment

.................................................................................. 2

1.2 Position of CGI in a managed environment

Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..*.........................*................................................*.................

Definitions and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..~....................................................................

3.1 Organization of the defmitions . . . . . . . . . . . . . . . ..*....................................................................................

3.2 Definitions ..,........................................................................................................................ l . . . . . . . . .

3.3 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..*.......................“................~............

4 Reference models ............................................................................................................................................

4.1 Introduction ....................................................................................................................................

...................................................................................... 18

4.2 Model for CGI client/target relationships

4.2.1 CGI configurations diagram ........................................................................................

Types of clients ............................................................................................................

4.2.2

Types of targets ...........................................................................................................

4.2.3

.................................................................................................................

4.3 Example configurations
................................................................. 21
4.3.1 CGI Virtual Devices as GKS workstations

....................................................................................

4.3.2 CGM interpretation using CGI

CGI Virtual Devices as 3D workstations ....................................................................

4.33
.......................... 22
Input/output workstations as combinations of CGI Virtual Devices
4.3.4

.....................................................................................................

4.4 Relationship to other standards

.................................................................................................................

4.4.1 Introduction

..................................................................................... 24

4.4.2 CGI data encodings standards
................................................................................
4.43 CGI language bindings standards
..............................................................................
4.4.4 Relation to GKS (IS0 7942 1985)
1989) and PHIGS (ISO/I[EC 9592 1989). ................
4.45 Relation to GKS-3D (IS0 8805
.............................................................................
4.4.6 Relation to CGM (IS0 8632 1987)
4.4.7 Relation to Procedures for Registration of Graphical Items

(ISO/IEC TR 9973 1988) ...........................................................................................

5 Concepts ..........................................................................................................................................................

....................................................................................................................................

5.1 Introduction

.....................................................................................................................

5.2 Global CGI concepts

......................................................................................

5.2.1 CGI Graphic Object Pipeline

...........................................................................................................

5.2.2 CGI state model

........................................................................................................

5.2.3 Description tables

5.2.4 State lists .....................................................................................................................

5.2.5 Static and dynamic state lists .......................................................................................

........................................................ 33
5.2.6 The structure of description tables and state lists

The principles of inquiry .............................................................................................

5.2.7

..........................................................................................................

5.2.8 Error philosophy

Method of describing functions ...................................................................................

5.2.9

...................................................................................................

5.2.10 Data types employed

.......................................................................................................... 39

5.2.11 Formal grammar

........................................................................................ 40

53 Overview of ISO/IEC 9636-2 : Control

5.4 Overview of ISO/IEC 9636-3 : Output .........................................................................................

5.5 Overview of ISO/IEC 9636-4 : Segments .....................................................................................

5.6 Overview of ISO/IEC 9636-5 : Input and echoing ........................................................................

.......................................................................................... 41

5.7 Overview of ISO/IEC 9636-6 : Raster
0 ISO/IEC 1991

All rights reserved. No part of this publication may be reproduced or utilized in any form or by

any means, electronic or mechanical, including photocopying and microfilm, without permission

in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH-1211 Geneve 20 a Switzerland
Printed in Switzerland
---------------------- Page: 2 ----------------------
ISO/IEC 9636-l : 1991 (E)

6 Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....................................

6.1 Profile defmi tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... 42

Constituency Profile registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..*...................................... 43

6.1.1

6.2 Foundation Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.3 Constituency Profiles ....................................................................................................................

6.3.1 GKS Constituency Profiles .........................................................................................

6.3.2 CGM Constituency Profile ..........................................................................................

.......................................................... 44
6.3.3 Advanced l-Way Output Constituency Profile

........................................................................................................ 44

6.4 Foundation Profile definition
........................................................................ 44
6.4.1 2-WAY OUTPUT Foundation Profile

1 -WAY OUTPUT Foundation Profile ........................................................................ 45

6.4.2

INPUT Foundation Profile ................................................................... 46

6.4.3

.................................................................................................................. 46

6.5 GKS Profile definition

............................................................................................ 46

65.1 GKS OUTPUT-O Profde

............................................................................................ 49

6.5.2 GKS OUTPUT-l Profile

6.53 GKS INPUT-b Profile ..........................................................................

.......................................................................... 53
65.4 GKS INPUT-c Profile

65.5 GKS OUTIN-Ob Profile ..............................................................................................

.............................................................................................. 54

65.6 GKS OUTIN-Oc Profile

65.7 GKS OUTIN-lb Profile ..............................................................................................

65.8 GKS OUTIN-lc Profile ..............................................................................................

6.6 CGM Profile definition ................................................................................................................. 55

6.6.1 BASIC CGM Profile ................................................................................................... 55

6.7 Other Constituency Profile definitions .........................................................................................

6.7.1 ADVANCED l-WAY OUTPUT Profile ....................................................................

7 Classification and designation ........................................................................................................................ 59

7.1 Implementation conformance ........................................................................................................ 59

7.2 Client conformance .......................................................................................................................

7.3 Extensions .....................................................................................................................................

7.4 Inquiry ....................................................................................................................................

7.5 Parsing ....................................................................................................................................

A Function identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................. 62

B Profile identifiers . . . . . . . . . . . . . ..*............................................................................................................................ 69

C Guidelines for bindings and encodings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

D Format guidelines for definition of Constituency Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

E CGI in a distributed system model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

F Typographic conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ 81

. . .
ill
---------------------- Page: 3 ----------------------
ISO/IEC 9636-l : 1991 (E)
Foreword

IS0 (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the

specialized system for worldwide standardization. National bodies that are members of IS0 or IEC participate in the

development of International Standards through technical committees established by the respective organization to deal with

particular fields of technical activity. IS0 and IEC technical committees collaborate in fields of mutual interest. Other

international organizations, governmental and non-governmental, in liaison with IS0 and IEC, also take part in the work.

In the field of information technology, IS0 and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft

International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as

an International Standard requires approval by at least 75 % of the national bodies casting a vote.

International Standard ISO/IEC 9636-l was prepared by Joint Technical Committee ISODJX JTC I, Information

technology.

ISO/IEC 9636 consists of the following parts, under the general title Information technology - Computer graphics -

Intevacing techniques for dialogues with graphical devices (CGI) - Functional specification:

- Part 1: Overview, profiles, and conformance
-Part 2: Control
-Part 3: Output
-Part 4: Segments
-Part 5: Input and echoing
- Part 6: Raster

Annexes A and B form an integral part of this part of ISO/IEC 9636. Annexes C, D, E and F are for information only.

---------------------- Page: 4 ----------------------
ISO/IEC 9636-l : 1991 (E)
Introduction
Purpose

The Computer Graphics Interface (CGI) specifies a standard interface between device-independent and device-dependent parts

of a graphics system. ISO/IEC 9636 specifies sets of functions for control and data exchange over this interface. This interface

may be implemented as a software-to-software interface (as a data stream encoding used in a network environment or as a

procedural binding to one or more software packages), or as a software-to-hardware interface (as a data stream encoding to

one or more devices presenting a standardized Computer Graphics Interface as their device protocol). Related standards

specify data stream encodings (for use in the software-to-software case, over a network, and in the software-to-hardware case),

and procedural bindings (for use in the software to software case).

ISO/IEC 9636 includes a reference model and a description of the CGI’s relationship to other standards.

ISO/IEC 9636 only defines graphics functions, graphics control functions, and functions to control data representations and

deferral in data stream encodings. ISO/IEC 9636 does not define the protocols to be used to convey these functions between

the parts of a (potentially distributed) system.
Benefits

Intrinsic The CGI will simplify the development and implementation of graphics systems. ISO/IEC 9636 will encourage

a uniform access to the graphics devices within an installation. As new devices are made available, graphics

device drivers adhering to this interface can be installed for use by existing programs.

Interchange ISO/IEC 9636 promotes the exchange of software between installations. By isolating the device-dependent

aspects of any graphics system, modularity is encouraged, which promotes increased portability. The standard

set of functions, access mechanisms, and terminology will allow developers and users to move between

installations with minimal retraining.

Educational The standard set of functions uses a standard terminology. This allows both the academic and industrial

communities to develop instructional programs concentrating on programming techniques and methodologies

based on these standard functions.

Economic In view of the trend towards lower hardware and higher software costs, the following benefits accrue from

ISO/IEC 9636:

It encourages transporting of software between installations, thereby reducing costs associated with

“reinvention”;

It protects the large software investment made by both users and vendors because the software will not be

rendered obsolete by the introduction of new devices;

It allows developers of new software to focus on higher-level graphics functions and applications instead of

device-level functions;

It reduces maintenance of software systems because the standard encourages modularity;

It increases vendor independence for the user because any system designed to use a particular device can

more easily be changed to use some other device;

It allows vendors to develop and market devices that will easily interface to the customer’s system;

It enables users, manufacturers and vendors to take advantage of new, lower-cost graphics hardware

designs. The total system’s hardware cost may be reduced because system redesign may not be necessary.

---------------------- Page: 5 ----------------------
ISO/IEC 9636-l : 1991 (E)
Design requirements

To realize the benefits described above, a number of design principles have been adopted:

The Computer Graphics Interface should provide a suitable set of functions for the description of a wide range of

pictorial information;

The Computer Graphics Interface should provide a suitable set of functions for the necessary CGI session control of a

wide range of graphics devices;

The Computer Graphics Interface should address the more usual and essential features found on graphical devices

directly and should provide access to less common facilities;

The design of the Computer Graphics Interface should not preclude extension of ISO/IEC 9636 at a later stage to

cover facilities currently not standardized;

The Computer Graphics Interface should be usable from GKS (Graphical Kernel System - IS0 7942). In particular,

the CGI should include functional capability to support the various levels of a GKS workstation in an efficient and

concise manner, without compromising the ability of the interface to support non-GKS systems in an efficient and

concise manner;

The Computer Graphics Interface should be compatible with the Computer Graphics Metafile - IS0 8632. In

particular, those CGM elements not associated with the file-oriented aspects of the CGM shall have corresponding

CGI functions which have identical abstract names and parameterization;

ISO/IEC 9636 should address the needs of different applications that have conflicting requirements for

- allocation of processing burden between host and device;
speed of generation and interpretation of functions;
ease of transfer through different transport mechanisms.
De-sign criteria
Theabove requirements were used to formulate the following design criteria:
Completeness

In any area of ISO/IEC 9636, the functionality specified by ISO/IEC 9636 should be complete in itself.

Conciseness
Redundant functions or parameters should be avoided.
Consistency
Contradictory functions should be avoided.
Extensibility

The ability to add new functions and generality to ISO/IEC 9636 should not be precluded.

Fidelity
The results and behaviour of functions should be well defined.
Implementability

A function should be able to be efficiently supported on most host systems andor graphics hardware.

Orthogonality

Independent functions for separate and noninteracting activities should be provided.

Predictability

The recommended or proper use of a standard function should guarantee the results of using that particular function.

Standard practice

Only those functions that reflect existing practice, that are necessary to support existing practice, or that are necessary

to support standards being developed concurrently should be standardized.
---------------------- Page: 6 ----------------------
ISOAEC 9636-1: 1991 (E)
j) Usefulness
Functions should be powerful enough to perform useful tasks.
k) Well-structured

The number of assumptions that functions make about each other should be minimized. A function should have a

well-defined interface and a simply stated unconditional purpose. Multi-purpose functions and side effects should be

avoided.
Parts of the CGI functional specification

ISO/IEC 9636, the functional specification of the Computer Graphics Interface, consists of a number of parts presenting

portions of the CGI functionality, including an overview in this part of ISO/IEC 9636.

Table 1 - Parts of the CGI Functional Specification
Title
Part No.
~ Overview, profiles, and conformance
ISO/IEC 9636-l
ISO/IEC 9636-2 ~ Control
ISO/IEC 9636-3 output
ISO/IEC 9636-4 Segments
ISO/IEC 9636-5 Input and echoing
ISO/IEC 9636-6 Raster

This part of ISO/IEC 9636 gives a general overview and introduction to the basic concepts and principles of ISO/IEC 9636. It

includes a reference model, the relationship to other standards, and profiles. In addition, it contains overviews of each of the

subsequent parts. This part of ISO/IEC 9636 thus establishes the framework for all the parts of ISO/IEC 9636; it does not

contain functional descriptions.

The functional capability provided by the CGI is separate from the specification of any particular encoding format or language

binding.
vii
---------------------- Page: 7 ----------------------
This page intentionally left blank
---------------------- Page: 8 ----------------------
INTERNATIONAL STANDARD
ISO/IEC 9636-l : 1991(E)
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 1:
Overview, profiles, and conformance
1 Scope

ISO/IEC 9636 establishes the conceptual model, functional capability, and minimum conformance requirements of the

Computer Graphics Interface (CGI). It specifies design requirements for encodings of the CGI. ISO/IEC 9636 defines a set of

CGI functions that is expected to satisfy the following needs of a majority of the computer graphics community:

a) provide an interface standard for computer graphics software package implementors;

b) provide an interface standard for computer graphics device manufacturers and suppliers;

c) provide an inquiry and response mechanism for graphics device capabilities, characteristics, and states;

d) provide a standard graphics escape mechanism to access non-standard graphics device capabilities;

e) allow for future functional extension of the CGI.

In addition to the CGI functionality, device classes, and Foundation and Constituency Profiles are defined. The device classes

included in the CGI are output (OUTPUT), input (INPUT), and output/input (OUTIN). Profiles allow subsets of the CGI

functions and features to be defined to suit particular well identified groups of users. There is also provision for Constituency

Profiles to be registered after ISO/IEC 9636 is published. The Computer Graphics Interface (CGI) is a standard functional and

syntactical specification of the control and data exchange between device-independent graphics software and an

implementation of a CGI Virtual Device.

The syntax of the CGI, presented in ISO/IEC 9636, is an encoding-independent and binding-independent specification. Any

similarity of the examples or function specifications to a particular encoding technique or language is coincidental unless

explicitly stated otherwise.

The functions specified provide for the representation of a wide range of two-dimensional pictures and for control over their

display on a wide range of graphics devices. The functions are split into groups that perform device and CGI session control,

specify the data representations used, control the display of the picture, perform basic drawing actions, control the attributes of

the basic drawing actions, acquire data from input devices, and provide access to non-standard device capabilities.

This part of ISO/IEC 9636 gives an overview of ISO/IEC 9636, explains the relationship between its parts and their relation to

other standards, describes a reference model for graphics systems, and defines certain Foundation and Constituency Profiles.

ISO/IEC 9636-2, ISO/IEC 9636-3, ISO/IEC 9636-4, ISO/IEC 9636-5, and ISO/IEC 9636-6 specify the CGI functions for

different functional areas using an abstract notation.

ISO/IEC 9637 and ISO/IEC 9638 define standard data stream encodings, procedural library bindings, and single entry point

procedural bindings of the CGI.
1.1 Relationship of CGI to a computing environment

ISO/IEC 9636 describes graphical services provided by a Virtual Graphics Device. The model for description of these services

is expressed in terms of graphical capabilities of a single instance of a hypothetical graphics device. In all but the simplest of

---------------------- Page: 9 ----------------------
ISO/IEC 9636-l : 1991 (E)
Scope Relationship of CGI to a computing environment

computing environments, CGI functions alone will not be sufficient to provide complete control over a device. Additional

functions, not included in ISO/IEC 9636, will likely be needed. Examples of such functions include

means to configure (sets of) physical devices to be accessed as CGI Virtual Devices;

means to control a device capable of offering CGI-defined services as well as other, non-CGI-defined services, such

as those implied by IS0 2022 and IS0 6429;

means to differentiate among separate instances of CGI Virtual Devices in the same computing environment;

means of defining or determining communication paths from CGI clients to CGI Virtual Devices.

In some cases, other standards exist that describe the functions required. For example, various communications standards

address the needs of the last point above. In other cases, no standards may exist, but the tasks indicated are outside the scope

of ISO/IEC 9636.
1.2 Position of CGI in a managed environment

There exists a large and growing family of computer controlled display systems that have the ability to act as if they are

multiple individual display devices. Resources, most notably the visible drawing surface resources, are coordinated by the

display system so that multiple non-cooperating client programs can each access the services of a separate individual device

while all are actually running in a single managed environment.

The graphical capabilities of the CGI Virtual Device may suffice, in some instances, as the basis for implementing a complex,

multiple-client display system. However, the complete needs of such a system are quite complex, include many non-graphical

services, and (as current practice shows) are quite technology dependent. The CGI does not, therefore, purport to be a

generally sufficient interface on which a managed display environment may be built. Rather, within a managed environment,

the CGI will be one of the managed interfaces in a way not visible to the CGI client without recourse to services not part of

ISO/IEC 9636. The use of the CGI as a managed interface within a managed display environment is not limited to raster

devices.
---------------------- Page: 10 ----------------------
ISO/IEC 9636-l : 1991 (E)
2 Normative references

The following standards contain provisions which, through reference in this text, constitute provisions of this part of

ISO/IEC 9636. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties

to agreements based on this part of ISO/IEC 9636 are encouraged to investigate the possibility of applying the most recent

editions of the standards listed below. Members of IEC and IS0 maintain registers of currently valid International Standards.

Information processing - IS0 7-bit coded character set for information interchange.

...

Questions, Comments and Discussion

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