com.io7m.r2.filters

## Class R2FilterCompositorItem

- java.lang.Object
- - com.io7m.r2.filters.R2FilterCompositorItem

- All Implemented Interfaces:
    R2FilterCompositorItemType

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

  A single texture that will be rendered to some subset of the current viewport.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Optional<R2FilterCompositorBlendingType>` | `blending()`
    `static R2FilterCompositorItem.Builder` | `builder()` Creates a builder for `R2FilterCompositorItem`.
    `static R2FilterCompositorItem` | `copyOf(R2FilterCompositorItemType instance)` Creates an immutable copy of a `R2FilterCompositorItemType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2FilterCompositorItem` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `texture`, `outputViewport`, `intensity`, `blending`.
    `float` | `intensity()`
    `static R2FilterCompositorItem` | `of(R2Texture2DUsableType texture, com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport, float intensity, Optional<R2FilterCompositorBlendingType> blending)` Construct a new immutable `R2FilterCompositorItem` instance.
    `com.io7m.jareas.core.AreaInclusiveUnsignedLType` | `outputViewport()`
    `R2Texture2DUsableType` | `texture()`
    `String` | `toString()` Prints the immutable value `R2FilterCompositorItem` with attribute values.
    `R2FilterCompositorItem` | `withBlending(Optional<R2FilterCompositorBlendingType> optional)` Copy the current immutable object by setting an optional value for the `blending` attribute.
    `R2FilterCompositorItem` | `withBlending(R2FilterCompositorBlendingType value)` Copy the current immutable object by setting a present value for the optional `blending` attribute.
    `R2FilterCompositorItem` | `withIntensity(float value)` Copy the current immutable object by setting a value for the `intensity` attribute.
    `R2FilterCompositorItem` | `withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)` Copy the current immutable object by setting a value for the `outputViewport` attribute.
    `R2FilterCompositorItem` | `withTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `texture` attribute.

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

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

- - ### Method Detail

    - #### texture

          public R2Texture2DUsableType texture()

      Specified by:
        `texture` in interface `R2FilterCompositorItemType`
      Returns:
        The texture that will be rendered

    - #### outputViewport

          public com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport()

      Specified by:
        `outputViewport` in interface `R2FilterCompositorItemType`
      Returns:
        The area of the viewport to which the texture will be rendered

    - #### intensity

          public float intensity()

      Specified by:
        `intensity` in interface `R2FilterCompositorItemType`
      Returns:
        The value by which to scale each sample of the texture when compositing

    - #### blending

          public Optional<R2FilterCompositorBlendingType> blending()

      Specified by:
        `blending` in interface `R2FilterCompositorItemType`
      Returns:
        The blending parameters for this item

    - #### withTexture

          public final R2FilterCompositorItem withTexture(R2Texture2DUsableType value)

      Copy the current immutable object by setting a value for the `texture` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for texture
      Returns:
        A modified copy of the `this` object

    - #### withOutputViewport

          public final R2FilterCompositorItem withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)

      Copy the current immutable object by setting a value for the `outputViewport` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for outputViewport
      Returns:
        A modified copy of the `this` object

    - #### withIntensity

          public final R2FilterCompositorItem withIntensity(float value)

      Copy the current immutable object by setting a value for the `intensity` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for intensity
      Returns:
        A modified copy of the `this` object

    - #### withBlending

          public final R2FilterCompositorItem withBlending(R2FilterCompositorBlendingType value)

      Copy the current immutable object by setting a present value for the optional `blending` attribute.
      Parameters:
        `value` - The value for blending
      Returns:
        A modified copy of `this` object

    - #### withBlending

          public final R2FilterCompositorItem withBlending(Optional<R2FilterCompositorBlendingType> optional)

      Copy the current immutable object by setting an optional value for the `blending` attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning `this`.
      Parameters:
        `optional` - A value for blending
      Returns:
        A modified copy of `this` object

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2FilterCompositorItem` 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: `texture`, `outputViewport`, `intensity`, `blending`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static R2FilterCompositorItem of(R2Texture2DUsableType texture,
                                                  com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport,
                                                  float intensity,
                                                  Optional<R2FilterCompositorBlendingType> blending)

      Construct a new immutable `R2FilterCompositorItem` instance.
      Parameters:
        `texture` - The value for the `texture` attribute
        `outputViewport` - The value for the `outputViewport` attribute
        `intensity` - The value for the `intensity` attribute
        `blending` - The value for the `blending` attribute
      Returns:
        An immutable R2FilterCompositorItem instance

    - #### copyOf

          public static R2FilterCompositorItem copyOf(R2FilterCompositorItemType instance)

      Creates an immutable copy of a `R2FilterCompositorItemType` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable R2FilterCompositorItem instance

    - #### builder

          public static R2FilterCompositorItem.Builder builder()

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

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