CONTENTS Title Page Copyright Page Preface 1 Introduction 1.1 Capabilities of Supported Devices 1.2 Using Workstation Type Modifiers 1.3 Using Constant Names for Workstation Types and Connection Identifiers 1.4 Supported Workstations 1.5 Supported Fonts 1.6 Predefined Bundle Table Indexes for DEC GKS 1.7 Predefined Bundle Table Indexes for DEC PHIGS 1.8 Color and Bundle Indexes 1.9 HLHSR Mechanisms Support 1.10 Lighting Support for DEC PHIGS 1.11 Depth Cueing Support for DEC PHIGS 1.12 Pattern Support 2 ReGIS ~ Graphics Protocol Workstation Specifics 2.1 Environment Options 2.2 Valid Bit Mask Values 2.2.1 Output-Only Bit Masks 2.2.2 Bit Masks for the VT330 and VT340 Used Without a Mouse 2.2.3 Bit Mask for the VT340 to Restore the Color Map 2.3 Mode Restrictions 2.4 Pattern and Hatch Values 2.4.1 Available Fill Area Hatch Values 2.4.2 Predefined Fill Area Pattern Values for DEC GKS 2.5 Input Information 2.5.1 Choice Input Class 2.5.2 Locator Input Class 2.5.3 Pick Input Class 2.5.4 String Input Class 2.5.5 Stroke Input Class 2.5.6 Valuator Input Class 2.6 Device-Specific Attributes 2.7 Generalized Drawing Primitives for DEC GKS 2.8 Escapes 2.9 Device Coordinate Information 2.10 Patterns for DEC GKS 2.11 Pixel Inquiries for DEC GKS 3 PostScript Workstation Specifics 3.1 Environment Options 3.2 Valid Bit Mask Values 3.3 Encapsulated PostScript 3.4 Device Considerations 3.4.1 Device Queues and Allocation 3.4.2 Printer Description Files 3.5 Pattern and Hatch Values 3.5.1 Available Fill Area Hatch Values 3.5.2 Predefined Fill Area Pattern Values for DEC GKS 3.6 Font Support 3.7 ISO-Latin1 Character Support 3.8 Device-Specific Attributes 3.9 Generalized Drawing Primitives for DEC GKS 3.10 Escapes 3.11 Device Coordinate Information 3.12 Pixel Inquiries for DEC GKS 4 LJ250 and LA324 Workstation Specifics 4.1 Environment Options 4.2 Valid Bit Mask Values 4.3 Device Considerations 4.4 Pattern and Hatch Values 4.4.1 Available Fill Area Hatch Values 4.4.2 Predefined Fill Area Pattern Values for DEC GKS 4.5 Device-Specific Attributes 4.6 Escapes 4.7 Device Coordinate Information 4.8 Patterns for DEC GKS 4.9 Pixel Inquiries for DEC GKS 5 LVP16 and HP-GL Graphics Protocol Workstation Specifics 5.1 Environment Options 5.2 Valid Bit Mask Values 5.3 Device Considerations 5.3.1 LVP16 Switch Settings 5.3.2 Device Queues and Allocation 5.4 Pattern and Hatch Values 5.4.1 Available Fill Area Hatch Values 5.4.2 Predefined Fill Area Pattern Values for DEC GKS 5.5 LVP16 Font Support and Font Samples 5.6 Device-Specific Attributes 5.7 Generalized Drawing Primitives for DEC GKS 5.8 Escapes 5.9 Device Coordinate Information 5.10 Patterns for DEC GKS 5.11 Pixel Inquiries for DEC GKS 6 Sixel Graphics Protocol Workstation Specifics 6.1 Environment Options 6.2 Valid Bit Mask Values 6.2.1 LA50, LA75, LA100, and LA210 Graphics Handlers 6.2.2 LN03 PLUS and DEClaser (LN06) Graphics Handlers 6.3 Device Considerations 6.3.1 LA50 Switch Settings 6.3.2 Device Queues and Allocation 6.4 Pattern and Hatch Values 6.4.1 Available Fill Area Hatch Values 6.4.2 Predefined Fill Area Pattern Values for DEC GKS 6.5 Device-Specific Attributes 6.6 Printer Resolutions 6.7 Escapes 6.8 Device Coordinate Information 6.9 Patterns for DEC GKS 6.10 Pixel Inquiries for DEC GKS 7 LCG01 Workstation Specifics 7.1 Environment Options 7.2 Valid Bit Mask Values 7.3 Device Queues and Allocation 7.4 Pattern and Hatch Values 7.4.1 Available Fill Area Hatch Values 7.4.2 Predefined Fill Area Pattern Values for DEC GKS 7.5 Device-Specific Attributes 7.6 Generalized Drawing Primitives (GDPs) for DEC GKS 7.7 Escapes 7.8 Device Coordinate Information 7.9 Patterns for DEC GKS 7.10 Pixel Inquiries for DEC GKS 8 Tektronix 4014 Workstation Specifics 8.1 Environment Options 8.2 Valid Bit Mask Values 8.3 Programming Considerations 8.3.1 Echo of Characters 8.3.2 GIN Mode Configuration 8.4 Pattern and Hatch Values 8.4.1 Available Fill Area Hatch Values 8.4.2 Predefined Fill Area Pattern Values for DEC GKS 8.5 Input Information 8.5.1 Choice Input Class 8.5.2 Locator Input Class 8.5.3 Pick Input Class 8.5.4 String Input Class 8.5.5 Stroke Input Class 8.5.6 Valuator Input Class 8.6 Device-Specific Attributes 8.7 Generalized Drawing Primitives (GDPs) for DEC GKS 8.8 Escapes 8.9 Device Coordinate Information 8.10 Patterns for DEC GKS 8.11 Pixel Inquiries for DEC GKS 9 Tektronix 4100, 4200, and VS500 Series Workstation Specifics 9.1 Environment Options 9.2 Valid Bit Mask Values 9.3 Programming Considerations 9.3.1 Setup Requirement 9.3.2 Resetting the Terminal After an Interrupt 9.4 Tektronix 4107 and 4207 Pattern and Hatch Values 9.4.1 Available Fill Area Hatch Values 9.4.2 Predefined Fill Area Pattern Values for DEC GKS 9.5 Input Information 9.5.1 How to Use Additional Physical Devices 9.5.2 Using Logical Device Mappings 9.5.3 Choice Input Class 9.5.4 Locator Input Class 9.5.5 Pick Input Class 9.5.6 String Input Class 9.5.7 Stroke Input Class 9.5.8 Valuator Input Class 9.6 Device-Specific Attributes 9.7 Generalized Drawing Primitives (GDPs) for DEC GKS 9.8 Escapes 9.9 Device Coordinate Information 9.10 Patterns for DEC GKS 9.11 Pixel Inquiries for DEC GKS 10 VWS Workstation Specifics 10.1 Environment Options 10.2 Valid Bit Mask Values 10.3 Device Considerations 10.3.1 Display Size, Windows, and Echo Areas 10.3.2 Additional Information 10.4 Cell Array Restriction for DEC GKS 10.5 Pattern and Hatch Values 10.5.1 Available Fill Area Hatch Values 10.5.2 Predefined Fill Area Pattern Values (Monochrome) for DEC GKS 10.5.3 Predefined Fill Area Pattern Values (Color) for DEC GKS 10.6 Input Information 10.6.1 Choice Input Class 10.6.2 Locator Input Class 10.6.3 Pick Input Class 10.6.4 String Input Class 10.6.5 Stroke Input Class 10.6.6 Valuator Input Class 10.7 Font Support 10.8 Device-Specific Attributes 10.9 Generalized Drawing Primitives for DEC GKS 10.10 Escapes 10.11 Device Coordinate Information 10.12 Patterns for DEC GKS 10.13 Pixel Inquiries for DEC GKS 11 DECwindows Workstation Specifics 11.1 Environment Options 11.2 Connection Identifier 11.3 Valid Bit Mask Values 11.4 Programming Considerations 11.4.1 Display Size, Windows, and Echo Areas 11.5 Cell Array Restriction for DEC GKS 11.6 General Information 11.7 Color Capabilities 11.7.1 Color Reservation 11.7.2 Minimizing Color Traversal for DEC PHIGS 11.7.3 Use of the Standard Color Map 11.8 Bundle Indexes 11.9 Pattern and Hatch Values 11.9.1 Available Fill Area Hatch Values 11.9.2 Predefined Fill Area Pattern Values (Monochrome) for DEC GKS 11.9.3 Predefined Fill Area Pattern Values (Color) for DEC GKS 11.10 Input Information 11.10.1 Choice Input Class 11.10.2 Locator Input Class 11.10.3 Pick Input Class 11.10.4 String Input Class 11.10.5 Stroke Input Class 11.10.6 Valuator Input Class 11.11 Display Information 11.11.1 Input Mode 11.11.2 Resize Mode 11.11.3 Border, Menu Bar, and Title Size 11.12 Font Support 11.12.1 Default Fonts 11.12.1.1 English and ISO-Latin-1 Fonts 11.12.1.2 Japanese Fonts 11.12.1.3 Hebrew and ISO-Latin-8 Fonts 11.12.2 Font Environment Options 11.12.3 Known Fonts 11.13 UIL Files 11.14 Customization 11.14.1 Use of Xdefaults Files 11.14.2 Widget Hierarchies 11.15 Internationalization 11.16 Device-Specific Attributes 11.17 Generalized Drawing Primitives for DEC GKS 11.18 Escapes 11.19 Device Coordinate Range 11.20 Pixel Inquiries for DEC GKS 11.21 Sample Application 12 OSF/Motif Workstation Specifics 12.1 Environment Options 12.2 Connection Identifier 12.3 Valid Bit Mask Values 12.4 Programming Considerations 12.4.1 Display Size, Windows, and Echo Areas 12.5 Cell Array Restriction for DEC GKS 12.6 General Information 12.7 Color Capabilities 12.7.1 Color Reservation 12.7.2 Minimizing Color Traversal for DEC PHIGS 12.7.3 Use of the Standard Color Map 12.8 Bundle Indexes 12.9 Pattern and Hatch Values 12.9.1 Available Fill Area Hatch Values 12.9.2 Predefined Fill Area Pattern Values (Monochrome) for DEC GKS 12.9.3 Predefined Fill Area Pattern Values (Color) for DEC GKS 12.10 Input Information 12.10.1 Choice Input Class 12.10.2 Locator Input Class 12.10.3 Pick Input Class 12.10.4 String Input Class 12.10.5 Stroke Input Class 12.10.6 Valuator Input Class 12.11 Display Information 12.11.1 Input Mode 12.11.2 Resize Mode 12.11.3 Border, Menu Bar, and Title Size 12.12 Font Support 12.12.1 Default Fonts 12.12.1.1 English and ISO-Latin-1 Fonts 12.12.1.2 Japanese Fonts 12.12.1.3 Hebrew and ISO-Latin-8 Fonts 12.12.2 Font Environment Options 12.12.3 Known Fonts 12.13 UIL Files 12.14 Customization 12.14.1 Use of Xdefaults Files 12.14.2 Widget Hierarchies 12.15 Internationalization 12.16 Device-Specific Attributes 12.17 Generalized Drawing Primitives for DEC GKS 12.18 Escapes 12.19 Device Coordinate Range 12.20 Pixel Inquiries for DEC GKS 12.21 Sample Application 13 PEX Workstation Specifics 13.1 Environment Options 13.1.1 PEX Stroke Font Index 13.1.2 PEX Stroke Font List 13.2 Connection Identifier 13.3 Valid Bit Mask Values 13.4 Programming Considerations 13.4.1 General Information 13.5 Input Information 13.6 Font Support 13.7 Device Coordinate Information 13.8 Escapes 14 DDIF Output Workstation Specifics 14.1 Copying DDIF Files from ULTRIX Systems to VMS Systems 14.2 DDIF Output 14.3 Environment Options 14.4 Valid Bit Mask Values 14.5 Differences Between DEC GKS and DEC PHIGS, and DDIF 14.6 Color Capabilities 14.6.1 Color Reservation 14.7 Pattern and Hatch Values 14.7.1 Available Fill Area Hatch Values 14.7.2 Predefined Fill Area Pattern Values for DEC GKS 14.8 Generalized Drawing Primitives for DEC GKS 14.9 Escapes 15 CGM Structures 15.1 Computer Graphics Metafiles 15.2 Environment Options 15.3 Valid Bit Mask Values 15.4 Differences Between DEC GKS and DEC PHIGS, and CGM 15.5 CGM Structure 15.6 Character Encoding 15.7 Clear Text Encoding 15.8 Element Descriptions 15.9 Physical File Organization 15.10 CALS and TOP Application Profiles 15.11 CALS and TOP Data Precision 15.12 Font Selection 15.13 Encoding Examples A GDPs for DEC GKS A.1 Data Record Format A.2 Generalized Drawing Primitives (GDPs) A.2.1 Unfilled GDPs A.2.2 Filled GDPs A.2.3 Cell Array GDPs B Escapes B.1 Escape Functions B.1.1 Control Escape Functions B.1.2 Output, Attribute, and Transformation Escape Functions B.1.3 DECwindows, PEX, and OSF/Motif Escape Functions B.1.4 State List Inquiry Escape Functions B.1.5 Workstation State List Inquiry Escape Functions B.1.6 Workstation Description Table Inquiry Escape Functions B.1.7 Utility Escape Functions C Hardware Dials and Buttons Support C.1 Starting the PCM Server C.1.1 PCM on VMS Systems C.1.2 PCM on ULTRIX Systems C.2 Dial Support C.3 Button Support C.4 Workstation Support C.5 Error Messages D Input Values D.1 Logical Input Device Numbers D.2 Logical Input Devices D.2.1 Choice Devices D.2.1.1 Choice 1, 6, 7, 8 D.2.1.2 Choice 2 D.2.1.3 Choice 3 D.2.1.4 Choice 4 D.2.1.5 Choice 5 D.2.2 Locator Devices D.2.2.1 Locator 1, 2, 3, and 4 D.2.3 Pick Devices D.2.3.1 Pick 1, 2, 3, and 4 D.2.4 String Devices D.2.4.1 String 1 and 4 D.2.4.2 String 2 D.2.4.3 String 3 D.2.5 Stroke Devices D.2.5.1 Stroke 1, 2, 3, and 4 D.2.6 Valuator Devices D.2.6.1 Valuator 1, 2, 3, and 4 D.2.7 Input Devices and Echo Area Titles D.3 Prompt and Echo Types, and Data Records D.3.1 Choice Input Class D.3.1.1 Choice Class: All Prompt and Echo Types D.3.2 Locator Input Class D.3.2.1 Locator Class: Prompt and Echo Type -1 D.3.2.2 Locator Class: Prompt and Echo Types 1, 2, 3, 6, and -11 D.3.2.3 Locator Class: Prompt and Echo Types 4, -12, -10, -9, -5, and -4 D.3.2.4 Locator Class: Prompt and Echo Types 5 and -2 D.3.2.5 Locator Class: Prompt and Echo Types -8, -7, -6, and -3 D.3.2.6 Locator Class: Prompt and Echo Type -13 D.3.3 Pick Input Class D.3.3.1 Pick Class: All Prompt and Echo Types D.3.4 String Input Class D.3.4.1 String Class: Prompt and Echo Type 1 D.3.5 Stroke Input Class D.3.5.1 Stroke Class: Prompt and Echo Type 1 D.3.5.2 Stroke Class: Prompt and Echo Type 3 D.3.5.3 Stroke Class: Prompt and Echo Type 4 D.3.6 Valuator Input Class D.3.6.1 Valuator Class: Prompt and Echo Types -1, -2, and -3 D.3.6.2 Valuator Class: Prompt and Echo Types 1, 2, and 3 D.4 Keypad Functionality D.4.1 Cycling Logical Input Devices D.4.2 Numeric Keypad (Zoning Mechanism) D.4.3 Numeric Keypad (Choice) D.4.4 Auxiliary Keypad (Choice) D.4.5 The Lock Key E Device-Independent Fonts E.1 Font File Formats E.2 Font Design E.3 Stroke Font File E.3.1 Stroke Font File Header E.3.2 Character Descriptor E.4 Stroke Font Environment Support E.4.1 Stroke Font Path E.4.2 Stroke Font List and Stroke Font E.5 Device-Independent Fonts F Performance Tuning for DEC PHIGS F.1 Device Independent Tuning Techniques F.1.1 Language Bindings F.1.2 Primitive Aggregation F.1.3 Structure and Immediate Modes F.1.4 Structure Granularity F.1.5 Avoiding Regenerations when Posting to Views F.1.6 Double Buffer Mode F.1.7 Using Quick Updates F.1.8 Providing Optional Primitive Information F.1.9 X Transport Mechanisms F.2 Tuning the DECwindows Workstations F.2.1 Improving Pick Performance F.2.2 Limiting Primitive Size F.2.3 Structure Mode Support F.2.4 Attribute Changes G Mathematical Concepts for DEC PHIGS G.1 Lighting Equations G.2 Depth Cueing Equations EXAMPLES 1-1 GKS_PREDEF Program Example 1-2 PHIGS_PREDEF Program Example 15-1 Metafile Creation 15-2 Clear Text Encoded Metafile B-1 C Data Structure for Escape Input Data Record B-2 Using the FORTRAN Escape Function -440 FIGURES 5-1 LVP16 Font Number -5000 5-2 LVP16 Font Number -5001 5-3 LVP16 Font Number -5002 5-4 LVP16 Font Number -5003 5-5 LVP16 Font Number -5004 5-6 LVP16 Font Number -5006 5-7 LVP16 Font Number -5007 5-8 LVP16 Font Number -5008 5-9 LVP16 Font Number -5009 5-10 LVP16 Font Number -5030 5-11 LVP16 Font Number -5031 5-12 LVP16 Font Number -5032 5-13 LVP16 Font Number -5033 5-14 LVP16 Font Number -5034 5-15 LVP16 Font Number -5035 5-16 LVP16 Font Number -5036 5-17 LVP16 Font Number -5037 5-18 LVP16 Font Number -5038 5-19 LVP16 Font Number -5039 10-1 VWS Maximum Display Size 10-2 Adjusting VWS Echo Area Windows 10-3 VWS Font -200: Taber 10-4 VWS Font -201: Bold Taber 10-5 VWS Font -203: Bold Wide Taber 10-6 VWS Font -202: Wide Taber 11-1 Menu Bar 11-2 Choice Menu 11-3 Choice Button Box (Software) 11-4 Valuator 11-5 String 11-6 Message Box 12-1 Menu Bar 12-2 Choice Menu 12-3 Choice Button Box (Software) 12-4 Valuator 12-5 String 12-6 Message Box 15-1 CGM Components 15-2 CGM Basic Data Encoding Format 15-3 CGM Basic Encoding Format for Real Numbers A-1 Using Vector Origin Points A-2 Forming an Ellipse A-3 GDP_IMAGE_ARRAY Order of Points B-1 Integer Data Vector Format C-1 Hardware Dial Box C-2 Hardware Choice Box Buttons E-1 DEC GKS and DEC PHIGS Font Lines E-2 Stroke Font Design E-3 Stroke Font File Structure E-4 Stroke Font File Header Structure E-5 Character Descriptor Structure E-6 ISO Standard Character Set E-7 ISO Standard Character Set E-8 Small Simplex Roman and Greek E-9 Large Simplex Roman E-10 Large Simplex Greek E-11 Large Simplex Script E-12 Medium Duplex Roman E-13 Medium Duplex Greek E-14 Medium Duplex Italic E-15 Large Complex Roman E-16 Large Complex Greek E-17 Large Complex Italic E-18 Large Simplex Roman E-19 Large Complex Script E-20 Large Complex Cyrillic E-21 Large Complex Roman E-22 Large Complex Italic E-23 Large Gothic German E-24 Large Gothic English E-25 Large Gothic Italian E-26 Medium Complex Special Characters E-27 Music, Astronomy, and Business E-28 Large Special Characters E-29 Large Special Characters E-30 Small Simple Roman TABLES 1-1 Supported Devices 1-2 Device-independent Fonts 1-3 HLHSR Mechanisms for DEC GKS 1-4 HLHSR Mechanisms for DEC PHIGS 2-1 ReGIS Environment Options for VMS Systems 2-2 ReGIS Environment Options for ULTRIX Systems 3-1 PostScript Environment Options for VMS Systems 3-2 PostScript Environment Options for ULTRIX Systems 4-1 LJ250 and LA324 Environment Options for VMS Systems 4-2 LJ250 and LA324 Environment Options for ULTRIX Systems 5-1 Plotter and Recorder Environment Options for VMS Systems 5-2 Plotter and Recorder Environment Options for ULTRIX Systems 5-3 LVP16 Switch Settings 5-4 LVP16 Hardware Fonts 6-1 Sixel Printer Environment Options for VMS Systems 6-2 Sixel Printer Environment Options for ULTRIX Systems 7-1 LCG01 Environment Options for VMS Systems 7-2 LCG01 Environment Options for ULTRIX Systems 8-1 Tektronix 4014 Environment Options for VMS Systems 8-2 Tektronix 4014 Environment Options for ULTRIX Systems 9-1 Tektronix Environment Options for VMS Systems 9-2 Tektronix Environment Options for ULTRIX Systems 10-1 VWS Environment Options for VMS Systems 10-2 VWS Hardware Fonts 11-1 DECwindows Environment Options for VMS Systems 11-2 DECwindows Environment Options for ULTRIX Systems 11-3 DECwindows Predefined Bundle Indexes 11-4 Input Mode Environment Option 11-5 Resize Mode Environment Option 11-6 DECwindows Font Modes 11-7 Widget Hierarchy 12-1 OSF/Motif Environment Options for VMS Systems 12-2 OSF/Motif Environment Options for ULTRIX Systems 12-3 OSF/Motif Predefined Bundle Indexes 12-4 Input Mode Environment Option 12-5 Resize Mode Environment Option 12-6 OSF/Motif Font Modes 12-7 Widget Hierarchy 13-1 PEX Environment Options for VMS Systems 13-2 PEX Environment Options for ULTRIX Systems 14-1 DDIF Environment Options for VMS Systems 14-2 DDIF Environment Options for ULTRIX Systems 14-3 Color Table Files 15-1 CGM Environment Options for VMS Systems 15-2 CGM Environment Options for ULTRIX Systems 15-3 CGM Element Descriptions E-1 DEC GKS and DEC PHIGS Fonts