Annotation of 43BSDTahoe/new/X/libapollo/param.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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