summaryrefslogtreecommitdiff
path: root/static/v10/man9/bitblt.9
diff options
context:
space:
mode:
Diffstat (limited to 'static/v10/man9/bitblt.9')
-rw-r--r--static/v10/man9/bitblt.9161
1 files changed, 161 insertions, 0 deletions
diff --git a/static/v10/man9/bitblt.9 b/static/v10/man9/bitblt.9
new file mode 100644
index 00000000..28b4156c
--- /dev/null
+++ b/static/v10/man9/bitblt.9
@@ -0,0 +1,161 @@
+.TH BITBLT 9.3
+.CT 2 graphics
+.SH NAME
+Code, addr, 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 Word *addr(b, p)
+.B "Bitmap *b; Point p;
+.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 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 zeros 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 Addr
+returns the address of the Word containing the bit
+at Point
+.I p
+in the Bitmap
+.IR b .
+.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 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.
+.PP
+In the above definitions, the type Bitmap may
+be replaced with Layer anywhere; see
+.IR newlayer (9.2).
+.SH SEE ALSO
+.IR types (9.5)