|
|
1.1 root 1: /* Copyright (c) 1987 AT&T */
2: /* All Rights Reserved */
3:
4: /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
5: /* The copyright notice above does not evidence any */
6: /* actual or intended publication of such source code. */
7:
8: #include <sccsid.h>
9: HVERSION(dmd, @(#)dmd.h 1.1.1.3 (5/10/87));
10:
11:
12: /*
13: * Model 630 Dot Mapped Display
14: */
15:
16:
17: #define WORDSHIFT 4
18: #define WORDSIZE 16
19: #define WORDMASK (WORDSIZE-1)
20: #define ONES 0xFFFF
21: #define FIRSTBIT ((unsigned short)0x8000)
22: #define LASTBIT ((unsigned short)0x1)
23:
24: #define XMAX 1024
25: #define YMAX 1024
26:
27: /*
28: * Graphics definitions
29: */
30:
31: #define POLY_F -32768
32:
33: #define Pt(x, y) x, y
34: #define Rpt(x, y) x, y
35: #define Rect(a, b, c, d) a, b, c, d
36:
37: typedef short Word;
38: typedef unsigned short UWord;
39:
40: typedef struct Point {
41: short x;
42: short y;
43: } Point;
44:
45: typedef struct Rectangle {
46: Point origin;
47: Point corner;
48: } Rectangle;
49:
50: typedef struct Bitmap {
51: Word *base; /* pointer to start of data */
52: unsigned short width; /* width in Word's of total data area */
53: Rectangle rect; /* rectangle in data area, local coords */
54: char *_null; /* unused, always zero */
55: } Bitmap;
56:
57: typedef struct Menu{
58: char **item; /* string array, ending with 0 */
59: short prevhit; /* retained from previous call */
60: short prevtop; /* also retained from previous call */
61: char *(*generator)(); /* used if item == 0 */
62: } Menu;
63:
64: typedef struct Texture16 {
65: Word bits[16];
66: } Texture16;
67:
68: struct Mouse {
69: Point xy, jxy;
70: short buttons;
71: };
72:
73: extern Rectangle Jrect;
74:
75: #define bttn(i) (mouse.buttons & (8 >> i))
76: #define bttn1() (mouse.buttons&4)
77: #define bttn2() (mouse.buttons&2)
78: #define bttn3() (mouse.buttons&1)
79: #define bttn12() (mouse.buttons&6)
80: #define bttn13() (mouse.buttons&5)
81: #define bttn23() (mouse.buttons&3)
82: #define bttn123() (mouse.buttons&7)
83:
84: #define muldiv(a,b,c) ((short)((a)*((long)b)/(c)))
85:
86:
87: /*
88: * Function Codes
89: */
90: typedef int Code;
91: #define F_STORE ((Code) 0) /* target = source */
92: #define F_OR ((Code) 1) /* target |= source */
93: #define F_CLR ((Code) 2) /* target &= ~source */
94: #define F_XOR ((Code) 3) /* target ^= source */
95:
96: #define NULL ((char *)0)
97: #define KBD 1
98: #define SEND 2
99: #define MOUSE 4
100: #define RCV 8
101: #define CPU 16
102: #define ALARM 32
103: #define PSEND 64
104: #define DELETE 128
105: #define MSG 256
106: #define RESHAPED 0x800 /* this must be the same as in dmdproc.h */
107:
108: #include <mpx.h>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.