.TH BITBLT 3 .CT 2 graphics .SH NAME Code, bitblt, point, rectf, screenswap, segment, texture \- graphics functions .SH SYNOPSIS .B #include <jerq.h> .PP .B typedef int Code; .br .B "Code F_STORE, F_XOR, F_OR, F_CLR; .PP .B void bitblt(sb, r, db, p, f) .B "Bitmap *sb, *db; Rectangle r; Point p; Code f; .PP .B void point(b, p, f) .B "Bitmap *b; Point p; Code f; .PP .B int getpoint(b, p) .B "Bitmap *b; Point p; .PP .B void rectf(b, r, f) .B "Bitmap *b; Rectangle r; Code f; .PP .B void screenswap(b, r, s) .B "Bitmap *b; Rectangle r, s; .PP .B void segment(b, p, q, f) .B "Bitmap *b; Point p, q; Code f; .PP .B void texture(b, r, t, f) .B "Bitmap *b; Rectangle r; Texture *t; Code f; .SH DESCRIPTION The type .B Code tells the graphics primitives what operation perform. The possible values are: .nf .IP .de fx \f5\&\\$1 \fI\\$2 \&\f5\\$3\fI \\$4 .. .ta \w'\f5F_STORE\ 'u +\w'\fItarget 'u +\w'\f5&=\fI 'u .fx F_STORE target = source .fx F_OR target |= source .fx F_XOR target ^= source .fx F_CLR target &= ~source .fi .DT .PP In other words, if a Rectangle is copied to another place with Code .BR F_OR , the result will be the bitwise OR of the contents of the source Rectangle and the target area. For operations with no explicit source, such as line drawing, the source is taken to be an infinite bitmap with zeroes everywhere except on the object (e.g. line) generated by the operator, with coordinates aligned with the destination bitmap. .B F_STORE is the same as .B F_OR for non-rectangular operations. .PP .I Bitblt (bit-block transfer) copies the data in Rectangle .I r in Bitmap .I sb to the congruent Rectangle with .I origin .I p in Bitmap .IR db . The nature of the copy is specified by the Code .IR f . .PP .I Point draws the pixel at location .I p in the Bitmap .I b according to .I Code .IR f . .PP .I Getpoint returns the value of the pixel at location .I p in the Bitmap .IR b . .PP .I Screenswap does an in-place exchange of the on-screen Rectangle .I s and the Rectangle .I r within the Bitmap .IR b . Its action is undefined if .I r and .I s are not congruent. The Rectangle .I s is not clipped to the Bitmap .IR b , only to the screen. .PP .I Segment draws a line segment in Bitmap .I b from Point .I p to .IR q , with Code .IR f . The segment is half-open: .I p is the first point of the segment and .I q is the first point beyond the segment, so adjacent segments sharing endpoints abut. Like all the other graphics operations, .I segment clips the line so that only the portion of the line intersecting the bitmap is displayed. .PP .I Texture draws, with function .I f in the Rectangle .IR r in Bitmap .IR b , the Texture specified by .IR t . The texture is replicated to cover .IR r . .I Rectf is equivalent to .I texture with .I *t set to all one's. .SH SEE ALSO .IR types (5)