Building a DEC GKS Workstation Handler System

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction

  1.1     Writing Handlers for Your Devices

  1.2     Workstation Handlers

  2      How GKS Works

  2.1     The GKS System
    2.1.1      Inquiries
    2.1.2      Transformations
    2.1.3      Input
    2.1.4      Output

  2.2     Communication Between the Kernel and Your Handler
    2.2.1      DEC GKS Data Types
    2.2.2      Parameter Passing

  3      Building a Workstation Handler System

  3.1     Required Capabilities

  3.2     Hardcopy Output Devices

  3.3     Workstation Handler Data Structures
    3.3.1      Building the Workstation Description Table

  3.4     Workstation State List

  3.5     Required Functions
    3.5.1      Segment Simulation
    3.5.2      Message and Constant Files

  3.6     Suggested Escape Function
    3.6.1      INQUIRE GDP EXTENT

  3.7     Developing Your Device Function Table

  3.8     Linking Your Handler to DEC GKS

  3.9     Defining Workstation Handler Logical Names
    3.9.1      Handler Logical Names
    3.9.2      Adding Logical Names to GKSTARTUP.COM
    3.9.3      Reentrance

  4      Workstation Handler Control and Transformation Functions

  4.1     Active Attribute Array

  4.2     Function Descriptions

  CLEAR WORKSTATION

  CLOSE WORKSTATION

  ESCAPE

  MESSAGE

  OPEN WORKSTATION

  PERFORM DEFERRED OUTPUT

  REDRAW ALL SEGMENTS ON WORKSTATION

  SET DEFERRAL MODE

  SET GLOBAL INTERACTIONS

  SET NDC TRANSFORMATION

  SET NORMALIZATION TRANSFORMATION

  SET WORKSTATION VIEWPORT

  SET WORKSTATION WINDOW

  UPDATE WORKSTATION

  5      Workstation Handler Input Functions

  5.1     Writing Input Functions
    5.1.1      INITIALIZE Functions
    5.1.2      SET Functions

  5.2     REQUEST, SAMPLE, and EVENT Input
    5.2.1      Managing SAMPLE and EVENT Input
    5.2.2      GKS$STORE_EVENTS

  5.3     Function Descriptions

  INITIALIZE CHOICE

  INITIALIZE LOCATOR

  INITIALIZE PICK

  INITIALIZE STRING

  INITIALIZE STROKE

  INITIALIZE VALUATOR

  REQUEST CHOICE

  REQUEST LOCATOR

  REQUEST PICK

  REQUEST STRING

  REQUEST STROKE

  REQUEST VALUATOR

  SAMPLE CHOICE

  SAMPLE LOCATOR

  SAMPLE PICK

  SAMPLE STRING

  SAMPLE STROKE

  SAMPLE VALUATOR

  SET CHOICE MODE

  SET LOCATOR MODE

  SET PICK MODE

  SET STRING MODE

  SET STROKE MODE

  SET VALUATOR MODE

  6      Workstation Handler Inquiry Functions

  INQUIRE CHOICE DEVICE STATE

  INQUIRE COLOR FACILITIES

  INQUIRE COLOR REPRESENTATION

  INQUIRE DEFAULT CHOICE DEVICE DATA

  INQUIRE DEFAULT DEFERRAL STATE VALUES

  INQUIRE DEFAULT LOCATOR DEVICE DATA

  INQUIRE DEFAULT PICK DEVICE DATA

  INQUIRE DEFAULT STRING DEVICE DATA

  INQUIRE DEFAULT STROKE DEVICE DATA

  INQUIRE DEFAULT VALUATOR DEVICE DATA

  INQUIRE DISPLAY SPACE SIZE

  INQUIRE DYNAMIC MODIFICATION OF SEGMENT ATTRIBUTES

  INQUIRE DYNAMIC MODIFICATION OF WORKSTATION ATTRIBUTES

  INQUIRE FILL AREA FACILITIES

  INQUIRE FILL AREA REPRESENTATION

  INQUIRE GDP PRIMITIVES

  INQUIRE GENERALIZED DRAWING PRIMITIVE

  INQUIRE LIST OF COLOR INDEXES

  INQUIRE LIST OF FILL AREA INDEXES

  INQUIRE LIST OF PATTERN INDEXES

  INQUIRE LIST OF POLYLINE INDEXES

  INQUIRE LIST OF POLYMARKER INDEXES

  INQUIRE LIST OF TEXT INDEXES

  INQUIRE LOCATOR DEVICE STATE

  INQUIRE MAXIMUM LENGTH OF WORKSTATION STATE TABLES

  INQUIRE NUMBER OF AVAILABLE LOGICAL INPUT DEVICES

  INQUIRE NUMBER OF SEGMENT PRIORITIES SUPPORTED

  INQUIRE PATTERN FACILITIES

  INQUIRE PATTERN REPRESENTATION

  INQUIRE PICK DEVICE STATE

  INQUIRE PIXEL

  INQUIRE PIXEL ARRAY

  INQUIRE PIXEL ARRAY DIMENSIONS

  INQUIRE POLYLINE FACILITIES

  INQUIRE POLYLINE REPRESENTATION

  INQUIRE POLYMARKER FACILITIES

  INQUIRE POLYMARKER REPRESENTATION

  INQUIRE PREDEFINED COLOR REPRESENTATION

  INQUIRE PREDEFINED FILL AREA REPRESENTATION

  INQUIRE PREDEFINED PATTERN REPRESENTATION

  INQUIRE PREDEFINED POLYLINE REPRESENTATION

  INQUIRE PREDEFINED POLYMARKER REPRESENTATION

  INQUIRE PREDEFINED TEXT REPRESENTATION

  INQUIRE SEGMENT NAMES ON WORKSTATION

  INQUIRE SIZE OF HANDLER STORAGE

  INQUIRE STRING DEVICE STATE

  INQUIRE STROKE DEVICE STATE

  INQUIRE TEXT EXTENT

  INQUIRE TEXT FACILITIES

  INQUIRE TEXT REPRESENTATION

  INQUIRE VALUATOR DEVICE STATE

  INQUIRE WORKSTATION CATEGORY

  INQUIRE WORKSTATION CLASSIFICATION

  INQUIRE WORKSTATION DEFERRAL AND UPDATE STATES

  INQUIRE WORKSTATION TRANSFORMATION

  7      Workstation Handler Metafile Functions

  GET ITEM FROM METAFILE

  READ ITEM FROM METAFILE

  WRITE ITEM TO METAFILE

  8      Workstation Handler Set Representation Functions

  8.1     Function Descriptions

  SET COLOR REPRESENTATION

  SET FILL AREA REPRESENTATION

  SET PATTERN REPRESENTATION

  SET POLYLINE REPRESENTATION

  SET POLYMARKER REPRESENTATION

  SET TEXT REPRESENTATION

  9      Workstation Handler Output Functions

  9.1     Coordinate Data

  9.2     Attributes

  9.3     Aspect Source Flags

  9.4     Segment Overlap

  9.5     Output Function Descriptions

  CELL ARRAY

  FILL AREA

  GDP

  HIGHLIGHT EXTENT

  POLYLINE

  POLYMARKER

  TEXT

  10     Workstation Handler Segment Functions

  CLOSE SEGMENT

  CREATE SEGMENT

  DELETE SEGMENT

  RENAME SEGMENT

  SET DETECTABILITY

  SET HIGHLIGHTING

  SET SEGMENT PRIORITY

  SET SEGMENT TRANSFORMATION

  SET VISIBILITY

  A   Transformations

  A.1     Concatenating Transformation Matrixes

  A.2     NDC Transformation and Segment Simulation

  A.3     NDC Transformation When Your Handler Supports Segments

  A.4     Algorithms for Transformations
    A.4.1      Transformations Assuming an Identity NDC Transformation
    A.4.2      Transformations Assuming the Nonidentity NDC Transformation
      A.4.2.1      Transforming from NDC to LDC
      A.4.2.2      Transforming from WC to LDC

  B   Stroke Text Simulation Routines

  SIMULATE STROKE TEXT

  SIMULATE STROKE TEXT EXTENT

  SIMULATE STROKE INQUIRE TEXT FACILITIES

  C   Pick Simulation Functions

  FIND SEGMENT

  FIND SEGMENT EXTENT

  D   Workstation Handler Function Examples

  D.1     Data Structures

  D.2     Control Functions

  D.3     Transformation Functions

  D.4     Output Functions

  D.5     Output Attribute Functions

  D.6     Inquiry Functions

  D.7     DFT Building Macro

  D.8     Linking Command Procedure

  EXAMPLES

  3-1        Sample DFT-Building Macro

  FIGURES

  1-1        The Application, GKS Kernel, and Handlers

  1-2        Workstation Handler Diagram

  6-1        Pixel Array Dimensions

  6-2        Text Extents 1

  6-3        Text Extents 2

  6-4        Text Extents 3

  6-5        Text Extents 4

  6-6        Text Extents 5

  A-1        Transformation Pipeline for Segment Simulation

  A-2        Transformation Pipeline for Handlers That Support Segments

  TABLES

  2-1        GKS State Lists and Description Tables

  2-2        GKS Coordinate Systems

  2-3        DEC GKS Data Types

  2-4        Passing Mechanisms for DEC GKS Data Types

  3-1        GKS Level 2c Required Capabilities

  3-2        Workstation Handler Workstation Description Table Structure

  3-3        WDT Items for All Workstation Types Except MI and MO

  3-4        WDT Items for OUTPUT and OUTIN Workstations

  3-5        WDT Items for LOCATOR Logical Input Devices

  3-6        WDT Items for STROKE Logical Input Devices

  3-7        WDT Items for VALUATOR Logical Input Devices

  3-8        WDT Items for CHOICE Logical Input Devices

  3-9        WDT Items for PICK Logical Input Devices

  3-10       WDT Items for STRING Logical Input Devices

  3-11       WSL Elements for All Workstation Types

  3-12       WSL Elements for OUTIN, OUTPUT, and MO Workstations

  3-13       WSL Items for LOCATOR Logical Input Devices

  3-14       WSL Items for STROKE Logical Input Devices

  3-15       WSL Items for VALUATOR Logical Input Devices

  3-16       WSL Items CHOICE Logical Input Devices

  3-17       WSL Items PICK Logical Input Devices

  3-18       WSL Items for STRING Logical Input Devices

  3-19       GKSMSGS and GKSDEFS File Extensions

  3-20       Keywords for DFT Macro

  3-21       Keywords for DFT_INPUT Macro

  3-22       Keywords for DFT_GKS_INQ Macro

  3-23       Keywords for DFT_WS_INQ Macro

  4-1        Active Attribute Array Structure

  4-2        Call Back Table Output Parameter

  7-1        Required Metafile Format

  7-2        Metafile Format Items Determined by Your Functions

  9-1        ASF Bits

  9-2        No Change Bits

  9-3        GKS Bitmask Constants