1、BRITISH STANDARD BS ISO/IEC 9636-6:1991 Implementation of ISO/IEC9636-6:1991 Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification Part6: Raster UDC 681.3.04(084):681.3.01BSISO/IEC9636-6:1991 This BritishStandard, having b
2、een prepared under the directionof the Information Systems Technology Standards Policy Committee, was publishedunder the authority ofthe Standards Board and comes into effect on 15June1992 BSI 03-2000 The following BSI references relate to the work on this standard: Committee reference IST/31 Draft
3、for comment90/62659 DC ISBN 0 580 20734 X Committees responsible for this BritishStandard The preparation of this BritishStandard was entrusted by the Information Systems Technology Standards Policy Committee (IST/-) to Technical Committee IST/31, upon which the following bodies were represented: De
4、partment of Trade and Industry (IT Standards Unit) Information Systems Committee of the Universities Funding Council Rutherford Appleton Laboratory Amendments issued since publication Amd. No. Date CommentsBSISO/IEC9636-6:1991 BSI 03-2000 i Contents Page Committees responsible Inside front cover Nat
5、ional foreword ii Foreword iv Text of ISO/IEC9636-6 1BSISO/IEC9636-6:1991 ii BSI 03-2000 National foreword This BritishStandard reproduces verbatim ISO/IEC9636-6:1991 and implements it as the UK national standard. This BritishStandard is published under the direction of the Information Systems Techn
6、ology Standards Policy Committee whose Technical Committee IST/31 has the responsibility to: aid enquirers to understand the text; present to the responsible international committee any enquiries on interpretation, or proposals for change, and keep UK interests informed; monitor related internationa
7、l and European developments and promulgate them in the UK. NOTEInternational and European Standards, as well as overseas standards, are available from BSI Sales Department, BSI, Linford Wood, Milton Keynes, MK146LE. A British Standard does not purport to include all the necessary provisions of a con
8、tract. Users of British Standards are responsible for their correct application. Compliance with a British Standard does not of itself confer immunity from legal obligations. Summary of pages This document comprises a front cover, an inside front cover, pagesi andii, theISO/IEC title page, pages ii
9、to iv, pages1 to44 and a back cover. This standard has been updated (see copyright date) and may have had amendments incorporated. This will be indicated in the amendment table on the inside front cover.ISO/IEC9636-6:1991(E) ii BSI 03-2000 Contents Page Foreword iv Introduction 1 1 Scope 1 2 Normati
10、ve references 1 3 Raster concepts 1 3.1 Introduction 1 3.2 Architectural concepts 2 3.2.1 Bitmaps 2 3.2.2 Displayable bitmaps 2 3.2.3 Non-displayable bitmaps 2 3.2.4 Bitmap identifiers 3 3.3 Control of bitmap manipulations 4 3.3.1 The drawing bitmap 4 3.3.2 Two-operand bitblts 4 3.3.3 Tile three-ope
11、rand bitblt 4 3.3.4 Bitmaps regions used as patterns 5 3.3.5 Drawing modes 5 3.3.6 Transparency 6 3.3.7 Raster operation functions with mapped bitmaps 6 3.3.8 Rendering in full-depth bitmaps 6 3.3.9 Rendering in mapped bitmaps 6 3.4 Pixel array 6 3.5 The VDC-to-Device Mapping and clipping 7 3.5.1 De
12、termining the position and size of created bitmaps 7 3.5.2 Clipping 9 3.6 Inquiry 9 4 Interactions with other parts of ISO/IEC9636 9 4.1 Interactions with ISO/IEC9636-2 (Control) 9 4.2 Interactions with ISO/IEC9636-3 (Output) 10 4.3 Interactions with ISO/IEC9636-4 (Segments) 10 4.4 Interactions with
13、 ISO/IEC9636-5 (Input) 10 5 Abstract specification of functions 10 5.1 Introduction 10 5.1.1 Data types employed 10 5.1.2 Validity of returned information 10 5.2 Raster control functions 10 5.2.1 GET NEW BITMAP IDENTIFIER 10 5.2.2 CREATE BITMAP 11 5.2.3 DELETE BITMAP 12 5.2.4 DRAWING BITMAP 12 5.2.5
14、 DISPLAY BITMAP 13 5.2.6 MAPPED BITMAP FOREGROUND COLOUR 13 5.2.7 MAPPED BITMAP BACKGROUND COLOUR 13 5.2.8 TRANSPARENT COLOUR 13 5.3 Raster attribute functions 14 5.3.1 DRAWING MODE 14 5.3.2 FILL BITMAP 15 5.4 Raster operation functions 16 5.4.1 PIXEL ARRAY 16 5.4.2 GET PIXEL ARRAY 17ISO/IEC9636-6:1
15、991(E) BSI 03-2000 iii Page 5.4.3 GET PIXEL ARRAY DIMENSIONS 18 5.4.4 SOURCE DESTINATION BITBLT 19 5.4.5 TILE THREE OPERAND BITBLT 20 6 Raster inquiry functions 23 6.1 Introduction 23 6.1.1 Data types employed 23 6.1.2 Validity of returned information 23 6.2 Raster description table 23 6.2.1 INQUIRE
16、 RASTER CAPABILITY 23 6.2.2 INQUIRE LIST OF SUPPORTED DRAWING-MODE/TRANSPARENCY PAIRS 23 6.2.3 INQUIRE LIST OF SUPPORTED DRAWING-MODE-3/TRANSPARENCY PAIRS 24 6.3 Raster state list 24 6.3.1 INQUIRE RASTER STATE 24 6.3.2 INQUIRE LIST OF NON-DISPLAYABLE BITMAP IDENTIFIERS 24 6.3.3 INQUIRE LIST OF DISPL
17、AYABLE BITMAP IDENTIFIERS 24 6.4 Bitmap state list 25 6.4.1 INQUIRE BITMAP STATE 25 7 Raster description tables and state lists 25 7.1 Raster description table 26 7.2 State lists 27 7.2.1 Raster state list 27 7.2.2 Bitmap state list 27 Annex A (normative) Formal grammar of the functional specificati
18、on 29 Annex B (normative) Raster errors 35 Annex C (informative) Guidelines for CGI implementors 36 Annex D (informative) List of BOOLEANOP class drawing-mode-3 values 37 Annex E (informative) Some raster operation examples 41 Annex F (informative) Algorithmic explanation of raster operations 43 Fig
19、ure 1 Types of bitmaps 3 Figure 2 Bitblt regions 4 Figure 3 Bitmap regions used as patterns 5 Figure 4 A comparison of CELL ARRAY, PIXEL ARRAY, and Bitblt 7 Figure 5 Creating bitmaps 8 Figure 6 An example PIXEL ARRAY 41 Figure 7 An example GET PIXEL ARRAY 42 Figure 8 An example TILE THREE OPERAND BI
20、TBLT 42 Table 1 Drawing modes 15 Table 2 Two-Operand Bitblt rules 19 Table 3 Three-Operand BITBLT rules 22 Table 4 Raster Description Table 26 Table 5 Raster State List 27 Table 6 Bitmap State List 27 Table 7 BOOLEANOP class Drawing Mode3 values for TILE THREE OPERAND BITBLT 38 Descriptors: Informat
21、ion processing, information interchange, graphic data processing, data handling, data transfer, interfaces, computer interfaces, specifications.ISO/IEC9636-6:1991(E) iv BSI 03-2000 Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commissio
22、n) form the specialized system for worldwide standardization. National bodies that are members of ISO 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. ISO and
23、 IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC
24、 JTC1. 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 least75% of the national bodies casting a vote. International Standard ISO/IEC9636-6 was prepared by Joint Tech
25、nical Committee ISO/IEC JTC1, Information technology. ISO/IEC9636 consists of the following parts, under the general title Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification: Part1: Overview, profiles, and conformance;
26、Part2: Control; Part3: Output; Part4: Segments; Part5: Input and echoing; Part6: Raster. Annex A and Annex B form an integral part of this part of ISO/IEC9636. Annex C, Annex D, Annex E, and Annex F are for information only.ISO/IEC9636-6:1991(E) BSI 03-2000 1 Introduction This part of ISO/IEC9636 de
27、scribes the functions of the Computer Graphics Interface concerned with raster graphic specific devices. The functional capability incorporated in this part of ISO/IEC9636 is concerned with creating, manipulating, displaying and retrieving information stored as pixel data below the CGI in a device i
28、ndependent, yet efficient manner. The functionality described in this part of ISO/IEC9636 pertains to Virtual Devices of class OUTPUT and OUTIN with display type RASTER. 1 Scope This part of ISO/IEC9636 describes those functions of the Computer Graphics Interface concerned with creating, modifying r
29、etrieving, and displaying portions of an image stored as pixel data. It includes functionality for combining such images. This part of ISO/IEC9636 is part6 of ISO/IEC9636 and should be read in conjunction with ISO/IEC9636-1, ISO/IEC9636-2, and ISO/IEC9636-3. The relationship of this part of ISO/IEC9
30、636 to the other parts of ISO/IEC9636 is described in ISO/IEC9636-1 (seeISO/IEC9636-1,5.2.1 and Figure 6 and Figure 7) and in clause4. The functionality described in this part of ISO/IEC9636 pertains to Virtual Devices of class OUTPUT and OUTIN with display type RASTER. 2 Normative references The fo
31、llowing standards contain provisions which, through reference in this text, constitute provisions of this part of ISO/IEC9636. 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/IEC9636 are encoura
32、ged to investigate the possibility of applying the most recent editions of the standards listed below. Members of IEC and ISO maintain registers of currently valid International Standards. ISO/IEC9636-1:1991, Information technology Computer graphics Interfacing techniques for dialogues with graphica
33、l devices (CGI) Functional specification Part1: Overview, profiles, and conformance. ISO/IEC9636-2:1991, Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification Part2: Control. ISO/IEC9636-3:1991, Information technology Comp
34、uter graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification Part3: Output. ISO/IEC9636-4:1991, Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification Part4: Segments. ISO/IEC9636
35、-5:1991, Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Functional specification Part5: Input and echoing. ISO/IEC9637-1:, Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Data strea
36、m binding Part1: Character encoding 1) . ISO/IEC9637-2:, Information technology Computer graphics Interfacing techniques for dialogues with graphical devices (CGI) Data stream binding Part2: Binary encoding 1) . ISO/IEC TR9973:1988, Information processing Procedures for registration of graphical ite
37、ms. 3 Raster concepts 3.1 Introduction This part of ISO/IEC9636 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 Raster control functions, including functions for the
38、creation and deletion of bitmaps, and the selection of drawing and display bitmaps, and the control of raster transparency and mapped bitmap expansion. 1) To be published.ISO/IEC9636-6:1991(E) 2 BSI 03-2000 Raster attribute functions, for setting particular attributes which have significance with ot
39、her graphical output, defined in ISO/IEC9636-3 and this part of ISO/IEC9636, 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, combinat
40、ion, and replication of bitmap regions. Raster inquiry functions, which provide access to the description tables and state lists defined in this part of ISO/IEC9636. 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
41、 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
42、 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. 3.2.2 Displayable bitmaps Displayable bitmaps are special bitmaps
43、 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 from1 to N predefined displayable bitmaps, where N is defined in the Raster
44、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 displaye
45、d 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/IEC9636-2. If such spontaneous c
46、hange 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 cli
47、ent 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
48、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
49、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.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