Annotation of 43BSD/contrib/X/libvs100/param.h, revision 1.1.1.1

1.1       root        1: /* $Header: param.h,v 10.3 86/02/01 15:47:19 tony Rel $ */
                      2: /* param.h     Definitions for primitive objects in Workstation Graphics
                      3:  *             Architecture
                      4:  *
                      5:  *     Each object has two definitions.  The more human-readable one
                      6:  *     has "reasonable" definitions, the one beginning with a_ expresses
                      7:  *     the structure as an array of shorts so that the C compiler doesn't
                      8:  *     move it around for silly alignment reasons.
                      9:  *
                     10:  * Author:     Paul J. Asente
                     11:  *             Digital Equipment Corporation
                     12:  *             Western Reseach Lab
                     13:  * Date:       June 1983
                     14:  */
                     15: 
                     16: /****************************************************************************
                     17:  *                                                                         *
                     18:  *  Copyright (c) 1983, 1984 by                                                    *
                     19:  *  DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts.                 *
                     20:  *  All rights reserved.                                                   *
                     21:  *                                                                         *
                     22:  *  This software is furnished on an as-is basis and may be used and copied *
                     23:  *  only with inclusion of the above copyright notice. This software or any *
                     24:  *  other copies thereof may be provided or otherwise made available to     *
                     25:  *  others only for non-commercial purposes.  No title to or ownership of   *
                     26:  *  the software is hereby transferred.                                            *
                     27:  *                                                                         *
                     28:  *  The information in this software is  subject to change without notice   *
                     29:  *  and  should  not  be  construed as  a commitment by DIGITAL EQUIPMENT   *
                     30:  *  CORPORATION.                                                           *
                     31:  *                                                                         *
                     32:  *  DIGITAL assumes no responsibility for the use  or  reliability of its   *
                     33:  *  software on equipment which is not supplied by DIGITAL.                *
                     34:  *                                                                         *
                     35:  *                                                                         *
                     36:  ****************************************************************************/
                     37: 
                     38: #ifndef WGA_PARAMS
                     39: #define WGA_PARAMS
                     40: 
                     41: typedef short Constant;
                     42: 
                     43: typedef struct _Point {
                     44:        short p_x;
                     45:        short p_y;
                     46: } Point;
                     47: typedef Point *PointPtr;
                     48: 
                     49: typedef short a_Point[2];
                     50: typedef short a_PointPtr[2];
                     51: 
                     52: typedef struct _Extent {
                     53:        short e_width;
                     54:        short e_height;
                     55: } Extent;
                     56: 
                     57: typedef short a_Extent[2];
                     58: 
                     59: typedef struct _Rectangle {
                     60:        a_Point r_origin;
                     61:        a_Extent r_size;
                     62: } Rectangle;
                     63: typedef Rectangle *RectanglePtr;
                     64: 
                     65: typedef short a_Rectangle[4];
                     66: typedef short a_RectanglePtr[2];
                     67: 
                     68: #define r_x r_origin[0]
                     69: #define r_y r_origin[1]
                     70: #define r_width r_size[0]
                     71: #define r_height r_size[1]
                     72: 
                     73: typedef struct _RectangleList {
                     74:        a_RectanglePtr r_first;
                     75:        short r_count;
                     76: } RectangleList;
                     77: 
                     78: typedef short a_RectangleList[3];
                     79: 
                     80: typedef short BitmapEntry;
                     81: typedef BitmapEntry *BitmapEntryPtr;
                     82: 
                     83: typedef short a_BitmapEntryPtr[2];
                     84: 
                     85: typedef struct _Bitmap {
                     86:        a_BitmapEntryPtr bm_address;
                     87:        short bm_width;
                     88:        short bm_height;
                     89:        short bm_bitsPerPixel;
                     90: } BitMap;
                     91: 
                     92: typedef short a_Bitmap[5];
                     93: 
                     94: typedef struct _SubBitmap {
                     95:        a_Bitmap sb_base;
                     96:        a_Point sb_offset;
                     97: } SubBitmap;
                     98: 
                     99: typedef short a_SubBitmap[7];
                    100: 
                    101: #define sb_address sb_base
                    102: #define sb_width sb_base[2]
                    103: #define sb_height sb_base[3]
                    104: #define sb_bitsPerPixel sb_base[4]
                    105: #define sb_x sb_offset[0]
                    106: #define sb_y sb_offset[1]
                    107: 
                    108: typedef struct _Halftone {
                    109:        a_Bitmap ht_base;
                    110:        a_Point ht_offset;
                    111: } Halftone;
                    112: 
                    113: typedef short a_Halftone[7];
                    114: 
                    115: #define ht_address ht_base
                    116: #define ht_width ht_base[2]
                    117: #define ht_height ht_base[3]
                    118: #define ht_bitsPerPixel ht_base[4]
                    119: #define ht_x ht_offset[0]
                    120: #define ht_y ht_offset[1]
                    121: 
                    122: typedef long Map;
                    123: typedef Map *MapPtr;
                    124: typedef short a_Map[2];
                    125: typedef short a_MapPtr[2];
                    126: 
                    127: typedef struct _Segment {
                    128:        a_Point seg_p;
                    129:        short seg_flags;
                    130: } Segment;
                    131: typedef Segment *SegmentPtr;
                    132: 
                    133: typedef short a_Segment[3];
                    134: typedef short a_SegmentPtr[2];
                    135: 
                    136: #define seg_x seg_p[0]
                    137: #define seg_y seg_p[1]
                    138: 
                    139: /* Meanings of bits in seg_flags.  Bit on means the predicate is true */
                    140: 
                    141: #define seg_relative 0x0001
                    142: #define seg_dontDraw 0x0002
                    143: #define seg_curved 0x0004
                    144: #define seg_startClosed 0x0008
                    145: #define seg_endClosed 0x0010
                    146: #define seg_drawLastPoint 0x0020
                    147: 
                    148: typedef struct _SegmentList {
                    149:        a_SegmentPtr seg_first;
                    150:        short seg_count;
                    151: } SegmentList;
                    152: 
                    153: typedef short a_SegmentList[3];
                    154: 
                    155: typedef struct _PatternString {
                    156:        short p_length;
                    157:        unsigned short p_pattern;
                    158:        short p_multiplier;
                    159: } PatternString;
                    160: 
                    161: typedef short a_PatternString[3];
                    162: 
                    163: typedef struct _PatternState {
                    164:        short p_position;
                    165:        short p_count;
                    166: } PatternState;
                    167: typedef PatternState *PatternStatePtr;
                    168: 
                    169: typedef short a_PatternState[2];
                    170: typedef short a_PatternStatePtr[2];
                    171: 
                    172: typedef short FontWidthEntry;
                    173: typedef FontWidthEntry *FontWidthEntryPtr;
                    174: typedef short a_FontWidthEntryPtr[2];
                    175: 
                    176: typedef struct _FontData {
                    177:        a_Bitmap f_characters;
                    178:        short f_firstChar;
                    179:        short f_lastChar;
                    180:        a_FontWidthEntryPtr f_leftArray;
                    181:        short f_baseline;
                    182:        short f_spaceIndex;
                    183:        short f_fixedWidth;
                    184: } FontData;
                    185: typedef FontData *FontPtr;
                    186: 
                    187: typedef short a_FontData[12];
                    188: typedef short a_FontPtr[2];
                    189: 
                    190: typedef char *CharPtr;
                    191: typedef short a_CharPtr[2];
                    192: 
                    193: typedef struct _TextString {
                    194:        a_CharPtr t_first;
                    195:        short t_count;
                    196: } TextString;
                    197: 
                    198: typedef short a_TextString[3];
                    199: 
                    200: typedef short ControlElement;
                    201: typedef ControlElement *ControlElementPtr;
                    202: typedef short a_ControlElementPtr[2];
                    203: 
                    204: typedef struct _ControlString {
                    205:        a_ControlElementPtr c_first;
                    206:        short c_count;
                    207: } ControlString;
                    208: 
                    209: typedef short a_ControlString[3];
                    210: 
                    211: typedef long MemSize;
                    212: typedef short a_MemSize[2];
                    213: 
                    214: typedef struct _MemArea {
                    215:        a_CharPtr m_base;
                    216:        a_MemSize m_size;
                    217: } MemArea;
                    218: 
                    219: typedef short a_MemArea[4];
                    220: 
                    221: 
                    222: 
                    223: #endif

unix.superglobalmegacorp.com

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