com.io7m.jcanephora.renderstate

## Class JCGLStencilState

- java.lang.Object
- - com.io7m.jcanephora.renderstate.JCGLStencilState

- All Implemented Interfaces:
    JCGLStencilStateType

      @Generated(value={"Immutables.generator","JCGLStencilStateType"})
      public final class JCGLStencilState
      extends Object
      implements JCGLStencilStateType

  Stencil testing/writing state.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `JCGLStencilState.Builder` Builds instances of type `JCGLStencilState`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JCGLStencilState.Builder` | `builder()` Creates a builder for `JCGLStencilState`.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `JCGLStencilState` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `stencilEnabled`, `stencilStrict`, `testFunctionFront`, `testFunctionBack`, `testMaskBack`, `testMaskFront`, `testReferenceBack`, `testReferenceFront`, `operationStencilFailBack`, `operationDepthFailBack`, `operationPassBack`, `operationStencilFailFront`, `operationDepthFailFront`, `operationPassFront`, `writeMaskFrontFaces`, `writeMaskBackFaces`.
    `static JCGLStencilState` | `of(boolean stencilEnabled, boolean stencilStrict, JCGLStencilFunction testFunctionFront, JCGLStencilFunction testFunctionBack, int testMaskBack, int testMaskFront, int testReferenceBack, int testReferenceFront, JCGLStencilOperation operationStencilFailBack, JCGLStencilOperation operationDepthFailBack, JCGLStencilOperation operationPassBack, JCGLStencilOperation operationStencilFailFront, JCGLStencilOperation operationDepthFailFront, JCGLStencilOperation operationPassFront, int writeMaskFrontFaces, int writeMaskBackFaces)` Construct a new immutable `JCGLStencilState` instance.
    `JCGLStencilOperation` | `operationDepthFailBack()`
    `JCGLStencilOperation` | `operationDepthFailFront()`
    `JCGLStencilOperation` | `operationPassBack()`
    `JCGLStencilOperation` | `operationPassFront()`
    `JCGLStencilOperation` | `operationStencilFailBack()`
    `JCGLStencilOperation` | `operationStencilFailFront()`
    `boolean` | `stencilEnabled()`
    `boolean` | `stencilStrict()` Enable or disable strict mode.
    `JCGLStencilFunction` | `testFunctionBack()`
    `JCGLStencilFunction` | `testFunctionFront()`
    `int` | `testMaskBack()`
    `int` | `testMaskFront()`
    `int` | `testReferenceBack()`
    `int` | `testReferenceFront()`
    `String` | `toString()` Prints the immutable value `JCGLStencilState` with attribute values.
    `int` | `writeMaskBackFaces()`
    `int` | `writeMaskFrontFaces()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### stencilEnabled

          public boolean stencilEnabled()

      Specified by:
        `stencilEnabled` in interface `JCGLStencilStateType`
      Returns:
        `true` if stencilling is enabled

    - #### stencilStrict

          public boolean stencilStrict()

      Enable or disable strict mode. If strict mode is enabled, then attempting to enable stencil writing/testing will fail with an exception if the currently bound framebuffer does not have a stencil buffer.
      Specified by:
        `stencilStrict` in interface `JCGLStencilStateType`
      Returns:
        `true` iff strict mode is enabled

    - #### testFunctionFront

          public JCGLStencilFunction testFunctionFront()

      Specified by:
        `testFunctionFront` in interface `JCGLStencilStateType`
      Returns:
        The stencil function for front faces

    - #### testFunctionBack

          public JCGLStencilFunction testFunctionBack()

      Specified by:
        `testFunctionBack` in interface `JCGLStencilStateType`
      Returns:
        The stencil function for back faces

    - #### testMaskBack

          public int testMaskBack()

      Specified by:
        `testMaskBack` in interface `JCGLStencilStateType`
      Returns:
        The stencil function mask value for back faces

    - #### testMaskFront

          public int testMaskFront()

      Specified by:
        `testMaskFront` in interface `JCGLStencilStateType`
      Returns:
        The stencil function mask value for front faces

    - #### testReferenceBack

          public int testReferenceBack()

      Specified by:
        `testReferenceBack` in interface `JCGLStencilStateType`
      Returns:
        The stencil function reference value for back faces

    - #### testReferenceFront

          public int testReferenceFront()

      Specified by:
        `testReferenceFront` in interface `JCGLStencilStateType`
      Returns:
        The stencil function reference value for front faces

    - #### operationStencilFailBack

          public JCGLStencilOperation operationStencilFailBack()

      Specified by:
        `operationStencilFailBack` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for back faces that fail the stencil test

    - #### operationDepthFailBack

          public JCGLStencilOperation operationDepthFailBack()

      Specified by:
        `operationDepthFailBack` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for back faces that fail the depth test

    - #### operationPassBack

          public JCGLStencilOperation operationPassBack()

      Specified by:
        `operationPassBack` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for back faces that pass all tests

    - #### operationStencilFailFront

          public JCGLStencilOperation operationStencilFailFront()

      Specified by:
        `operationStencilFailFront` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for front faces that fail the stencil test

    - #### operationDepthFailFront

          public JCGLStencilOperation operationDepthFailFront()

      Specified by:
        `operationDepthFailFront` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for front faces that fail the depth test

    - #### operationPassFront

          public JCGLStencilOperation operationPassFront()

      Specified by:
        `operationPassFront` in interface `JCGLStencilStateType`
      Returns:
        The operation specified for front faces that pass all tests

    - #### writeMaskFrontFaces

          public int writeMaskFrontFaces()

      Specified by:
        `writeMaskFrontFaces` in interface `JCGLStencilStateType`
      Returns:
        The write mask value specified for front faces

    - #### writeMaskBackFaces

          public int writeMaskBackFaces()

      Specified by:
        `writeMaskBackFaces` in interface `JCGLStencilStateType`
      Returns:
        The write mask value specified for back faces

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `JCGLStencilState` that have equal attribute values.
      Overrides:
        `equals` in class `Object`
      Returns:
        `true` if `this` is equal to `another` instance

    - #### hashCode

          public int hashCode()

      Computes a hash code from attributes: `stencilEnabled`, `stencilStrict`, `testFunctionFront`, `testFunctionBack`, `testMaskBack`, `testMaskFront`, `testReferenceBack`, `testReferenceFront`, `operationStencilFailBack`, `operationDepthFailBack`, `operationPassBack`, `operationStencilFailFront`, `operationDepthFailFront`, `operationPassFront`, `writeMaskFrontFaces`, `writeMaskBackFaces`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

      Prints the immutable value `JCGLStencilState` with attribute values.
      Overrides:
        `toString` in class `Object`
      Returns:
        A string representation of the value

    - #### of

          public static JCGLStencilState of(boolean stencilEnabled,
                                            boolean stencilStrict,
                                            JCGLStencilFunction testFunctionFront,
                                            JCGLStencilFunction testFunctionBack,
                                            int testMaskBack,
                                            int testMaskFront,
                                            int testReferenceBack,
                                            int testReferenceFront,
                                            JCGLStencilOperation operationStencilFailBack,
                                            JCGLStencilOperation operationDepthFailBack,
                                            JCGLStencilOperation operationPassBack,
                                            JCGLStencilOperation operationStencilFailFront,
                                            JCGLStencilOperation operationDepthFailFront,
                                            JCGLStencilOperation operationPassFront,
                                            int writeMaskFrontFaces,
                                            int writeMaskBackFaces)

      Construct a new immutable `JCGLStencilState` instance.
      Parameters:
        `stencilEnabled` - The value for the `stencilEnabled` attribute
        `stencilStrict` - The value for the `stencilStrict` attribute
        `testFunctionFront` - The value for the `testFunctionFront` attribute
        `testFunctionBack` - The value for the `testFunctionBack` attribute
        `testMaskBack` - The value for the `testMaskBack` attribute
        `testMaskFront` - The value for the `testMaskFront` attribute
        `testReferenceBack` - The value for the `testReferenceBack` attribute
        `testReferenceFront` - The value for the `testReferenceFront` attribute
        `operationStencilFailBack` - The value for the `operationStencilFailBack` attribute
        `operationDepthFailBack` - The value for the `operationDepthFailBack` attribute
        `operationPassBack` - The value for the `operationPassBack` attribute
        `operationStencilFailFront` - The value for the `operationStencilFailFront` attribute
        `operationDepthFailFront` - The value for the `operationDepthFailFront` attribute
        `operationPassFront` - The value for the `operationPassFront` attribute
        `writeMaskFrontFaces` - The value for the `writeMaskFrontFaces` attribute
        `writeMaskBackFaces` - The value for the `writeMaskBackFaces` attribute
      Returns:
        An immutable JCGLStencilState instance

    - #### builder

          public static JCGLStencilState.Builder builder()

      Creates a builder for `JCGLStencilState`.
      Returns:
        A new JCGLStencilState builder

Copyright © 2017 <code@io7m.com> http://io7m.com