|
|
1.1 root 1: .NH
2: Graphic Output to a Window
3: .XS
4: Graphic Operations
5: .XE
6: .NH 2
7: Display Functions
8: .PP
9: .IN "Definitions" "Display Functions"
10: .IN "Definitions" "Source"
11: .IN "Definitions" "Destination"
12: You use display functions when you update a section of the screen (the
13: `destination') with bits from somewhere else (the
14: `source').
15: Many procedures below take one of these display functions as an argument.
16: The function defines how the new destination bits are to be
17: computed from the source bits and the old destination bits.
18: \fIGXcopy\fP is typically the most useful as it will work on a color display,
19: but special applications may use other functions,
20: particularly in concert with particular planes of a color display.
21: There are
22: .IN "File" "<X/X.h>
23: 16 such functions, defined in \fI<X/X.h>\fP:
24: .KS
25: .L
26: .TS
27: center;
28: l c c
29: l c l.
30: Function Name Hex Code Operation
31: _
32: GXclear 0x0 0
33: GXand 0x1 src AND dst
34: GXandReverse 0x2 src AND NOT dst
35: GXcopy 0x3 src
36: GXandInverted 0x4 (NOT src) AND dst
37: GXnoop 0x5 dst
38: GXxor 0x6 src XOR dst
39: GXor 0x7 src OR dst
40: GXnor 0x8 (NOT src) AND NOT dst
41: GXequiv 0x9 (NOT src) XOR dst
42: GXinvert 0xa NOT dst
43: GXorReverse 0xb src OR NOT dst
44: GXcopyInverted 0xc NOT src
45: GXorInverted 0xd (NOT src) OR dst
46: GXnand 0xe (NOT src) OR NOT dst
47: GXset 0xf 1
48: .TE
49: .PP
50: .KE
51: .IN "Pixel Values"
52: Many of the color functions below take either pixel values or
53: \fIplanes\fP as an argument.
54: The \fIplanes\fP is an integer which specifies which planes of the
55: display are to be modified, one bit per plane.
56: .IN "Definitions" "Plane Masks"
57: A monochrome display has only one plane and
58: will be the least significant bit of the word.
59: As planes are added to the display hardware, they will occupy more
60: significant bits in the plane mask.
61: .PP
62: .IN "Macro" "AllPlanes"
63: A macro constant \fIAllPlanes\fP can be used to refer to all planes of a display
64: simultaneously (``~0'').
65: .PP
66: .IN "Definitions" "Brush"
67: A `brush' is a rectangular area of certain allowable sizes
68: which will be painted in the line drawing subroutines at each point
69: of the line or curve.
70: The upper left corner of the brush follows
71: the line or curve.
72: The brush is defined by \fIheight\fP and \fIwidth\fP parameters
73: to many of the line- and curve-drawing routines.
74: .PP
75: If the width or height of the brush is greater than one pixel,
76: the display hardware
77: may paint some pixels more than once.
78: It is therefore inadvisable to use
79: such brushes with display functions such as \fIGXxor\fP and \fIGXinvert\fP,
80: which do
81: not have the same effect if applied more than once.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.