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
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 ISO 2022 and ISO 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.