CONTENTS Title Page Copyright Page Preface 1 Introduction to IDS 1.1 What Is IDS? 1.2 Hardware and Software Requirements 1.3 IDS Programming Environments 1.3.1 Programming with the DECwindows Toolkit 1.3.2 Programming Without the DECwindows Toolkit 1.4 Visual Classes 1.5 How IDS Works 1.5.1 X11 Architecture and Processing 1.5.2 X Image Extension 1.5.3 XIE's Relationship with IDS 1.5.4 IDS Widgets 1.5.5 Rendition Model 1.5.6 Rendering 1.5.7 Rendering Scheme Steps 1.5.7.1 Cropping 1.5.7.2 Scaling 1.5.7.3 Rotation 1.5.7.4 Flip 1.5.7.5 Spectral Class Conversion 1.5.7.6 Tone Scale Adjustment 1.5.7.7 Sharpening 1.5.7.8 Dithering (Lower Z resolution) 1.5.8 Sharing Colors 1.5.8.1 match_limit argument 1.5.8.2 gray_limit argument 1.5.9 Private Colormap 1.6 The IDS Process 2 Programming IDS With or Without the DECwindows Toolkit 2.1 Programming IDS with the DECwindowsToolkit 2.1.1 IDS High-Level Widget Creation Routines 2.1.2 IDS Low-Level Widget Creation Routines 2.2 Programming IDS Without the DECwindows Toolkit 2.3 Placement of an Image 2.3.1 Display Surface 2.3.2 Display Region 2.4 The Presentation Surface 2.5 Performing Rendition 3 IDS Attributes 3.1 Widget Class Hierarchy 3.2 Core and Common Widget Class Attributes 3.2.1 Core Class Attribute Descriptions 3.2.2 Common Widget Class Attribute Descriptions 3.3 IDS Rendition Attributes 3.3.1 Rendition Attribute Descriptions 3.3.2 Callback Structures 3.3.3 Callback Reasons 4 IDS Widget Creation Routines 4.1 IDS Widget Creation Routine Descriptions Static Image High-Level Widget Routine Low-Level Widget Routine Panned Image High-Level Widget Routine Low-Level Widget Routine 5 IDS Widget Functions Apply Gravity Get Coordinates Redisplay Image 6 Image Rendering Services Routines IDS$CREATE_PRESENT_SURFACE IDS$CREATE_RENDERING IDS$DELETE_PRESENT_SURFACE IDS$DELETE_RENDERING IDS$GET_SURFACE_ATTRIBUTES IDS$SET_SURFACE_ATTRIBUTES 7 Image Rendering Object Format 7.1 XImage and Pixmap Format 7.2 Sixel Format 7.3 PostScript Format 7.4 Frame ID Format A Condition Values and Error Messages B Image Display Services Example Programs B.1 Example Program Name Conventions B.2 IDS Example Programs B.2.1 Panned Image Widget Examples B.2.1.1 PL/I Examples B.2.2 Static Image Widget Examples B.2.3 Pascal Examples B.2.4 IDS Widget Demo Programs B.2.5 Pixmap Examples B.2.6 Image to Fid Examples B.2.7 Performance Programs B.2.8 Remapping Program B.2.9 XIE Programs Glossary FIGURES 1-1 IDS Relationship to DECimage Application Services for VMS 1-2 X11 Model 1-3 Motif Widget Hierarchy 1-4 Tone Scale Adjustment Graph 1-5 Overview of the IDS Process 2-1 IDS Relationship to DECwindows Toolkit 2-2 Display Surface Attributes 4-1 Static Image Widget Common Arguments 4-2 Gravity Relationship 4-3 Panned Image Widget Common Arguments TABLES 1 Example Table 1-1 Programming with the DECwindows Toolkit 1-2 Programming Without the DECwindows Toolkit 1-3 Scale Modes 1-4 Rotate Modes 1-5 Rendering Class Color Support 1-6 Color Spaces 1-7 IDS Symbols 2-1 Presentation Surface Attributes 3-1 Core and Common Widget Class Attributes 3-2 IDS Widget Routine Rendition Attributes 3-3 Rendering Modes 3-4 Computing Modes 3-5 Mode Information for renderScheme 3-6 Status Information for renderScheme 3-7 Protocol Type Values 3-8 Colormap Mode Values 3-9 Rotation Mode Values 3-10 Flip Options Values 3-11 Scale Mode Values 3-12 Scale Flags 3-13 Dither Algorithms 3-14 Color Spaces 3-15 Rendering Classes 3-16 Work Notify Functions 4-1 Headings in the Routine Template 4-2 IDS Widget Creation Routines 4-3 Gravity Values 5-1 Headings in the Function Template 5-2 Image Display Services Widget Functions 5-3 Translation Type Values 6-1 Headings in the Routine Template 6-2 Image Display Services Routines 6-3 Device Template Values 6-4 Unit Values 6-5 Protocol Type Values 6-6 Protocol Type Values 6-7 Rotation Mode Values 6-8 Scale Mode Values 7-1 Standard Rendering Fields 7-2 XImage and Pixmap-Specific Rendering Field 7-3 Sixel-Specific Rendering Fields 7-4 Specific PostScript Rendering Fields 7-5 Frame ID Specific Rendering Fields