ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/meta/imPfuncs.h
Revision: 1.2
Committed: Mon Jul 14 22:24:00 2003 UTC (20 years, 9 months ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 1.1: +13 -1 lines
Log Message:
Instrumented headers against multiple inclusion and for use from C++.
Moved includes in headers out of "C" scope.

File Contents

# Content
1 /* RCSid: $Id: imPfuncs.h,v 1.1 2003/02/22 02:07:26 greg Exp $ */
2 /*
3 * imPfuncs - imPress functions
4 *
5 * Written by William LeFebvre, LCSE, Rice University
6 *
7 * This program can be freely redistributed to anyone, with the following
8 * provisions: that this comment remain intact, and that no money is
9 * charged or collected for that redistribution.
10 */
11
12 /*
13 * These functions are part of the imPress functional interface routines.
14 */
15 #ifndef _RAD_IMPFUNCS_H_
16 #define _RAD_IMPFUNCS_H_
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 #define im_putbyte(c) putc((c) & 0377, imout)
23 #define im_putword(w) (im_putbyte((w) >> 8), im_putbyte(w))
24
25 #define im_b(code, b) (putc(code, imout), im_putbyte(b))
26
27 /* function definitions for imPress commands */
28
29 #define imBrule(wa, wb, wc) im_www(imP_BRULE, wa, wb, wc)
30 #define imCircArc(wa, wb, wc) im_www(imP_CIRC_ARC, wa, wb, wc)
31 #define imCircSegm(wa, wb, wc, wd, we) \
32 im_wwwww(imP_CIRC_SEGM, wa, wb, wc, wd, we)
33 #define imCrLf() putc(imP_CRLF, imout)
34 #define imDrawPath(b) im_b(imP_DRAW_PATH, b)
35 #define imEllipseArc(wa, wb, wc, wd, we) \
36 im_wwwww(imP_ELLIPSE_ARC, wa, wb, wc, wd, we)
37 #define imEndPage() putc(imP_ENDPAGE, imout)
38 #define imEof() putc(imP_EOF, imout)
39 #define imFillPath(b) im_b(imP_FILL_PATH, b)
40 #define imMminus() putc(imP_MMINUS, imout)
41 #define imMmove(w) im_w(imP_MMOVE, w)
42 #define imMplus() putc(imP_MPLUS, imout)
43 #define imMplus() putc(imP_MPLUS, imout)
44 #define imNoOp() putc(imP_NO_OP, imout)
45 #define imPage() putc(imP_PAGE, imout)
46 #define imPop() putc(imP_POP, imout)
47 #define imPush() putc(imP_PUSH, imout)
48 #define imSetAbsH(w) im_w(imP_SET_ABS_H, w)
49 #define imSetAbsV(w) im_w(imP_SET_ABS_V, w)
50 #define imSetAdvDirs(b2, b1) im_21(imP_SET_ADV_DIRS, b2, b1)
51 #define imSetBol(w) im_w(imP_SET_BOL, w)
52 #define imSetFamily(b) im_b(imP_SET_FAMILY, b)
53 #define imSetHVSystem(b2o, b2a, b3) im_223(imP_SET_HV_SYSTEM, b2o, b2a, b3)
54 #define imSetIl(w) im_w(imP_SET_IL, w)
55 #define imSetMagnification(b) im_b(imP_SET_MAGN, b)
56 #define imSetPen(b) im_b(imP_SET_PEN, b)
57 #define imSetPum(b1) im_b(imP_SET_PUM, b1)
58 #define imSetPushMask(w) im_w(imP_SET_PUSH_MASK, w)
59 #define imSetRelH(w) im_w(imP_SET_REL_H, w)
60 #define imSetRelV(w) im_w(imP_SET_REL_V, w)
61 #define imSetSp(w) im_w(imP_SET_SP, w)
62 #define imSetTexture(b7a, b7b) im_77(imP_SET_TEXTURE, b7a, b7b)
63 #define imSmove(w) im_w(imP_SMOVE, w)
64 #define imSp() putc(imP_SP, imout)
65 #define imSp1() putc(imP_SP1, imout)
66
67 /* Push mask defines: */
68
69 #define imPM_PEN_TEXTURE 0x100
70 #define imPM_SP 0x080
71 #define imPM_IL 0x040
72 #define imPM_BOL 0x020
73 #define imPM_FAMILY 0x010
74 #define imPM_HV_POS 0x008
75 #define imPM_ADV_DIRS 0x004
76 #define imPM_ORIGIN 0x002
77 #define imPM_ORIENTATION 0x001
78
79 extern FILE *imout;
80
81 #ifdef __cplusplus
82 }
83 #endif
84 #endif /* _RAD_IMPFUNCS_H_ */
85