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

Status
Published
Publication Date
17-Dec-1991
Current Stage
9093 - International Standard confirmed
Start Date
08-Dec-2021
Completion Date
30-Oct-2025

Overview

ISO/IEC 9636-2:1991 is Part 2 of the Computer Graphics Interface (CGI) functional specification. It defines the control functions for CGI, focusing on managing the graphical image and the interaction between graphical and non‑graphical parts of an interface. The standard covers virtual device management, coordinate space control and error control, and is intended to be used together with other parts of ISO/IEC 9636 (Part 1 overview/profiles/conformance; Parts 3–6 for output, segments, input/echoing and raster).

Annexes A and B are integral to the standard; Annex C is informative.

Key topics and technical requirements

  • Virtual Device Management

    • Lifecycle functions (initialize, terminate), device control, drawing surface preparation, deferral mode and execution of deferred actions.
    • Support for INPUT, OUTPUT and OUTIN virtual devices.
  • Coordinate Space Control

    • Concepts and control of the Virtual Device Coordinate (VDC) system, device coordinates, device viewport and viewport mapping.
    • VDC extent, tailoring, VDC space/range and drawing surface clipping.
    • Specification modes and mapping behavior for translating VDC to device coordinates.
  • Error Control

    • Error reporting and dequeuing error reports, error handling control and guidance for implementors (annex on control errors).
  • Precision and Miscellaneous Control

    • Numerical precision requirements for integer and real VDCs, index and colour precision, client‑specified name precision.
    • Escape and get‑escape mechanisms, message handling, and inquiry concepts.
  • Inquiry & State

    • Control inquiry functions and description tables: device identity and description tables, control description table, function/profile support and control state lists (inquire control state, current precision requirements, VDC-to-device mapping, error handling state).

Practical applications

  • Graphics system implementors: Implement CGI‑compliant APIs or device drivers that need standardized control of virtual devices and coordinate mapping.
  • Device manufacturers: Define how raster or vector devices accept CGI control messages, map VDCs to device viewports and report error states.
  • Software developers: Build cross‑platform graphics applications that interact with CGI virtual devices for consistent coordinate mapping and error semantics.
  • Standards and conformance testers: Verify compliance with CGI control functions, state lists and inquiry behaviors.

Who uses this standard

  • Graphics API designers, device driver engineers, CAD/CAM and visualization software teams, standards bodies and test labs requiring a stable functional specification for device control, coordinate systems and error handling in computer graphics.

Related standards

  • ISO/IEC 9636-1:1991 - Overview, profiles and conformance (companion document)
  • ISO/IEC 9636 Parts 3–6 - Output, Segments, Input & Echoing, Raster
  • ISO 2382-13:1984 - Vocabulary (computer graphics)
Standard

ISO/IEC 9636-2:1991 - Information technology -- Computer graphics -- Interfacing techniques for dialogues with graphical devices (CGI) -- Functional specification

English language
44 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 9636-2:1991 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Computer graphics - Interfacing techniques for dialogues with graphical devices (CGI) - Functional specification - Part 2: Control". This standard covers: 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.

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.

ISO/IEC 9636-2:1991 is classified under the following ICS (International Classification for Standards) categories: 35.140 - Computer graphics. The ICS classification helps identify the subject area and facilitates finding related standards.

You can purchase ISO/IEC 9636-2:1991 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

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)
.._ - --
ISO/IEC 9636-2 : 1991 (E)
Contents Page
Foreword
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V
1 scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Concepts .
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 .
333 Device viewport .
33.4 VDC space and range .
33.5 VDC extent .
33.6 VDC tailoring .
33.7 Drawing surface clipping .
3.4 Error control .
3.5 Miscellaneous control . 8
3.5.1 Numerical precision requirement specifications . 8
3.5.2 Escape concepts .
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
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
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
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
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
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
. . .
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
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).
This page intentionally left blank

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).
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.
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.

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.
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 Device Viewport
Specification Mode entry in the Control State List:
-
by fraction [O.O . . 1.01 x [O.O . . 1.01 of the available display surface, which allows reasonable placement and relative
sizing of the viewport, even without inquiry;
-
in millimetres times a metric scale factor, which allows absolute sizing of images without inquiry, but which requires
inquiry or prior knowledge of the device for assurance that the image will fit on the display surface;
-
in physical device coordinates, which requires either inquiry or prior knowledge of the device.
The device viewport is specified in terms of two points (on the display surface) at diagonally opposite comers of the rectangle.
The order in which the points are specified is significant.
The VDC-to-Device Mapping entry in the Control State List may force isotropic mapping. If the current VDC extent, device
viewport, and device viewport mapping would not lead to an isotropic mapping, the VDC extent is mapped onto a subset of
the specified device viewport. This subset is defined by shrinking either the vertical or horizontal dimension of the current
device viewport, as needed, to reach the required aspect ratio. This smaller effective device viewport is used to define the
coordinate mapping from VDC to the device’s coordinates. The placement of the effective viewport rectangle within the
original one can be specified. This placement can be one of LEFT, RIGHT, or CENTRED when the shrinking is horizontal,
and TOP, BOTTOM or CENTRED when the shrinking is vertical. These meanings are relative to the display surface. (See
figure 1.)
3.3.4 VDC space and range
Graphics output functions are used to define virtual images. The coordinate data given as parameters to these functions (that
is, points in the virtual image) are specified as absolute two-dimensional Virtual Device Coordinates (VDCs). VDC space is a
two-dimensional Cartesian coordinate space of infinite precision and infinite extent. Only a subset of VDC space, the VDC
range, is realizable by the CGI client. The VDC range comprises all coordinates representable in the format specified by the
declared VDC type and limited by any applicable precision; thus, the VDC range is not directly set by the client. The VDC
range is a finite discrete subset of VDC space (i.e. it does not provide a continuous range of values).
VDC space can be addressed with either integer or real coordinate data, determined by the VDC Type entry in the Control
State List and controlled by the VDC TYPE function. The granularity and realizable extent of the VDC range is affected by
either the VDC INTEGER PRECISION REQUIREMENT function or the VDC REAL PRECISION REQUIREMENTS
function, depending on the VDC Type. The Control Description Table indicates which of integer and real types are supported
for VDCs. Refer to 3.5.1 for further information on precision control.
3.3.5 VDC extent
The VDC extent is the portion of VDC space that is to be mapped onto the effective device viewport on the drawing surface of
the Virtual Device. The extent is set by specifying the addresses (in VDC space) of two opposite comers of a rectangular
region. Values outside the VDC extent are permitted in CGI functions.

ISO/IEC 9636-2 : 1991 (E)
Concepts
Coordinate space concepts
VDC-to-Device Mapping
VDC Extent
VDC Extent = ((0, 0), (32676,32676))
Isotropy = FORCED
Horizontal Alignment = LEFT
Vertical Alignment = BOTTOM
Specification Mode of Current Device Viewport =
FRACTION OF DISPLAY SURFACE
Metric Scale Factor of Current Device Viewport = 1.0
Requested Device Viewport = ((0.0, O.O), (1.0, 1.0))
Effective Device Viewport = ((0.0, O.O), (0.666, 1.0))
Display Surface
Effective Device Viewport
Figure 1 - An example VDC-to-Device Mapping.
The values of the coordinates for either dimension may be either increasing or decreasing from the first to the second comer. In
this way, the sense of the coordinate system of VDC space relative to the drawing surface is established (see figure 2).
The transformation which maps VDC points to the drawing surface is called the VDC-to-Device Mapping. The VDC-to-Device
Mapping maps the first point specifying the VDC extent onto the comer of the effective device viewport corresponding to the
first point specifying the device viewport, and similarly for the second point. The mapping is linear in each dimension, but is not
necessarily isotropic (e.g. a circle in VDC may not appear round to the viewer). If the values of the device viewport mapping
entries do not force isotropy, an isotropic transformation can still be assured if the numerical aspect ratio of VDC extent matches
the physical (not necessarily numerical) aspect ratio of the device viewport.
Angular directions are defined as follows: positive 90-degrees is defined to be the right angle from the positive x-axis to the
positive y-axis (see figure 2).
Whether changes to the VDC-to-Device Mapping take place immediately, can be simulated, or lead to an implicit regeneration, is
determined by the Dynamic Modification Accepted For VDC-to-Device Mapping entry in the Output Device Description Table.
The terminology used in the description of primitives and attributes refers to increasing coordinates from the first to the second
comer relative to the device viewport. If a coordinate system is chosen with decreasing coordinates from the first to the second
comer in one of x or y, the rendered objects shall be mirrored. If decreasing in both x and y, the rendered objects shall be rotated
by an angle of 180°.
3.3.6 VDC tailoring
The ability to specify the VDC range and the VDC extent provides the flexibility to configure the Virtual Device coordinate space
to match various needs. It may be configured as an abstract, normalized coordinate range for maximum device independence. It
may also be configured to match the address range and resolution of some target device (e.g. in order to avoid aliasing problems
or increase performance).
If the Virtual Device coordinate space is configured to match the address range and resolution of a raster device, it may be necessary
to know whether or not the pixels lie on or between the coordinates. Where pixels lie relative to the coordinates is indicated by an
entry in the Output Device Description Table. The preferred behaviour is that coordinates lie between pixels.

ISO/IEC 9636-2 : 1991 (E)
Concepts
Coordinate space concepts
Second mint of Device Viewport
+90”
Y
’ INCREASING
I
I Y
INCREASING X
111--1-111
+
First point of Device Viewport
VDC exten .t (O.O,O.O), (1.0,0.75)
Second point of Device Viewport
+90”
I,
A
: INCREASING
I
Y
I
I
I
INCREASING X
1---111-111
b
First point of Device Viewport
VDC extent (0.0,8.5), (11.0,O.O)
Figure 2 - VDC extent establishes the reference directions relative to the drawing surface.
ISO/IEC 9636-2 : 1991 (E)
Concepts Coordinate space concepts
3.3.7
Drawing surface clipping
Drawing surface clipping conceptually occurs in abstract DC space before the final physical rendering step. The Drawing
Surface Clip Indicator and Drawing Surface Clip Rectangle entries in the Control State List provide control over drawing
surface clipping. They are set by the functions DRAWING SURFACE CLIP INDICATOR and DRAWING SURFACE CLIP
RECTANGLE.
- If the Drawing Surface Clip Indicator is DSCRECT, the effective drawing surface clip region is the intersection of
the contents of the Drawing Surface Clip Rectangle entry and the limits of the device’s drawing surface.
- If the Drawing Surface Clip Indicator is VIEWPORT, the effective drawing surface clip region is the intersection of
the effective device viewport and the limits of the device’s drawing surface.
- If the Drawing Surface Clip Indicator is OFF no further drawing surface clipping is performed. Implementations of
CGI for physical devices which could suffer damage from an image whose extent is not controlled may always
enforce some sort of clipping, regardless of the state of the Drawing Surface Clip Indicator.
Drawing surface clipping applies to all types of output primitives. It operates (conceptually) by intersecting the effective
drawing surface clip region with the graphic objects after complete rendering in abstract DC space.
Note that with DSCRECT, it is possible to draw outside the device viewport if the drawing surface is larger than the device
viewport, the Drawing Surface Clip Rectangle extends outside the device viewport, and the clipping associated with graphic
objects does not restrict them to the device viewport (refer also to ISO/lEC 9636-3,3.6 and ISO/lEC 9636-6,3.5.2).
3.4 Error control
The philosophy of the specification of errors by ISO/lEC 9636, the definition of the error classes, and the actions performed
by an implementation when an error occurs, are described in ISO/IEC 9636-1,5.2.8.
This part of ISO/IEC 9636 defines the functions that control detection and reporting of errors, and that retrieve error reports
from the error queue.
The function ERROR HANDLING CONTROL enables the client to selectively turn off or on error detection and reporting for
each class of error. This treatment may override the defaults specified with the classes in ISO/IEC 9636-1,5.2.8.
The function DEQUEUE ERROR REPORTS enables a client to retrieve error reports from the error queue in the CGI Virtual
Device.
3.5 Miscel .laneous control
3.5.1 Numerical precision requirement specifications
The functions below establish client requirements for precision in representing and communicating information for data types
subject to variable precision in CGI data stream interfaces.
Table 1 - Precision functions
Precision Function
Data Type
I
VDC (Integer) VDC INTEGER PRECISION REQUIREMENT
VDC (Real) VDC REAL PRECISION REQUIREMENTS
CD COLOUR PRECISION REQUIREMENT
COLOUR INDEX PRECISION REQUIREMENT
CI
CLIENT SPECIFIED NAME PRECISION REQUIREMENT
CSN
INTEGER PRECISION REQUIREMENT
I
IX INDEX PRECISION REQUIREMENT
R REAL PRECISION REQUIREMENTS
ISO/IEC 9636-2 : 1991 (E)
Miscellaneous control
Additional encoding-specific precision functions shall be specified in encodings in order to provide the mechanism for
controlling the format of the data passed across the data stream interface of a CGI implementation. All instances of the use of
data type IF (Fixed precision Integer) have their own fixed precisions (not necessarily the same) and are not susceptible to
precision control.
The above functions for specifying client requirements for data precision have no effect on the form at of data passed across
procedural interface for any binding of the CGI.
In general, there may be multiple Generator/Interpreter pairs in the path from client to target. (See ISO/IEC 9636.1,4.2.) The
client’s precision requirements are passed to all these agents in the system and maintained as local state information in each.
Based on the precision requirements information, each Generator can make an independent decision about what particular
encoding-specific precisions must be used to satisfy the client’s requirements. Note that a Generator is not required to match
the required precision so long as it can employ a precision sufficient to satisfy a client’s requirement. (For example, suppose
the physical links between a Generator/Interpreter pair is a 32-bit data bus. It may be more efficient to use 32-bit integer
precision at the local level, even though the client has indicated that 16-bit precision is sufficient for its requirements.)
In each encoding, elements exist to specify precise encoding details relative to data passed over the communications link
between any one Generator/Interpreter pair. When adjustment of these parameters is required in response to a client’s
precision requirements request, appropriate encoding-specific elements shall be produced by each Generator to inform the
single immediately downstream Interpreter about how the Generator will encode the relevant parameters on its downstream
data stream, and how the Interpreter is to encode the relevant parameters on its upstream data stream. The encoding-specific
elements are purely an encoding mechanism employed only on the communication link between one Generator/Interpreter
pair, while the precision requirements functions defined in clause 5 result in providing the same information to all Generators
and Intepreters between the client and target.
3.5.2 Escape concepts
ESCAPE functions allow non-standard device-dependent or system-dependent data to be passed across the CGI. ESCAPES
may be used at the discretion of the client, but the specification of direct effects and side effects of the use of non-standard
functions are beyond the scope of ISO/IEC 9636. ISO/IEC 9636 makes the distinction between ESCAPE and
GENERALIZED DRAWING PRIMITIVE based on the following definition. Any non-standard function which generates a
graphic object or a part of a graphic object shall be called GENERALIZED DRAWING PRIMITIVE; any other non-standard
functions shall be called ESCAPE. No other constraint on the functional intent or content of data passed by the ESCAPE
mechanism will be imposed. For example, ISO/IEC 9636 does not preclude the data record of an ESCAPE from containing a
transformable point list.
There are two Escape Functions defined in ISO/lEC 9636:
-
ESCAPE provides communication of non-standard device-dependent or system-dependent data from the client to the
Virtual Device;
-
GET ESCAPE provides for the implementation of non-standard device-dependent or system-dependent soliciting
functions, such as inquiry or retrieval, by providing a return parameter (data record).
3.5.3 External functions
External functions communicate information not directly related to the generation of a graphic image.
The MESSAGE function specifies a string of characters used to communicate information to an operator. This function can be
used to provide special device-dependent information necessary to manage the device. Control over the position and
appearance of the character string is not provided.
3.6 Inquiry concepts
Inquiry functions, as defined in clause 6, provide the client with the means to access the information in the Device
Identification, Output Device, Function and Profile Support, and Control Description Tables, and the Control State List. These
description tables and state list provide information about the capabilities and current state of the CGI Virtual Device.

ISO/IEC 9636-2 : 1991 (E)
Concepts Inquiry concepts
Details about the relationship between a description table or state list and the correspond
...

Questions, Comments and Discussion

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

Loading comments...

記事タイトル:ISO/IEC 9636-2:1991 - 情報技術 - コンピュータグラフィックス - グラフィカルデバイス(CGI)との対話のためのインタフェース技術 - 機能仕様 - 第2部:制御 記事の内容:この記事では、仮想デバイスの管理、座標空間の制御、およびエラー制御に関連するインタフェースの機能について説明しています。付録AとBはこの標準の重要な部分です。付録Cは情報提供のためのものです。

The article discusses ISO/IEC 9636-2:1991, which is a standard for computer graphics interface techniques. Specifically, it focuses on functions related to virtual device management, coordinate space control, and error control. Annexes A and B are important parts of this standard, while Annex C is provided for information purposes only.

제목: ISO/IEC 9636-2:1991 - 정보기술 - 컴퓨터 그래픽스 - 그래픽 장치와 대화를 위한 인터페이싱 기술 (CGI) - 기능 사양 - 제 2 부: 제어 내용: 이 문서는 가상 장치 관리, 좌표 공간 제어 및 오류 제어와 관련된 인터페이스 기능에 대해 설명합니다. 부록 A와 B는 이 표준의 중요한 부분입니다. 부록 C는 정보 제공을 위한 용도로 제공됩니다.