Class VulkanImageViewCreateInfo

java.lang.Object
com.io7m.jcoronado.api.VulkanImageViewCreateInfo
All Implemented Interfaces:
VulkanImageViewCreateInfoType

public final class VulkanImageViewCreateInfo extends Object implements VulkanImageViewCreateInfoType
The type of Vulkan image view creation information.
See Also:
  • "VkImageViewCreateInfo"
  • Method Details

    • flags

      public Set<VulkanImageViewCreateFlag> flags()
      Specified by:
      flags in interface VulkanImageViewCreateInfoType
      Returns:
      The view creation flags
    • image

      public VulkanImageType image()
      Specified by:
      image in interface VulkanImageViewCreateInfoType
      Returns:
      The image
    • viewType

      public VulkanImageViewKind viewType()
      Specified by:
      viewType in interface VulkanImageViewCreateInfoType
      Returns:
      The view type
    • format

      public VulkanFormat format()
      Specified by:
      format in interface VulkanImageViewCreateInfoType
      Returns:
      The format
    • components

      public VulkanComponentMapping components()
      Specified by:
      components in interface VulkanImageViewCreateInfoType
      Returns:
      The component mapping
    • subresourceRange

      public VulkanImageSubresourceRange subresourceRange()
      Specified by:
      subresourceRange in interface VulkanImageViewCreateInfoType
      Returns:
      The set of mipmap levels and array layers to be accessible to the view
    • withFlags

      public final VulkanImageViewCreateInfo withFlags(VulkanImageViewCreateFlag... elements)
      Copy the current immutable object with elements that replace the content of flags.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withFlags

      public final VulkanImageViewCreateInfo withFlags(Iterable<VulkanImageViewCreateFlag> elements)
      Copy the current immutable object with elements that replace the content of flags. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of flags elements to set
      Returns:
      A modified copy of this object
    • withImage

      public final VulkanImageViewCreateInfo withImage(VulkanImageType value)
      Copy the current immutable object by setting a value for the image attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for image
      Returns:
      A modified copy of the this object
    • withViewType

      public final VulkanImageViewCreateInfo withViewType(VulkanImageViewKind value)
      Copy the current immutable object by setting a value for the viewType attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for viewType
      Returns:
      A modified copy of the this object
    • withFormat

      public final VulkanImageViewCreateInfo withFormat(VulkanFormat value)
      Copy the current immutable object by setting a value for the format attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for format
      Returns:
      A modified copy of the this object
    • withComponents

      public final VulkanImageViewCreateInfo withComponents(VulkanComponentMapping value)
      Copy the current immutable object by setting a value for the components attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for components
      Returns:
      A modified copy of the this object
    • withSubresourceRange

      public final VulkanImageViewCreateInfo withSubresourceRange(VulkanImageSubresourceRange value)
      Copy the current immutable object by setting a value for the subresourceRange attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for subresourceRange
      Returns:
      A modified copy of the this object
    • equals

      public boolean equals(Object another)
      This instance is equal to all instances of VulkanImageViewCreateInfo 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: flags, image, viewType, format, components, subresourceRange.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value VulkanImageViewCreateInfo with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • of

      Construct a new immutable VulkanImageViewCreateInfo instance.
      Parameters:
      flags - The value for the flags attribute
      image - The value for the image attribute
      viewType - The value for the viewType attribute
      format - The value for the format attribute
      components - The value for the components attribute
      subresourceRange - The value for the subresourceRange attribute
      Returns:
      An immutable VulkanImageViewCreateInfo instance
    • of

      Construct a new immutable VulkanImageViewCreateInfo instance.
      Parameters:
      flags - The value for the flags attribute
      image - The value for the image attribute
      viewType - The value for the viewType attribute
      format - The value for the format attribute
      components - The value for the components attribute
      subresourceRange - The value for the subresourceRange attribute
      Returns:
      An immutable VulkanImageViewCreateInfo instance
    • copyOf

      Creates an immutable copy of a VulkanImageViewCreateInfoType 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 VulkanImageViewCreateInfo instance
    • builder

      public static VulkanImageViewCreateInfo.Builder builder()
      Creates a builder for VulkanImageViewCreateInfo.
       VulkanImageViewCreateInfo.builder()
          .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanImageViewCreateFlag) // flags elements
          .setImage(com.io7m.jcoronado.api.VulkanImageType) // required image
          .setViewType(com.io7m.jcoronado.api.VulkanImageViewKind) // required viewType
          .setFormat(com.io7m.jcoronado.api.VulkanFormat) // required format
          .setComponents(com.io7m.jcoronado.api.VulkanComponentMapping) // optional components
          .setSubresourceRange(com.io7m.jcoronado.api.VulkanImageSubresourceRange) // required subresourceRange
          .build();
       
      Returns:
      A new VulkanImageViewCreateInfo builder