NAME
	  fglLogicOp - specify a logical pixel operation for color
	  index	rendering


     FORTRAN SPECIFICATION
	  SUBROUTINE fglLogicOp( INTEGER*4 opcode )


     PARAMETERS
	  opcode  Specifies a symbolic constant	that selects a logical
		  operation.  The following symbols are	accepted:
		  GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED,
		  GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR,
		  GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED,
		  GL_OR_REVERSE, and GL_OR_INVERTED. The initial value
		  is GL_COPY.

     DESCRIPTION
	  fglLogicOp specifies a logical operation that, when enabled,
	  is applied between the incoming color	index or RGBA color
	  and the color	index or RGBA color at the corresponding
	  location in the frame	buffer.	To enable or disable the
	  logical operation, call fglEnable and	fglDisable using the
	  symbolic constant GL_COLOR_LOGIC_OP for RGBA mode or
	  GL_INDEX_LOGIC_OP for	color index mode. The initial value is
	  disabled for both operations.

		      ____________________________________
		      |	    opcode	| resulting value |
		      |_________________|_________________|
		      |	   GL_CLEAR	|	 0	  |
		      |	    GL_SET	|	 1	  |
		      |	   GL_COPY	|	 s	  |
		      |GL_COPY_INVERTED	|	~s	  |
		      |	   GL_NOOP	|	 d	  |
		      |	  GL_INVERT	|	~d	  |
		      |	    GL_AND	|      s & d	  |
		      |	   GL_NAND	|    ~(s & d)	  |
		      |	    GL_OR	|      s | d	  |
		      |	    GL_NOR	|    ~(s | d)	  |
		      |	    GL_XOR	|      s ^ d	  |
		      |	   GL_EQUIV	|    ~(s ^ d)	  |
		      |	GL_AND_REVERSE	|     s	& ~d	  |
		      |GL_AND_INVERTED	|     ~s & d	  |
		      |	GL_OR_REVERSE	|     s	| ~d	  |
		      |	GL_OR_INVERTED	|     ~s | d	  |
		      |_________________|_________________|

	  opcode is a symbolic constant	chosen from the	list above.
	  In the explanation of	the logical operations,	s represents
	  the incoming color index and d represents the	index in the
	  frame	buffer.	 Standard C-language operators are used.  As
	  these	bitwise	operators suggest, the logical operation is
	  applied independently	to each	bit pair of the	source and
	  destination indices or colors.

     NOTES
	  Color	index logical operations are always supported. RGBA
	  logical operations are supported only	if the GL version is
	  1.1 or greater.

	  When more than one RGBA color	or index buffer	is enabled for
	  drawing, logical operations are performed separately for
	  each enabled buffer, using for the destination value the
	  contents of that buffer (see fglDrawBuffer).

     ERRORS
	  GL_INVALID_ENUM is generated if opcode is not	an accepted
	  value.

	  GL_INVALID_OPERATION is generated if fglLogicOp is executed
	  between the execution	of fglBegin and	the corresponding
	  execution of fglEnd.

     ASSOCIATED	GETS
	  fglGet with argument GL_LOGIC_OP_MODE.
	  fglIsEnabled with argument GL_COLOR_LOGIC_OP or
	  GL_INDEX_LOGIC_OP.

     SEE ALSO
	  fglAlphaFunc,	fglBlendFunc, fglDrawBuffer, fglEnable,
	  fglStencilOp