ISO/IEC 9636-2:1991
(Main)Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 2: Control
Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 2: Control
Describes those functions of the interface concerned with virtual device management, coordinate space control, and error control. Annexes A and B form an integral part of this standard. Annex C is for information only.
Technologies de l'information — Infographie — Interfaces pour l'infographie — Spécifications fonctionnelles — Partie 2: Contrôle
General Information
Standards Content (Sample)
ISO/IEC
INTERNATIONAL
STANDARD
First edition
1991-12-15
Information technology - Computer graphics -
Interfacing techniques for dialogues with
graphical devices (CGI) - Functional
specification -
Part 2:
Control
Technologies de /‘information - lnfographie - Interfaces pour
I’infographie - Spkcifications fonctionnelles -
Par-tie 2: Contr6le
_-____I__-_____ _.____ -_p_-I_p-
--
-_------ --- ~__. ._- .__-_-
--- __- ~- - .-
Reference number
-- -- _--- .----
I __------.--~-- ___._ ----_-_ _- - - ISOA EC 9636-2: 1991 (E)
.._ - --
---------------------- Page: 1 ----------------------
ISO/IEC 9636-2 : 1991 (E)
Contents Page
Foreword
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V
1 scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3 Concepts .
3
3.1
Introduction . 3
3.2
Virtual Device management . 3
3.2.1 Device control . 3
3.2.2 Drawing surface . 3
3.23
Deferral mode . 4
3.2.4 Serial synchronous interface
....................................................................................... 4
33 Coordinate space concepts . . 4
33.1 The Virtual Device coordinate system 4
.......................................................................
3.3.2 Device coordinates .
5
333 Device viewport .
5
33.4 VDC space and range .
5
33.5 VDC extent .
5
33.6 VDC tailoring .
6
33.7 Drawing surface clipping .
8
3.4 Error control .
8
3.5 Miscellaneous control . 8
3.5.1 Numerical precision requirement specifications . 8
3.5.2 Escape concepts .
9
353 External functions . 9
3.6 Inquiry concepts . 9
4 Interactions with other parts of ISO/IEC 9636 . 11
4.1 Interactions with more than one part of ISO/IEC 9636 . 11
4.1.1 Virtual Device management . 11
4.1.2 Coordinate space control . 11
4.13 Error . 11
4.1.4 Miscellaneous . 11
5 Abstract specification of functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*. 12
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1.1 Control functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1.2 Validity of returned information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.13 Data types employed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 Virtual Device management functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
502.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
INITIALIZE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
se202 TERMINATE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.23 EXECUTE DEFERRED ACTIONS
502.4 DEFERRAL MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2s PREPARE DRAWING SURFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2.6 END PAGE . 14
53 Coordinate space control functions . 14
53.1 VDCTYPE . 14
53.2 VDC INTEGER PRECISION REQUIREMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
333 VDC REAL PRECISION REQUIREMENTS . . . . . . . . . . . . . . . l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
53.4 VDC EXTENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
535 DEVICE VIEWPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
0 iSO/IEC 1991
Ali 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 Genkve 20 l Switzerland
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
ISO/IEC 9636-2 : 1991 (E)
DEVICE VIEWPORT SPECIFICATION MODE . 16
53.6
............................................................................. 16
53.7 DEVICE VIEWPORT MAPPING
DRAWING SURFACE CLIP RECTANGLE . 17
53.8
............................................................. 17
53.9 DRAWING SURFACE CLIP INDICATOR
17
5.4 Error functions .
DEQUEUE ERROR REPORTS . 17
5.4.1
............................................................................. 18
5.4.2 ERROR HANDLING CONTROL
.................................................................................................... 18
5.5 Miscellaneous control fhctions
INTEGER PRECISION REQUIREMENT . 18
55.1
REAL PRECISION REQUIREMENTS . 18
5.5.2
INDEX PRECISION REQUIREMENT . 19
55.3
505.4 COLOUR PRECISION REQUIREMENT . 19
5.5.5 COLOUR INDEX PRECISION REQUIREMENT . 20
CLIENT SPECIFIED NAME PRECISION REQUIREMENT . 20
5.5.6
MESSAGE . 20
55.7
21
55.8 ESCAPE .
GET ESCAPE . 21
55.9
STATE LIST INQUIRY SOURCE . 22
5.5.10
6 Control inquiry functions . 24
................................................................................................................................... 24
6.1 Introduction
Control inquiry functions . 24
6.1.1
Data types employed . 24
6.1.2
6.1.3 Validity of returned information . 24
6.2 Device Identity Description Table . 24
6.2.1 INQUIRE DEVICE IDENTIFICATION . 24
Output Device Description Table . 25
6.3
INQUIRE DEVICE DESCRIPTION . 25
63.1
Function and Profile Support Description Table . 25
6.4
6.4.1 LOOKUP FUNCTION SUPPORT . 25
6.4.2 LOOKUP PROFILE SUPPORT . 25
6.4.3 INQUIRE LIST OF PROFILE SUPPORT INDICATORS . 26
6.5 Control Description Table . 26
6.5.1 INQUIRE SUPPORTED VDC TYPES . 26
6.5.2 INQUIRE DEVICE CONTROL CAPABILITY . 26
27
6.5.3 LOOKUP ESCAPE SUPPORT .
......................................................................... 27
6.5.4 LOOKUP GET ESCAPE SUPPORT
6.6 Control State List . 27
6.6.1 INQUIRE CONTROL STATE . 27
6.6.2 INQUIRE CURRENT PRECISION REQUIREMENTS . 27
6.6.3 INQUIRE VDC TO DEVICE MAPPING . 28
28
6.6.4 INQUIRE ERROR HANDLING .
................................................
6.6.5 INQUIRE MISCELLANEOUS CONTROL STATE 29
7 CGI description tables and state lists . 30
Description tables . 30
7.1
State lists . 32
7.2
Formal Grammar of the Functional Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
B Control errors
Guidelines for CGI implementors . . . . . . . . . . . . . . .*. 44
C
. . .
111
---------------------- Page: 3 ----------------------
ISO/IEC 9636-2 : 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-2 was prepared by Joint Technical Committee ISOLEC JTC 1, Information
technology.
ISO/IEC 9636 consists of the following parts, under the general title Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical devices (CGI) - FunctionaZ 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. Annex C is for information only.
iv
---------------------- Page: 4 ----------------------
ISO/IEC 9636-2 : 1991 (E)
Introduction
This part of ISO/IEC 9636 describes the functions of the Computer Graphics Interface concerned with Virtual Device
management, coordinate space control, and error control.
with the management of the graphics image
The functionality incorporated in this part of ISO/IEC 9636 is concerned
interrelationship of the graphical and non-graphical parts of the interface.
The functionality described in this part of ISO/IEC 9636 pertains to all classes of CGI Virtual Device (i.e. INPUT, OUTPUT,
or OUTIN).
---------------------- Page: 5 ----------------------
This page intentionally left blank
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISOllEC 9636-2 : 1991 (E)
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 2:
Control
1 Scope
This part of ISO/IEC 9636 establishes those functions of the Computer Graphics Interface concerned with Virtual Device
management, coordinate space control, and error control.
The functionality incorporated in this part of ISO/IEC 9636 is concerned with the management of the graphics image and the
interrelationship of the graphical and non-graphical parts of the interface.
This part of ISO/IEC 9636 is part 2 of ISO/IEC 9636, and should be read in conjunction with ISO/IEC 9636-l and other parts.
The relationship of this part of ISO/IEC 9636 to the other parts of ISO/IEC 9636 is described in ISO/IEC 9636-l and in clause
4.
The functionality described in this part of ISO/IEC 9636 pertains to all classes of CGI Virtual Device (i.e. INPUT, OUTPUT,
and OUTIN).
---------------------- Page: 7 ----------------------
ISO/IEC 9636-2 : 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.
Vocabulary - Part 13: Computer graphics.
IS0 2382-13 : 1984 Data processing -
- Inteflacing techniques for dialogues with graphical
ISO/IEC 9636- 1 : 199 1 Information technology - Computer graphics
Functional specification - Part 1 : Overview, profiles, and conformance.
devices (CGI) -
- Interfacing techniques for dialogues with graphical
ISO/IEC 9636-3 : 1991 Information technology - Computer graphics
devices (CGI} - Functional specification - Part 3: Output.
- Intevacing techniques for dialogues with graphical
ISO/IEC 9636-4 : 199 1 Information technology - Computer graphics
devices (CGI) - Functional specification - Part 4: Segments.
ISO/IEC 9636-5 : 199 1 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification - Part 5: Input and echoing.
- InterJacing techniques for dialogues with graphical
ISO/IEC 9636-6 : 199 1 Information technology - Computer graphics
devices (CGI) - Functional specification - Part 6: Raster.
-I) Information technology - Computer graphics - Inteflacing techniques for dialogues with graphical
ISO/IEC 9637-l :
devices (CGI) - Data stream binding - Part 1: Character encoding.
- Interfacing techniques for dialogues with graphical
ISO/IEC 9637-2 : -l) Information technology - Computer graphics
devices (CGI) - Data stream binding - Part 2: Binary encoding.
- Procedures for registration of graphical items.
ISO/IEC TR 9973 : 1988 Information processing
l) To be published.
2
---------------------- Page: 8 ----------------------
ISO/IEC 9636-2 : 1991 (E)
3 Concepts
3.1 Introduction
This part of ISO/IEC 9636 defines those functions of the Computer Graphics Interface concerned with Virtual Device
management, coordinate space control, and error control. The functionality incorporated in this part of ISO/IEC 9636 is
concerned with the management of the graphics image and the interrelationship of the graphical and non-graphical parts of the
interface. This functionality is divided into the following areas:
-
the CGI client to initiate and terminate sessions of dialogue and
Virtual Device management functions, which allows
to manage the graphics image on the Virtual Device.
-
Coordinate space controlfunctions, for the establishment of coordinate information, placement of the picture on the
drawing surface, and for the management of drawing surface clipping.
-
Error control functions, which involves the detection of errors both at and subsequent to the transmission of
parameters through the CGI.
-
Miscellaneous controZ functions, for the establishment of data stream numeric precisions, the accessing of
implementation specific functionality, and the accessing of CGI external functions.
-
Control inquiryfunctions, which provide access to the description tables and state lists concerned with function
Profile support, device description, and CGI control information.
3.2 Virtual Device management
3.2.1 Device control
The CGI Virtual Device is initialized by the function INITIALIZE. The function TERMINATE sets the CGI Virtual Device in
a state in which further CGI commands, other than INITIALIZE, will be ignored. It is not required that any other action take
place. There are no state restrictions on the use of INITIALIZE and TERMINATE, i.e. INITIALIZE and TERMINATE may
be used at any time.
The Virtual Device is required to perform in conformance with ISO/IEC 9636 from when the INITIALIZE function is
invoked until the first TERMINATE.
Drawing surface
3.2.2
Graphical output through the CGI is to a conceptual drawing surface. Physical implementations of a drawing surface may
vary, but the functional capability offered by the CGI to control the drawing surface shall be the same for any implementation.
Drawing surfaces are classified as being either hard-copy or soft-copy, on the basis of the medium that implements the display
surface. A drawing surface that is hard-copy is implemented by means of a medium that has to be replaced for each new
image. A soft-copy drawing surface is implemented by means of a medium that may be cleared for each new image.
Examples of hard-copy drawing surfaces are found in plotter media and film for projection displays. Examples of soft-copy
drawing surfaces are found in storage cathode ray tubes, cursively or raster refreshed cathode ray tubes, and in liquid crystal
The PREPARE DRAWING SURFACE function is used to ensure that the Virtual Device is ready to accept graphics at the
start of a page or frame.
The END PAGE function ensures that all output is visible and, for a hard-copy device, advances the medium if it has been
marked upon. This permits the CGI client to protect the page from being overwritten by the next client to use the device,
which is of particular value in a shared peripheral environment.
---------------------- Page: 9 ----------------------
ISOhEC 9636-2: 1991(E)
Concepts
Virtual Device management
In some environments, the display surface is subject to spontaneous change in size or shape, for example, in window-managed
environments. Whether or not such spontaneous change in display surface size or shape can occur in a given implementation
is indicated by an entry in the Output Device Description Table. If such spontaneous change in size or shape information can
occur in a given implementation, the device coordinate and size information in the Output Device Description Table may be
modified to reflect the change. There is no standardized mechanism to inform the client of a spontaneous change of size or
shape. The client can occasionally inquire the Output Device Description Table to discover such a change.
3.2.3 Deferral mode
The CGI
permits an implementation to buffer the actions requested by the client in order to provide for efficient use of the
resources
of physical devices. During this buffering period, the state of the drawing surface may be undefined.
The CGI client has control over this buffering by means of the Deferral Mode entry in the Control State List. The Deferral
Mode may have one of three values:
ASTI: requires only that the Virtual Device complete the display of an image “At Some Time”, that is, at its own
convemence;
requires that the Virtual Device complete the display of an image “Before the Next Interaction”, that is, before
BNI:
the next interaction with a Logical Input Device gets underway; If an interaction is already underway (i.e. some
LID is initialized for events) then BNI is equivalent to ASAP;
requires that the Virtual Device complete the display of an image “As Soon As Possible”.
ASAP:
Note that none of these values requires an implementation to delay the display of an image. On the other hand, for hard-copy
devices, the CGI does not require a page to be printed per function.
Explicit control of deferral is provided by the EXECUTE DEFERRED ACTIONS function which ensures that any pending
actions are completed (such as rendering any buffered output so that the operator can see it). The CGI requires that any
soliciting function immediately following EXECUTE DEFERRED ACTIONS will not return data until all pending actions are
performed and the drawing surface is up to date.
NOTE - Some implementations, such as buffered one-way output devices, may be unable to support Deferral Mode ASAP.
3.2.4 Serial synchronous interface
The CGI is a serial synchronous interface. There are no asynchronous signals over the interface to report events (whether from
input interactions or from environmental changes) or the occurrence of errors. The CGI is therefore able to guarantee
synchronization of its soliciting functions, including DEQUEUE ERROR REPORTS, with preceding function executions.
Invocation of DEQUEUE ERROR REPORTS will return all errors detected as a result of the execution of the preceding
functions provided the error queue has not overflowed.
This synchronous interface does not preclude implementations that have many parallel processes within them. Deferral allows
for this potential parallelism within the implementation and the function EXECUTE DEFERRED ACTIONS provides a client
with some degree of control of this parallelism.
3.3 Coordinate space concepts
3.3.1 The Virtual Device coordinate system
Coordinate data across the CGI is specified in Virtual Device Coordinates (VDCs), except where a direct reference is made to
the drawing or display surface. VDC space is an abstract space described in more detail below. The subset of VDC space
specified by the finite VDC extent is mapped to a portion of the physical device drawing surface specified by the device
viewport.
There are two ways for a CGI client to ensure isotropic mapping from VDC space to the display surface: by asking the CGI to
enforce it, or by using a VDC extent whose aspect ratio matches the visual aspect ratio of the selected device viewport. Entries
in the Output Device Description Table provide the information that enables the client to ensure isotropy without resorting to
implicit CGI mechanisms.
4
---------------------- Page: 10 ----------------------
ISOhEC 9636-2 : 1991 (E)
Coordinate space concepts Concepts
Furthermore, the CGI allows viewport specifications to cause the entire image to be mirrored relative to the normal
orientation, in either axes. The Device Viewport Mirroring entry in the Control Description Table provides information on the
support of this mirroring capability.
3.3.2 Device coordinates
The drawing surface and display surface are addressed by means of a Cartesian coordinate system. The Display Surface
Bottom-Left Corner and Display Surface Upper-Right comer entries in the Output Device Description Table specify this
physical device coordinate system. Although the graphic object pipeline model recognizes an abstract DC space with real
coordinates, the only form in which device coordinates are passed across the CGI is as integers. If the implementation uses
raster techniques, then the units of DCs correspond to single pixel displacements.
3.3.3 Device viewport
The device viewport specifies the region of the device drawing surface onto which the VDC extent is to be mapped.
The position of the device viewport is specified in one of three coordinate systems determined by the Devic
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.