# Enum Class VulkanStencilOp

java.lang.Object
java.lang.Enum<VulkanStencilOp>
com.io7m.jcoronado.api.VulkanStencilOp

All Implemented Interfaces:
  `VulkanEnumIntegerType`, `Serializable`, `Comparable<VulkanStencilOp>`, `Constable`

public enum VulkanStencilOp extends Enum<VulkanStencilOp> implements VulkanEnumIntegerType

See Also:
  - "VkStencilOp"

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `VK_STENCIL_OP_DECREMENT_AND_CLAMP`
  VK_STENCIL_OP_DECREMENT_AND_CLAMP decrements the current value and clamps to 0.
  `VK_STENCIL_OP_DECREMENT_AND_WRAP`
  VK_STENCIL_OP_DECREMENT_AND_WRAP decrements the current value and wraps to the maximum possible value when the value would go below 0.
  `VK_STENCIL_OP_INCREMENT_AND_CLAMP`
  VK_STENCIL_OP_INCREMENT_AND_CLAMP increments the current value and clamps to the maximum representable unsigned value.
  `VK_STENCIL_OP_INCREMENT_AND_WRAP`
  VK_STENCIL_OP_INCREMENT_AND_WRAP increments the current value and wraps to 0 when the maximum value would have been exceeded.
  `VK_STENCIL_OP_INVERT`
  VK_STENCIL_OP_INVERT bitwise-inverts the current value.
  `VK_STENCIL_OP_KEEP`
  VK_STENCIL_OP_KEEP keeps the current value.
  `VK_STENCIL_OP_REPLACE`
  VK_STENCIL_OP_REPLACE sets the value to reference.
  `VK_STENCIL_OP_ZERO`
  VK_STENCIL_OP_ZERO sets the value to 0.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `value()`
  `static VulkanStencilOp`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static VulkanStencilOp[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### VK_STENCIL_OP_KEEP

    public static final VulkanStencilOp VK_STENCIL_OP_KEEP
    VK_STENCIL_OP_KEEP keeps the current value.

  - ### VK_STENCIL_OP_ZERO

    public static final VulkanStencilOp VK_STENCIL_OP_ZERO
    VK_STENCIL_OP_ZERO sets the value to 0.

  - ### VK_STENCIL_OP_REPLACE

    public static final VulkanStencilOp VK_STENCIL_OP_REPLACE
    VK_STENCIL_OP_REPLACE sets the value to reference.

  - ### VK_STENCIL_OP_INCREMENT_AND_CLAMP

    public static final VulkanStencilOp VK_STENCIL_OP_INCREMENT_AND_CLAMP
    VK_STENCIL_OP_INCREMENT_AND_CLAMP increments the current value and clamps to the maximum representable unsigned value.

  - ### VK_STENCIL_OP_DECREMENT_AND_CLAMP

    public static final VulkanStencilOp VK_STENCIL_OP_DECREMENT_AND_CLAMP
    VK_STENCIL_OP_DECREMENT_AND_CLAMP decrements the current value and clamps to 0.

  - ### VK_STENCIL_OP_INVERT

    public static final VulkanStencilOp VK_STENCIL_OP_INVERT
    VK_STENCIL_OP_INVERT bitwise-inverts the current value.

  - ### VK_STENCIL_OP_INCREMENT_AND_WRAP

    public static final VulkanStencilOp VK_STENCIL_OP_INCREMENT_AND_WRAP
    VK_STENCIL_OP_INCREMENT_AND_WRAP increments the current value and wraps to 0 when the maximum value would have been exceeded.

  - ### VK_STENCIL_OP_DECREMENT_AND_WRAP

    public static final VulkanStencilOp VK_STENCIL_OP_DECREMENT_AND_WRAP
    VK_STENCIL_OP_DECREMENT_AND_WRAP decrements the current value and wraps to the maximum possible value when the value would go below 0.

- ## Method Details

  - ### values

    public static VulkanStencilOp[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static VulkanStencilOp valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### value

    public int value()
    Specified by:
      `value` in interface `VulkanEnumIntegerType`
    Returns:
      The integer value of the constant