ISO/IEC 9636-5:1991
(Main)Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 5: Input and echoing
Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 5: Input and echoing
Defines those functions of the interface concerned with obtaining graphical and non-graphical input from a virtual device. Defines also functions to support echoing of input operations on separate virtual devices.
Technologies de l'information — Infographie — Interfaces pour l'infographie — Spécifications fonctionnelles — Partie 5: Entrée et résonance
General Information
Standards Content (Sample)
ISO/IEC 9636-5 : 1991 (E)
ECHO CONTROLS . 24
5.23
5.2.4 PUT CURRENT MEASURE . 25
............................................................................................................. 26
5.2.5 ECHO DATA
5.2.6 DEVICE DATA . 27
5.2.7 ASSOCIATE TRIGGERS . 30
5.2.8 GET ADDITIONAL STROKE DATA . 30
5.2.9 GET ADDITIONAL PICK DATA . 31
5.2.10 GET ADDITIONAL STRING DATA . 31
5.2.11 GET ADDITIONAL RASTER DATA .
32
5.3 Request and sample functions .
32
5.3.1 REQUEST . 32
5.3.2 SAMPLING STATE . 34
53.3 SAMPLE . 34
5.4 Echo request input functions . 35
5.4.1 INITIALIZE ECHO REQUEST 35
................................................................................
5.4.2 ECHO REQUEST 36
................................................................................
5.5 Event input functions . 38
5.5.1 INITIALIZE EVENT QUEUE . 38
5.5.2 RELEASE EVENT QUEUE .
38
5.5.3 ENABLE EVENTS .
39
5.5.4 DISABLE EVENTS .
39
5.5.5 EVENT QUEUE BLOCK CONTROL
...................................................................... 40
5.5.6 FLUSH EVENTS .
40
5.5.7 FLUSH DEVICE EVENTS .
40
5.5.8 AWAIT EVENT .
41
5.5.9 DEQUEUE EVENT
............................................................................ 42
5.5.10 EVENT QUEUE TRANSFER
................................................................................... 43
5.6
Echo output functions . 43
5.6.1 INITIALIZE ECHO OUTPUT
................................................................................... 43
5.6.2 RELEASE ECHO OUTPUT
...................................................................................... 44
5.6.3
ECHO OUTPUT CONTROLS 44
..................................................................................
5.6.4 PERFORM ACKNOWLEDGEMENT . 45
5.6.5 UPDATE ECHO OUTPUT . 45
5.6.6 ECHO OUTPUT DATA . 46
6 Input and echoing inquiry functions
............................................................................................................... 48
6.1 Introduction . 48
6.1.1 Data types employed . 48
6.1.2 Validity of returned information . 48
6.2 Input description table . 48
6.2.1 INQUIRE INPUT CAPABILITY . 48
6.2.2 INQUIRE LIST OF AVAILABLE INPUT DEVICES
............................................. 48
6.3 Class-independent logical input device description table
............................................................ 49
6.3.1 INQUIRE COMMON INPUT DEVICE PROPERTIES . 49
6.3.2 INQUIRE LIST OF SUPPORTED ECHO TYPES .
49
6.3.3 INQUIRE LIST OF SUPPORTED PROMPT’ TYPES .
49
6.3.4 INQUIRE LIST OF SUPPORTED ACKNOWLEDGEMENT TYPES
.................... 50
6.3.5 INQUIRE LIST OF ASSOCIABLE TRIGGERS .
50
6.4 Class-specific logical input device description table
.................................................................... 50
6.4.1 INQUIRE LOCATOR CAPABILITIES
.................................................................... 50
6.4.2
INQUIRE STROKE CAPABILITIES . 51
6.4.3 INQUIRE CHOICE CAPABILITIES . 51
6.4.4
INQUIRE PICK CAPABILITIES . 51
6.4.5 INQUIRE STRING CAPABILITIES 51
........................................................................
6.4.6 INQUIRE LIST OF AVAILABLE INPUT CHARACTER SETS .
52
6.4.7 INQUIRE RASTER INPUT CAPABILITIES .
52
6.4.8 INQUIRE LIST OF PERMITTED RASTER SPOT CENTRE SEPARATIONS. .
52
6.4.9 INQUIRE GENERAL CAPABILITIES .
52
6.4.10 INQUIRE LIST OF SUPPORTED GENERAL MEASURE FORMATS
................ 53
6.5 Class-independent logical input device state list .
53
6.5.1 INQUIRE COMMON LOGICAL INPUT DEVICE STATE
.................................... 53
6.5.2 INQUIRE LIST OF ASSOCIATED TRIGGERS
...................................................... 53
. . .
ill
---------------------- Page: 1 ----------------------
ISO/IEC 96364 : 1991 (E)
54
..........................................................................
6.53 INQUIRE ECHO DATA RECORD
.......................................................... 54
6.5.4 INQUIRE INPUT DEVICE DATA RECORD
................................................................................. 54
6.6 Class-specific logical input device state list
.................................................................................. 54
6.6.1 INQUIRE LOCATOR STATE
...................................................................................... 55
6.6.2 INQUIRE STROKE STATE
55
6.6.3 INQUIRE VALUATOR STATE .
56
6.6.4 INQUIRE CHOICE STATE .
6.65 INQUIRE PICK STATE . 56
6.6.6 INQUIRE STRING STATE . 56
6.6.7 INQUIRE RASTER INPUT STATE . 57
6.63 INQUIRE GENERAL STATE . 57
6.7 Event input state list . 57
6.7.1 INQUIRE EVENT INPUT STATE . 57
6.8 ption table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Echo output descri
58
RE ECHO OUTPUT CAPABILIIIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8.1 INQU
58
RE LIST OF ECHO OUTPUT ECHO TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
mQu
6.8.2
. . . . . . . . . . . . . . . . . .*. 58
6.83 INQUI RE LIST OF ECHO OUTPUT PROMPT TYPES
. . . . . . . . . . . . . . . 59
RE LIST OF ECHO OUTPUT ACKNOWLEDGEMENT TYPES
6.8.4 INQU
59
RE LIST OF SUPPORTED GENERAL FORMAT IDENTIFIERS . . . . . . . . . . . . . .
6.85 INQU
59
6.9 Echo entity state li st . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*.
. . . . . . . . . . . . . . . . . . . . . . . . . .
6.9.1 INQUI ZE LIST OF CURRENTLY EXISTING ECHO ENTITIES 59
60
6.10 Individ Cal echo entity state list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
6.10.1 INQUI ZE ECHO ENTITY STATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
6.10.2 INQUI 2E ECHO OUTPUT DATA RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
7 CGI description tables and state lists .
61
7.1 Description tables .
7.1.1 Input capability . 61
7.1.2 Class-independent logical input capability . 61
7.13 Echo output capability . . 63
64
7.2 State lists .
7.2.1 Input state . 64
64
7.2.2 Class-independent logical input device state .
7.23 Class-specific logical input device state . 65
.......................................................................................................................... 67
7.2.4 Events
68
7.25 Echo entity state .
A Formal grammar of the functional specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B Input errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
C Guidelines for CGI implementors . . . . . . . . . . . . . . . . .*. 94
iv
---------------------- Page: 2 ----------------------
ISO/IEC 9636-S : 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-5 was prepared by Joint Technical Committee ISOLEC JTC 1, hfomation
technology.
ISO/IEC 9636 consists of the following parts, under the general title Information technology - Computer graphics --
InterJacing techniques for dialogues with graphical devices (CGI} - Functional specijication:
-Part 1: Overview, projiles, 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.
---------------------- Page: 3 ----------------------
ISO/IEC 9636-5 : 1991 (E)
Introduction
This part of ISO/IEC 9636 describes the interface between a device-independent part of a graphics system and INPUT or
OUTIN Virtual Devices from which graphical and non-graphical inputs can be obtained.
CGI input functions control and perform different methods of input from a Virtual Device, allowing the return of an input
value according to user requirement.
CGI input functions return a variety of data types which correspond to output data commonly used in graphics systems.
vi
---------------------- Page: 4 ----------------------
INTERNATIONAL STANDARD lSO/IEC 9636-5 : 1991 (E)
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 5:
Input and echoing
1 Scope
This part of ISO/IEC 9636 defines those functions of the Computer Graphics Interface concerned with obtaining graphical and
non-graphical input from a Virtual Device of device class INPUT or OUTIN. This part of ISO/IEC 9636 also defines functions
to support echoing of input operations on separate Virtual Devices.
This part of ISO/IEC 9636 is part 5 of ISO/IEC 9636, and should be read in conjunction with ISO/IEC %36-l, ISO/IEC 9636-
2, and ISO/IEC 9636-4. The relationship of this part of ISO/IEC 9636 to the other parts of of ISO/IEC 9636 is described in
ISO/IEC 9636-l and in clause 4.
1
---------------------- Page: 5 ----------------------
ISO/IEC 9636-S : 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.
ISO/IEC 9636-l : 1991 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification - Part 1: Overview, profiles, and conformance.
Interfacing techniques for dialogues with graphical
ISO/IEC 9636-2 : 1991 Information technology - Computer graphics -
devices (CGI) - Functional specification -Part 2: Control.
ISOIIEC 9636-3 : 1991 Information technology - Computer graphics - Integacing techniques for dialogues with graphical
devices (CGI) - Functional specification -Part 3: Output.
Inteflacing techniques for dialogues with graphical
ISO/IEC 9636-4 : 1991 Information technology - Computer graphics -
devices (CGI) - Functional specification -Part 4: Segments.
ISO/IEC 9636-6 : 1991 Information technology - Computer graphics - Inteflacing techniques for dialogues with graphical
devices (CGI) - Functional specification - Part 6: Raster.
ISOLIEC 9637-l : -l) Information technology - Computer graphics - Integacing techniques for dialogues with graphical
devices (CGI) - Data stream binding - Part 1: Character encoding.
Inter$acing techniques for dialogues with graphical
ISOAEC 9637-2 : -l) Information technology - Computer graphics -
devices (CGI) - Data stream binding - Part 2: Binary encoding.
ISO/IEC TR 9973 : 1988 Information processing - Procedures for registration of graphical items.
l) To be published.
2
---------------------- Page: 6 ----------------------
ISO/IEC 9636-5 : 1991 (E)
3 Concepts
3.1 Introduction
This part of ISO/IEC 9636 defines those functions of the Computer Graphics Interface concerned with input and echoing. This
functionality is divided into the following areas
- Input control functions, which provide control over initialization and deallocation of Logical Input Devices
(LIDS),
together with the means to tailor their characteristics.
-
Request and sample functions, which permit LIDS to be used with Request and Sample input methods.
-
Echo request input functions, which permit LIDS to be used with the Echo Request input method, a special type of
Request method in which changes to the LID’s measure value can be tracked by the client.
which permit LIDS to be used with the Event input method; this allows the client to control a
- Event input functions,
simultaneously while concurrently performing graphical output.
number of active LIDS
-
Echo output functions, which allow values to be echoed on a given CGI Virtual Device when the source of such
values was not the given device.
-
Input and echoing inquiry functions, which provide access to the description tables and state lists concerned with
input and echoing.
3.2 Basic input model
The functions specified by this part of ISO/IEC 9636 are defined in terms of a model of the operation of graphical input. This
sub-clause defines the relationship between the top level concepts involved, and the following sub-clauses detail each of the
elements of the input model.
An INPUT or OUTIN CGI Virtual Device provides input capabilities through Logical Input Devices (LIDS).
Input may be acquired by means of different input methods, and the client of the CGI may also exert control of the operation
of prompt, echo, and acknowledgement capabilities of the Virtual Device.
3.3 Logical input devices
A logical input device consists of a measure, state information and a set of associated triggers. (A LID’s set of associated
triggers may be empty.)
A LID is identified by the input class of its measure (see table 1) and by its LID index. There is a separate set of LID indices
for each class of measure.
Each LID has a description table and a state list; each is divided into a class-independent and a class-specific portion. The
Class-Independent Logical Input Device State List holds entries for the input device state, the sample input state, and the
controls for prompt, echo and acknowledgement. The Class-Specific Logical Input Device State List defines the control that is
applied to the LID’s measure. Both the class-specific and the class-independent state lists form the Logical Input Device State
List, which exists for every LID. It is not required that the list of available logical input device indices for a specific input class
be dense.
---------------------- Page: 7 ----------------------
ISO/IEC 9636-S : 1991 (E)
Logical input devices
Concepts
Table 1 - Input Classes
Input classes
Input Class Data returned Example
LOCATOR a single VDC point digitizer, mouse
STROKE a sequence of VDC points digitizer
VALUATOR a number from a continuous range of alternatives potentiometer
CHOICE an integer from a bounded range of alternatives button box
PICK a pick status, and the list of pick values, containing a light pen
pick identifier and segment identifier
STRING a character string alphanumeric keyboard
RASTER an input colour value array scanner
GENERAL a data record voice input
34 a Measures
A measure is the modelled counterpart of the real-world entity that generates values that feed into the CGI input mechanisms.
For the purposes of the input model, a measure has three components, an input tool, a current value and a measure validity.
Both the current value and the measure validity are interrogated by the LID as part of any input action; the measure validity
status determines completeness and reliability of the measure. If the measure validity is VALID, the measure value is
complete and reliable and may be returned. If the measure validity is INVALID, the current value of the measure may not be
returned and no meaning should be attached to the returned parameter value.
In normal operation, the input tool modifies the current value and the measure validity under the influence of an outside agent
(for example, an operator).
The CGI client may also set the current value and the measure validity, using the function PUT CURRENT
MEASURE. Some physical implementations of measures may render implementation of this function impractical; this
situation is indicated by the Put Current Measure Effective entry in the Class-Independent Logical Input Device Description
‘Table.
3.4.1 Measures of input class LOCATOR
The value of a LOCATOR measure is a point in VDC space. A separate VDC coordinate system, independent of that used for
graphical output, may be specified for each LOCATOR LID. (See 3.5.)
The criterion for the validity of a LOCATOR measure is that the point measured should be within the Input Extent.
Measures of input class LOCATOR may be implemented, for example, by a mouse, trackball, tablet puck, joystick, thumb-
wheels, and by digitizing tables.
3.42 Measures of input class STROKE
The value of a STROKE measure is a list of points in VDC space. A separate VDC coordinate system, independent of that
used for graphical output, may be specified for each STROKE LID. (See 3.5.)
There is no criterion for a STROKE measure to be invalid; points outside the Input Extent are rejected.
An implementation of a STROKE measure will typically involve several external actions before a measure value becomes
available. Successive use of SAMPLE input from a STROKE measure will characteristically produce values that (at least in
part) repeat one another. The “complete” measure value is that returned to a REQUEST or ECHO REQUEST input function,
or that entered in the event queue when a trigger fires. After the complete measure value has been made available, use of
SAMPLE will return an “empty” measure value until further external action has occurred.
Measures of input class STROKE may be implemented by the same sorts of devices as for class LOCATOR, with a (possibly)
separate method of signaIling “input complete”.
4
---------------------- Page: 8 ----------------------
ISO/IEC 9636-5 : 1991 (E)
Concepts
Measures
3.4.3 Measures of input class VALUATOR
The value of a VALUATOR measure is a real number in a range defined by maximum and minimum values specified by
entries in the Class-Specific Logical Input Device State List.
The criterion for the validity of a VALUATOR measure is that its value should fall in the specified range.
Measures of input class VALUATOR may be implemented, for example, by a single thumb-wheel or by a potentiometer knob.
3.4.4 Measures of input class CHOICE
The value of a CHOICE measure is an integer in a range whose lower bound is 1 and whose upper bound is defined in the
Class-Specific Logical Input Device Description Table.
The criterion for the validity of a CHOICE measure is that its value should fall in the specified range.
Measures of input class CHOICE may be implemented for example, by a button box, by a tablet, or screen menu.
3.4.5 Measures of input class PICK
The value of a PICK measure is a list of pick values, (see the definition of data type PV in ISO/IEC 9636-1, 52.10). The
implementation of input class PICK requires an OUTIN Virtual Device to support the capabilities defined in ISO/IEC 9636-4.
A separate VDC coordinate system, independent of that used for graphical output, may be specified for each PICK LID. (See
3.5.) This VDC coordinate system is used to define the pick aperture relative to the pick location.
The criteria that define which segments are picked are defined in ISO/IEC 9636-4, 3.8. PICK measures may exist only on
Virtual Devices of device class OUTIN, since they derive values from an interaction between an input tool and segment
storage of the Virtual Device. The PICK measure is INVALID if the number of pick values exceeds the maximum specified in
the Class-Specific Logical Input Device State List.
Measures of input class PICK may be implemented by the same sort of devices as for class LOCATOR with some means to
link it to segment storage.
3.4.6 Measures of input class STRING
The value of a STRING measure is a string of characters which is subject to the Input Character Set Index, Alternate Input
Character Set Index, and the Input Character Coding Announcer entries in the Class-Specific Logical Input Device State List.
The STRING measure is INVALID if the number of characters exceeds the maximum specified in the Class-Specific Logical
Input Device State List.
An implementation of a STRING measure will typically involve several external actions before a measure value becomes
available. Successive use of SAMPLE input from a STRING measure will characteristically produce values that (at least in
part) repeat one another. The “complete” measure value is that returned to a REQUEST or ECHO REQUEST input function,
or that entered in the event queue when a trigger fires. After the complete measure value has been made available, use of
SAMPLE will return an “empty” measure value until further external action has occurred.
A measure of input class STRING may be implemented, for example, by means of a computer keyboard.
3.4.7 Measures of input class RASTER
The value of a RASTER measure is an array of input colour values (typically colour or grey-scale intensities of an external
image). The representation of each colour value is determined by the entries Colour and Bits Per Colour in the Class-Specific
Logical Input Device State List. The Source Window, specified in pixels, in the Client-Specific Logical Input Device State
List, determines the region from which the returned input colour values are obtained. Invoking the function RASTER
DEVICE DATA can be used to change the setting of this Source Window. The pixel offsets used to specify the source
window may result in the return of an invalid RASTER measure.
The measure of input class RASTER may be implemented, for example, by a video camera, a scanner, facsimile machine, or
remote-sensing equipment. A conforming measure of input class RASTER shall not be implemented using the contents of a
CGI bitmap. (GET PIXEL ARRAY, defined in ISO/IEC 9636-6, can be used for this purpose.)
5
---------------------- Page: 9 ----------------------
ISO/IEC 96364 : 1991 (E)
Measures
Concepts
3.4.8 Measures of input class GENERAL
The value of a GENERAL measure is a data record, whose format is determined by a measure format identifier. The
GENlWU, input class provides a mechanism for addressing, within the CGI model of input, logical input devices which do
not match one of the other standardized input classes. The GENERAL measure is INVALID if the data record size exceeds the
maximum specified in the Class-Specific Logical Input Device State List.
Non-negative measure format identifiers for input class GENERAL are reserved for those registered with the IS0 Registration
Authority. Negative measure format identifiers may be used for implementation-dependent formats.
3.5 Coordinate systems for VDC measures
LOCATOR and STROKE devices deliver VDC measure values. A GENERAL input device may also deliver a VDC measure
value. Although PICK devices do not deliver VDC measure values, pick input uses a pick aperture specified in VDC that is
used in determining the list of pick values returned.
The characteristics of the physical device that supports such logical input devices appear in the Class-Specific Logical Input
Device Description Table. These physical characteristics include:
-
Input device address space. This is the native coordinate range of the input device, and is expressed as a pair of ISPs,
being the extreme lower left and upper right comers of the address range.
-
Input device physical size. This is expressed as a pair of real
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.