Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 6: Raster

Describes those functions of the interface concerned with creating, modifying, retrieving, and displaying portions of an image stored as pixel data. Annexes A and B form an integral part of this standard. Annexes C, D, E and F are for information only.

Technologies de l'information — Infographie — Interfaces pour l'infographie — Spécifications fonctionnelles — Partie 6: Raster

General Information

Status
Published
Publication Date
17-Dec-1991
Current Stage
9093 - International Standard confirmed
Completion Date
08-Dec-2021
Ref Project

Buy Standard

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

Standards Content (Sample)

INTERNATIONAL ISOIIEC
STANDARD
First edition
1991-12-15
Information technology - Computer graphics -
Interfacing techniques for dialogues with
graphical devices (CGI) - Functional
specification -
Part 6:
Raster
Technologies de I’information - lnfographie - Interfaces pour
l’infographie - Spkcifica tions font tionnelles -
Partie 6: Raster
pp_-mp_______I_F -___-----_._-______-------- ---a-_ _-_____,-.
BP
-~- ._ _---
--
___- ---
^.--
--
=r --
-. 5=
-
zz
=
=
T 1
= 5
z
5 g
Z
=
=
3
XL =
- =
Reference number
E
=
x
ZZZ=
ZZZZZ
;@ --- ---
-.- -- ---
ISOA EC 9636-6: 1991 (E)

---------------------- Page: 1 ----------------------
ISO/IEC 9636-6 : 1991 (E)
Contents Page
Foreword . iv
V
Introduction .
1 scope . 1
2 Normative references . 2
3 Raster concepts . 3
3.1 Introduction . 3
3.2 Architectural concepts . 3
3.2.1 Bitmaps . 3
3.2.2 Displayable bitmaps . 3
3.23 Non-displayable bitmaps . 4
3.2.4 Bitmap identifiers . 5
33 Control of bitmap manipulations . 5
5
33.1 The drawing bitmap .
5
33.2 Two-operand bitblts .
6
333 Tile three-operand bitblt .
6
33.4 Bitmaps regions used as patterns .
6
33.5 Drawing modes .
7
33.6 Transparency .
....................................................... 7
33.7 Raster operation functions with mapped bitmaps
33.8 Rendering in full-depth bitmaps . 7
33.9 Rendering in mapped bitmaps . 7
7
3.4 Pixel array .
.................................................................................. 8
3.5 The VDC-to-Device Mapping and clipping
................................................ 8
35.1 Determining the position and size of created bitmaps
Clipping . 9
3.5.2
10
3.6 .
Insuti
4 Interactions with other parts of ISO/IEC 9636 . 11
................................................................................ 11
4.1 heractions with ISO/IEC 9636-2 (Control)
.................................................................................. 11
4.2 Interactions with ISO/IEC 9636-3 (Output)
43 Interactions with ISO/IEC 96364 (Segments) . 11
11
4.4 Interactions with ISO/IEC 9636-5 (Input) .
12
5 Abstract specification of functions
.................................................................................................................
5.1 Introduction . 12
Data types employed . 12
5.1.1
12
5.1.2 Validity of returned information .
12
5.2 Raster control functions .
............................................................................ 12
5.2.1 GET NEW BITMAP IDENTIFIER
12
5.2.2 CREATE BITMAP .
14
5.23 DELETE BITMAP .
14
5.2.4 DRAWING BITMAP .
15
5.2.5 DISPLAY BITMAP .
...................................................... 15
5.2.6 MAPPED BITMAP FOREGROUND COLOUR
..................................................... 15
5.2.7 MAPPED BITMAP BACKGROUND COLOUR
15
TRANSPARENT COLOUR
5.2.8 .
.............................................................................................................. 16
53 Raster attribute functions
.................................................................................................... 16
53.1 DRAWING MODE
............................................................................................................ 17
53.2 FILLBITMAP
18
5.4 Raster operation functions .
18
5.4.1 PIXEL ARRAY .
0 ISO/IEC 1991
All rights reserved. No part of this publication may be reproduced or utilized in any form or by
any means, electronic or mechanical, including photocopying and microfilm, without permission
in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
ii

---------------------- Page: 2 ----------------------
ISO/IEC 9636-6 : 1991 (E)
................................................................................................. 19
5.4.2 GET PIXEL ARRAY
GET PIXEL ARRAY DIMENSIONS . 20
5.43
.......................................................................... 20
SOURCE DESTINATION BITBLT
5.4.4
........................................................................... 21
TILE THREE OPERAND BITBLT
5.4.5
25
..................................................................................................................................
6 Raster inquiry functions
................................................................................................................................... 25
Introduction
6.1
25
Data types employed .
6.1.1
Validity of returned information . 25
6.1.2
................................................................................................................ 25
6.2 Raster description table
INQUIRE RASTER CAPABILITY . 25
6.2.1
INQUIRE LIST OF SUPPORTED DRAWING-MODE/TRANSPARENCY
6.2.2
26
PAIRS .
INQUIRE LIST OF SUPPORTED DRAWING-MODE-3nRANSPARENCY
6.2.3
PAIRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
.............................................................................................................................. 26
6.3 Raster state list
...................................................................................... 26
6.3.1 INQUIRE RASTER STATE
INQUIRE LIST OF NON-DISPLAYABLE BITMAP IDENTIFIERS . 26
6.3.2
INQUIRE LIST OF DISPLAYABLE BITMAP IDENTIFIERS . 27
6.3.3
............................................................................................................................ 27
6.4 Bitmap state list
...................................................................................... 27
6.4.1 INQUIRE BITMAP STATE
.......................................................................................................... 28
7 Raster description tables and state lists
Raster description table . 28
7.1
7.2 State lists . 29
29
7.2.1 Raster state list .
7.2.2 Bitmap state list . 29
31
Formal grammar of the functional specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Raster errors
Guidelines for CGI implementors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
List of BOOLEANOP class drawing-mode-3 values
45
Some raster operation examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
Algorithmic explanation of raster operations . . . . . .~.
. . .
ill

---------------------- Page: 3 ----------------------
ISO/IEC 9636-6 : 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-6 was prepared by Joint Technical Committee ISODX J‘K 1, Information
technology.
ISOLEC 9636 consists of the following parts, under the general title Information technology - Computer graphics -
Inteqacing techniques for dialogues with graphical devices (CGI) - Functional specification:
- Part 1: Overview, profiles, and conformance
- Part 2: Control
-Part 3: Output
-Part 4: Segments
-Part 5: Input and echoing
- Part 6: Raster
Annexes A and B form an integral part of this part of ISO/IEC 9636. Annexes C, D, E, and F are for information only.

---------------------- Page: 4 ----------------------
ISO/IEC 9636-6 : 1991 (E)
Introduction
This part of ISO/IEC 9636 describes the functions of the Computer Graphics Interface concerned with raster graphic specific
devices.
.ng, displaying and
The functional capability incorporated in this part of ISO/IEC 9636 is concerned with creating, manipulati
retri .eving information stored as pixel data below the CGI in a device independent, yet efficient manner.
The functionality described in this part of ISO/IEC 9636 pertains to Virtual Devices of class OUTPUT and OUTIN with
display type RASTER.

---------------------- Page: 5 ----------------------
This page intentionally left blank

---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISOllEC 9636-6 : 1991(E)
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 6:
Raster
1 Scope
This part of ISO/IEC 9636 describes those functions of the Computer Graphics Interface concerned with creating, modifying
retrieving, and displaying portions of an image stored as pixel data. It includes functionality for combining such images.
This part of ISO/IEC 9636 is part 6 of ISO/IEC 9636 and should be read in conjunction with ISO/IEC 9636-1, ISO/IEC 9636-
2, and ISO/IEC 9636-3. The relationship of this part of ISO/IEC 9636 to the other parts of ISO/IEC 9636 is described in
ISO/IEC 9636-l (see ISO/IEC 9636-l) 5.2.1 and figures 6 and 7) and in clause 4.
The functionality described in this part of ISO/lEC 9636 pertains to Virtual Devices of class OUTPUT and OUTIN with
display type RASTER.

---------------------- Page: 7 ----------------------
ISO/IEC 9636-6 : 1991 (E)
2 Normative references
The following standards contain provisions which, through reference in this text, constitute provisions of this part of
ISOAEC 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.
ISOAEC 9636-l : 1991 Information technology - Computer graphics - Inter$acing techniques for dialogues with graphical
Functional specification - Part 1: Overview, profiles, and conformance.
devices (CGI) -
ISOIIEC 9636-2 : 199 1 Information technology - Computer graphics - Inteqacing techniques for dialogues with graphical
devices (CGI) - Functional specification -Part 2: Control.
ISO/IEC 9636-3 : 1991 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -Part 3: Output.
Integacing techniques for dialogues with graphical
ISO/IEC 9636-4 : 1991 Information technology - Computer graphics -
devices (CGI) - Functional specification -Part 4: Segments.
Interfacing techniques for dialogues with graphical
ISOAEC 9636-5 : 1991 Information technology - Computer graphics -
devices (CGI) - Functional specification -Part 5: Input and echoing.
-I) Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
ISOLIEC 9637-l :
devices (CGI) -Data stream binding - Part 1: Character encoding.
-I) Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
ISO/IEC 9637-2 :
devices (CG) - 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-6 : 1991 (E)
Raster concepts
3
3.1 Introduction
This part of ISO/IEC 9636 defines a set of functions for creating, modifying, retrieving, and displaying information stored as
pixel data below the CGI. This functionality is divided into the following areas
-
including functions for the creation and deletion of bitmaps, and the selection of drawing
Raster control functions,
mapped bitmap expansion.
and display bitmaps, and the control of raster transparency and
-
Raster attribute functions, for setting particular attributes which have significance with other graphical output,
defined in ISO/IEC 9636-3 and this part of ISO/IEC 9636, when used in conjunction with raster functionality.
-
Raster operation functions, including display and retrieval of pixel array data, and various forms of bitmap
manipulation operations (bitblts) including movement, combination, and replication of bitmap regions.
-
Raster inquiry functions, which provide access to the description tables and state lists defined in this part of
ISO/IEC 9636.
3.2 Architectural concepts
3.2.1 Bitmaps
A bitmap is a region of computer memory that can be treated as if it were a rectangular array of pixels. Bitmaps are created
and maintained below the CGI, and their internal format is hidden from the CGI client. Bitmaps never share common memory.
Functions are provided to allow a CGI client to create and manage bitmaps.
Bitmaps may be INDEXED, DIRECT, and MIXED, as specified by the Array of Supported Bitmap Mode Combinations entry
in the Raster Description Table, indicating the type of colour values that may be contained in a bitmap. When MIXED, both
indexed and direct colour values may exist simultaneously in a bitmap.
Displayable bitmaps
3.2.2
Displayable bitmaps are special bitmaps that can be displayed on the display surface. The client can select which displayable
bitmap is to be displayed on the display surface and a different displayable bitmap may be selected by the client at any time.
There are from 1 to N predefined displayable bitmaps, where N is defined in the Raster Description Table. Predefined
displayable bitmaps are all created to be the same size as the display surface and may not be deleted. Additional displayable
bitmaps may be created at any arbitrary rectangular size by the client. Client created bitmaps may be deleted.
In some environments the displayed bitmap is subject to spontaneous change in dimensions; for example, in window-managed
environments. Whether or not such spontaneous change in the displayable bitmap dimensions is allowed is indicated by an
entry in the Output Device Description Table defined in ISO/IEC 9636-2. If such spontaneous change in dimensions is
allowed, the device coordinate information in the Bitmap State List for the currently displayed bitmap will be modified to
reflect the change. Thus, to detect such a spontaneous change, periodic polling by the client of this information is necessary.
Alternatively, the CGI client may receive asynchronous notification of a change of dimensions by the environment via a non-
CGI interface.
When the currently selected display bitmap does not completely cover the display surface, the CGI allows latitude about
whether the contents of previous displayable bitmaps are visible in those regions of the display surface not covered by the
currently selected display bitmap. The Previous Display Bitmap Data entry in the Raster Description Table specifies the
implemented behaviour, which may be either CLEARED or PRESERVED. A value of PRESERVED indicates that it is
possible for the display surface to be dirty even though the drawing surface is clear. If the contents of a previous displayable
bitmap are visible and the bitmap is selected as the current drawing bitmap, it is implementation-dependent whether changes to
the bitmap are visible.
3

---------------------- Page: 9 ----------------------
ISO/IEC 9636-6 : 1991 (E)
Architectural concepts
Raster concepts
3.2.3 Non-displayable bitmaps
These bitmaps cannot be displayed directly, but the information within a non-displayable bitmap may be moved to or combined
with a displayable bitmap.
Pixels in a non-displayable bitmap are treated as if their aspect ratio is the same as that of pixels in a displayable bitmap for the
device.
Non-displayable bitmaps may be one of two types: FULL DEPTH or MAPPED, as illustrated in figure 1.
FULL DEPTH BITMAPS
-
-
DISPLAYABLE NON-DISPLAYABLE
-
-
Always client-defined
Full depth by definition.
and can be of arbitrary
1
Either client-defined or
rectangular size
.
predefined and may be
of arbitrary rectangular
size.
MAPPED BITMAPS
Always non-displayable and can be of arbitrary rectangular size. The pixels of a
mapped bitmap are one bit deep. They may be either foreground or background values.
These abstract values are mapped to actual colours of the client’s choice when the
mapped bitmap is involved in an operation.
Background pixels are
Pixels having Mapped
mapped to Mapped Bitmap
Bitmap Background
Background Colour
Colour are mapped to
background value
MAPPED
BITMAP
Foreground pixels are
All other pixels are
mapped to Mapped Bitmap
mapped to foreground
Foreground Colour
value
Figure 1 - Types of bitmaps
The pixels of full-depth bitmaps have the same number of bits per pixel as displayable bitmaps. Thus, a full-depth bitmap has the
same colour capabilities as the physical device, and maintains the pixel values as CI or CD colour specifiers in the same manner
as displayable bitmaps.
The pixels of a mapped bitmap can assume only the two abstract valuesforeground or background, which are mapped to actual
colours of the client’s choice when the bitmap is involved in an operation. Mapped bitmaps are thus convenient for such purposes
as storing bitmap character fonts.
4

---------------------- Page: 10 ----------------------
ISO/IEC 963616 : 1991 (E)
Raster concepts
Architectural concepts
The effect of PREPARE DRAWING SURFACE on a mapped bitmap is to set all pixels of the mapped bitmap to the
background value.
3.2.4 Bitmap identifiers
Bitmaps are referenced through an identifier. The first N consecutive identifiers identify the N predefined displayable bitmaps.
The value of N is contained in the Raster Description Table and is an invariant resource of the CGI Virtual Device. The list of
predefined displayable bitmap identifiers is given by the default value of the List Of Bitmap Identifiers entry (for displayable
bitmaps) in the Raster State List.
The client can define its own identifiers for bitmaps it creates or it may have identifiers defined for it by using the function
GET NEW BITMAP IDENTIFIER. The identifier is passed as an input parameter to the CREATE BITMAP function which
then creates a bitmap with the given identifier.
3.3 Control of bitmap manipulations
3.3.1 The drawing bitmap
The client can select which bitmap is affected by drawing operations. This is referred to as the drawing bitmap. Any bitmap
may be selected as the drawing bitmap regardless of its depth type or displayability: FULL DEPTH or MAPPED, NON
DISPLAYABLE or DISPLAYABLE. It is the currently selected drawing bitmap, not the current display bitmap, that is
affected by functions such as PREPARE DRAWING SURFACE, VDC EXTENT, DEVICE VIEWPORT, POLYLINE,
DRAW ALL SEGMENTS. The client should select explicitly the current displayed bitmap as the drawing bitmap if such
functions are to apply to the displayed bitmap.
3.3.2 Two-operand bitblts
A two-operand bitblt function is provided to support operations that move and combine the contents of rectangular regions of
bitmaps in memory. The regions of interest are specified using points in VDC. The actual movement of data takes place
without regard to the VDC coordinate systems (see figure 2). If the destination for these operations is also the currently
selected display bitmap then these operations may affect the displayed picture. The two-operand bitblt function combines the
source and destination pixels according to the bitmap type and drawing modes in tables 1 and 2. The particular drawing mode
used is specified as one of the parameters of the two-operand bitblt function.

---------------------- Page: 11 ----------------------
ISO/IEC 9636-6 : 1991 (E)
Raster concepts Control of bitmap manipulations
y extent
source
Origin
x extent (VDC)
wDc~ Uh”“I
:
:
;
\-
I :
,:
:
# /
x extent (VDC)
destination
u
y extent
origin
ABC /
(VW
J I
I I
(1~98~)
www
VDC
VDC
Note, the actual transfer of pixels between source and destination regions is performed without
regard to the coordinate system. The upper left source pixel shall always be moved to the upper
left destination pixel and is independent of the two different VDC systems of the bitmaps.
Figure 2 - Bitblt regions
3.3.3 Tile three-operand bitblt
Tile three-operand bitblts support the combination of two sources and a destination for the data movement. One of the sources
may be used as a replicating tile and is referred to as the pattern. The drawing mode-3 operation used is specified as one of the
parameters of the tile three-operand bitblt function, (refer to 5.4.5 and annex D). Annex E.3 illustrates the use of a tile three-
operand bitblt in tiling a filled area (the letter P) in the destination bitmap corresponding to the filled area given by the source
bitmap.
3.3.4 Bitmaps regions used as patterns
In addition to using bitmap regions as tiles for a tile three-operand bitblt, they may also be used to provide the pattern data for fill
objects defined in ISO/IEC 9636-3. Figure 3 illustrates the use of a bitmap region as a pattern for filling.

---------------------- Page: 12 ----------------------
t,
t,
tr
u
a
4
LO
=I
UQ

---------------------- Page: 13 ----------------------
ISO/IEC 9636-6 : 1991 (E)
Raster concepts Control of bitmap manipulations
3.3.7 Raster operation functions with mapped bitmaps
In performing a raster operation function which involves a combining operation over pixel values from one or more mapped
bitmaps, then, prior to the pixel combining operation, pixels in mapped bitmaps which have “foreground value” are expanded
to the value of Mapped Bitmap Foreground Colour in the Raster State List and those which have “background value” are
expanded to the value of Mapped Bitmap Background Colour in the Raster State List. Such expansion also occurs whenever
the destination bitmap is full-depth, even when there is no effective combining operation (e.g. d’ c- s).
In performing a raster operation function in which the destination bitmap is a mapped bitmap, then, after any pixel combining
operations, destination pixels are set to “background value” whenever the result of the combining operation was a pixel with
value equal to that of Mapped Bitmap Background Colour and to “foreground value” otherwise.
3.3.8 Rendering in full-depth bitmaps
The associated DRAWING MODE attribute value of a graphic object affects the way that object is rendered in the drawing
bitmap. For each pixel affected in rendering an object, the drawing colour may either be the colour attribute value associated
with the object (or edge) or the AUXILIARY COLOUR attribute value (if the associated TRANSPARENCY attribute is
OPAQUE). The drawing colour is combined with the destination pixel in accordance with the associated DRAWING MODE
attribute value and the result replaces the former value of the destination pixel. The Transparent Colour entry in the Raster
State List has no affect on this rendering operation.
Rendering in mapped bitmaps
3.3.9
The rendering of an object in the drawing bitmap when that bitmap is a mapped bitmap, is affected by the Mapped Bitmap
Background Colour and Mapped Bitmap Foreground Colour in the Raster State List. Conceptually, an affected destination
pixel is expanded to a full-depth value according to whether it is foreground or background. It is then combined with the
drawing colour (determined
...

Questions, Comments and Discussion

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