|
|
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.