GMF_$COPY_SUBPLANE Domain/OS GMF_$COPY_SUBPLANE
NAME
gmf_$copy_subplane - copy part of a bitmap plane to a GMF
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/gmf.h>
void gmf_$copy_subplane(
ios_$id_t &stream_id,
boolean &black_or_white,
short &bpi,
void *&plane_origin,
short &x_dimension,
short &y_dimension,
short &x_offset,
short &y_offset,
short &wpl,
status_$t *status)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/gmf.ins.pas';
procedure gmf_$copy_subplane(
in stream_id: ios_$id_t;
in black_or_white: boolean;
in bpi: integer;
in plane_origin: univ gmf_$memory_ptr_t;
in x_dimension: integer;
in y_dimension: integer;
in x_off: integer;
in y_off: integer;
in wpl: integer;
out status: status_$t);
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/gmf.ins.ftn'
integer*4 status
integer*2 stream_id, bpi, x_dimension, y_dimension, wpl
integer*2 x_offset, y_offset, bits(65535)
logical black_or_white
integer*4 plane_origin
pointer /plane_origin/ bits
call gmf_$copy_subplane(stream_id, black_or_white, bpi,
& plane_origin, x_dimension, y_dimension,
& x_offset, y_offset, wpl, status)
DESCRIPTION
Gmf_$copy_subplane copies a bitmap, defined by plane_origin, x_offset,
y_offset, x_dimension, and y_dimension, into the GMF open on stream_id.
The actual size of an image as it would appear on a display can be
preserved with the proper bpi setting.
stream_id
The stream ID of the GMF to store the image in.
black_or_white
A Boolean value indicating whether bits with the value 1 are black
or white. A value of true means "1" bits are black and "0" bits are
white. A value of false means "1" bits are white and "0" bits are
black. In the GMF, "1" bits are assumed to mean black. Conse-
quently, if black_or_white is false, the copied bit values are
inverted.
bpi The number of bits per inch in the saved image. Bpi is usually used
to specify the resolution of the display, and thus defines the size
the image would have if displayed so that a later reading of the GMF
can restore the image in its proper size. If bpi is nonzero, the
device reading the GMF contents can average or interpolate the data
to render an image that is as close as possible to the size defined
by bpi, x_dimension, and y_dimension. If bpi is 0, the size of the
saved image is undefined, and an output device will use one dot to
represent each bit from the saved image, regardless of the resulting
size of the image.
plane_origin
A pointer that, when offset by x_offset and y_offset, gives the
upper left corner of the bitmap to be stored. It is usually a
pointer to a bitmap plane obtained by calling
gpr_$inq_bitmap_pointer.
x_dimension
The width of the bitmap, or the number of bits in the x-dimension,
to be stored in the GMF.
y_dimension
The height of the bitmap, or the number of bits in the y-dimension,
to be stored in the GMF.
x_offset
An x-offset from plane_origin that defines the x-position of the
upper left corner of the bitmap to be stored in the GMF. It is usu-
ally a horizontal offset in bits from the bitmap plane origin.
y_offset
A y-offset from plane_origin that defines the y-position of the
upper left corner of the bitmap to be stored in the GMF. It is usu-
ally a vertical offset in bits from the bitmap plane origin.
wpl The number of 16-bit words in the bitmap per scan line of the
display hardware.
status
The completion status.
NOTES
Gmf_$copy_subplane is a more general case of gmf_$copy_plane in that it
defines the beginning of the display memory area with independent offsets
from a fixed origin.