*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/logicop (3)              


logicop(3G)							   logicop(3G)

NAME    [Toc]    [Back]

     logicop - specifies a logical operation for pixel writes

C SPECIFICATION    [Toc]    [Back]

     void logicop(opcode)
     long opcode;

PARAMETERS    [Toc]    [Back]

     opcode   expects one of the 16 possible logical operations.

	      Symbol	  Operation

	      LO_ZERO	  0
	      LO_AND	  src AND dst
	      LO_ANDR	  src AND (NOT dst)
	      LO_SRC	  src
	      LO_ANDI	  (NOT src) AND	dst
	      LO_DST	  dst
	      LO_XOR	  src XOR dst
	      LO_OR	  src OR dst
	      LO_NOR	  NOT (src OR dst)
	      LO_XNOR	  NOT (src XOR dst)
	      LO_NDST	  NOT dst
	      LO_ORR	  src OR (NOT dst)
	      LO_NSRC	  NOT src
	      LO_ORI	  (NOT src) OR dst
	      LO_NAND	  NOT (src AND dst)
	      LO_ONE	  1

	      Only the lower 4 bits of opcode are used.

	      The values of LO_SRC and LO_DST have been	chosen so that
	      expressing an operation as the equivalent	combination of them
	      and the C	bitwise	operators generates an acceptable opcode
	      value; e.g., LO_NAND can be written as ~(LO_SRC &	LO_DST)	.

DESCRIPTION    [Toc]    [Back]

     logicop specifies the bit-wise logical operation for pixel	writes.	 The
     logical operation is applied between the source pixel value (incoming
     value) and	existing destination value (previous value) to generate	the
     final pixel value.	 In colorindex mode all	of the (up to 12) writemask
     enabled index bits	are changed.  In RGB mode all of the (up to 32)
     enabled component bits are	changed.

     logicop defaults to LO_SRC, meaning that the incoming source value	simply
     replaces the current (destination)	value.

     It	is not possible	to do logical operations and blend simultaneously.
     When opcode is set	to any value other than	LO_SRC,	the blendfunction
     sfactr and	dfactr values are forced to BF_ONE and BF_ZERO repectively
     (their default values). Likewise, calling blendfunction with arguments
     other than	BF_ONE and BF_ZERO forces the logical opcode to	LO_SRC,

									Page 1

logicop(3G)							   logicop(3G)

     Unlike blendfunction, logicop is valid in all drawing modes (NORMALDRAW,
     UNDERDRAW,	OVERDRAW, PUPDRAW, CURSORDRAW) and in both colorindex and RGB
     modes.  Like the blendfunction, it	affects	all drawing operations,
     including points, lines, polygons,	and pixel area transfers.

     When multiple destination buffers are specified (using frontbuffer,
     backbuffer, and zdraw ) only a single location is read and	used during
     the logical operation.  By	default, the destination value is read from
     the front buffer in single	buffer mode and	from the back buffer in	double
     buffer mode.  If the front	buffer is not enabled in single	buffer mode,
     the value is taken	from the z-buffer.  If the back	buffer is not enabled
     in	double buffer mode, the	value is taken from the	front buffer (if
     possible) or from the z-buffer.

SEE ALSO    [Toc]    [Back]

     blendfunction, gversion, getgdesc

NOTES    [Toc]    [Back]

     The numeric assignments of	the 16 operation names were chosen to be
     identical to those	defined	by the X Window	System.	 They will not be
     changed in	future software	releases.

     This routine does not function on IRIS-4D B and G models, nor does	it
     function on early serial numbers of the Personal Iris.  Use gversion to
     determine which type you have.

     Some IRIS-4D GT and GTX models do support this routine.  Use getgdesc to
     determine if logicop is supported.

BUGS    [Toc]    [Back]

     Personal Iris models do not support logical operations in combination
     with non-solid patterns nor with zoomed pixel writes or copies.  When
     either of these features is selected, the default logical operation,
     LO_SRC, will be used regardless of	the value passed to logicop.

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
rectzoom IRIX specifies the zoom for rectangular pixel copies and writes
gllogicop IRIX specify a logical pixel operation for color index rendering
glLogicOp Tru64 specify a logical pixel operation for color index rendering
convolve IRIX modify the operation of lrectwrite and rectcopy to convolve pixel data
minmax IRIX modifies pixel transfers to compute the minimum and maximum pixel values
lvsplit HP-UX split mirrored LVM logical volume into two logical volumes
lvmerge HP-UX merge two LVM logical volumes into one logical volume
puts Tru64 Writes a string to a stream
printf Tru64 Writes formatted output
singlebuffer IRIX writes and displays all bitplanes
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service