Annotation of researchv10no/cmd/postscript/posttek/posttek.h, revision 1.1

1.1     ! root        1: /*
        !             2:  *
        !             3:  * Tektronix 4014 control codes.
        !             4:  *
        !             5:  */
        !             6: 
        !             7: #define NUL '\000'
        !             8: #define SOH '\001'
        !             9: #define STX '\002'
        !            10: #define ETX '\003'
        !            11: #define EOT '\004'
        !            12: #define ENQ '\005'
        !            13: #define ACK '\006'
        !            14: #define BEL '\007'
        !            15: #define BS  '\010'
        !            16: #define HT  '\011'
        !            17: #define NL  '\012'
        !            18: #define VT  '\013'
        !            19: #define FF  '\014'
        !            20: #define CR  '\015'
        !            21: #define SO  '\016'
        !            22: #define SI  '\017'
        !            23: #define DLE '\020'
        !            24: #define DC1 '\021'
        !            25: #define DC2 '\022'
        !            26: #define DC3 '\023'
        !            27: #define DC4 '\024'
        !            28: #define NAK '\025'
        !            29: #define SYN '\026'
        !            30: #define ETB '\027'
        !            31: #define CAN '\030'
        !            32: #define EM  '\031'
        !            33: #define SUB '\032'
        !            34: #define ESC '\033'
        !            35: #define FS  '\034'
        !            36: #define GS  '\035'
        !            37: #define RS  '\036'
        !            38: #define US  '\037'
        !            39: #define DEL '\177'
        !            40: 
        !            41: /*
        !            42:  *
        !            43:  * A few definitions used to classify the different tektronix states. OUTMODED
        !            44:  * is returned by control() and esc(), and typically means the state has changed.
        !            45:  *
        !            46:  */
        !            47: 
        !            48: #define OUTMODED       -1
        !            49: #define ALPHA          0
        !            50: #define GIN            1
        !            51: #define GRAPH          2
        !            52: #define POINT          3
        !            53: #define SPECIALPOINT   4
        !            54: #define INCREMENTAL    5
        !            55: #define RESET          6
        !            56: #define EXIT           7
        !            57: 
        !            58: /*
        !            59:  *
        !            60:  * The pen state, either UP or DOWN, controls whether vectors are drawn.
        !            61:  *
        !            62:  */
        !            63: 
        !            64: #define UP             0
        !            65: #define DOWN           1
        !            66: 
        !            67: /*
        !            68:  *
        !            69:  * Coordinates of the upper right corner of the screen - almost the real screen
        !            70:  * dimensions.
        !            71:  *
        !            72:  */
        !            73: 
        !            74: #define TEKXMAX                4096
        !            75: #define TEKYMAX                3120
        !            76: 
        !            77: /*
        !            78:  *
        !            79:  * The size of the spot in SPECIALPOINT mode is controlled by a non-linear
        !            80:  * function that has a domain that consists of the integers from 040 to 0175.
        !            81:  * The next definition is used to initialize the special point mode intensity
        !            82:  * array that implements the function. Data came from table F-6 in the tektronix
        !            83:  * 4014 manual.
        !            84:  *
        !            85:  */
        !            86: 
        !            87: #define INTENSITY                                                      \
        !            88:                                                                        \
        !            89:        {                                                               \
        !            90:            14, 16, 17, 19, 20, 22, 23, 25,                             \
        !            91:            28, 31, 34, 38, 41, 44, 47, 50,                             \
        !            92:            56, 62, 69, 75, 81, 88, 94,100,                             \
        !            93:            56, 62, 69, 75, 81, 88, 94,100,                             \
        !            94:             0,  1,  1,  1,  1,  1,  1,  2,                             \
        !            95:             2,  2,  2,  2,  3,  3,  3,  3,                             \
        !            96:             4,  4,  4,  5,  5,  5,  6,  6,                             \
        !            97:             7,  8,  9, 10, 11, 12, 12, 13,                             \
        !            98:            14, 16, 17, 19, 20, 22, 23, 25,                             \
        !            99:            28, 31, 34, 38, 41, 44, 47, 50,                             \
        !           100:            56, 62, 69, 75, 81, 88, 94,100,                             \
        !           101:            56, 62, 69, 75, 81, 88, 94,100,                             \
        !           102:        }
        !           103: 
        !           104: /*
        !           105:  *
        !           106:  * The next two definitions give the height and width of characters in the four
        !           107:  * different sizes available on tektronix terminals. TEKFONT is the default index
        !           108:  * into CHARHEIGHT and CHARWIDTH.
        !           109:  *
        !           110:  */
        !           111: 
        !           112: #define CHARHEIGHT     {88, 82, 53, 48}
        !           113: #define CHARWIDTH      {56, 51, 34, 31}
        !           114: #define TEKFONT                2
        !           115: 
        !           116: /*
        !           117:  *
        !           118:  * The entries defined in STYLES are passed on to the PostScript operator setdash.
        !           119:  * They're used to implement the different tektronix line styles. Belongs in the
        !           120:  * prologue!
        !           121:  *
        !           122:  */
        !           123: 
        !           124: #define STYLES                                                         \
        !           125:                                                                        \
        !           126:        {                                                               \
        !           127:            "[]",                                                       \
        !           128:            "[.5 2]",                                                   \
        !           129:            "[.5 2 4 2]",                                               \
        !           130:            "[4 4]",                                                    \
        !           131:            "[8 4]",                                                    \
        !           132:            "[]"                                                        \
        !           133:        }
        !           134: 
        !           135: /*
        !           136:  *
        !           137:  * Variables of type Point are used to keep track of the cursor position.
        !           138:  *
        !           139:  */
        !           140: 
        !           141: typedef struct {
        !           142:        int     x;
        !           143:        int     y;
        !           144: } Point;
        !           145: 
        !           146: /*
        !           147:  *
        !           148:  * An array of type Fontmap helps convert font names requested by users into
        !           149:  * legitimate PostScript names. The array is initialized using FONTMAP, which must
        !           150:  * end with an entry that has NULL defined as its name field.
        !           151:  *
        !           152:  */
        !           153: 
        !           154: typedef struct {
        !           155:        char    *name;                  /* user's font name */
        !           156:        char    *val;                   /* corresponding PostScript name */
        !           157: } Fontmap;
        !           158: 
        !           159: #define FONTMAP                                                                \
        !           160:                                                                        \
        !           161:        {                                                               \
        !           162:            "R", "Courier",                                             \
        !           163:            "I", "Courier-Oblique",                                     \
        !           164:            "B", "Courier-Bold",                                        \
        !           165:            "CO", "Courier",                                            \
        !           166:            "CI", "Courier-Oblique",                                    \
        !           167:            "CB", "Courier-Bold",                                       \
        !           168:            "CW", "Courier",                                            \
        !           169:            "PO", "Courier",                                            \
        !           170:            "courier", "Courier",                                       \
        !           171:            "cour", "Courier",                                          \
        !           172:            "co", "Courier",                                            \
        !           173:            NULL, NULL                                                  \
        !           174:        }
        !           175: 
        !           176: /*
        !           177:  *
        !           178:  * Some of the non-integer valued functions in posttek.c.
        !           179:  *
        !           180:  */
        !           181: 
        !           182: char   *get_font();
        !           183: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.