- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanFramebufferCreateInfo
-
- All Implemented Interfaces:
VulkanFramebufferCreateInfoType
public final class VulkanFramebufferCreateInfo extends java.lang.Object implements VulkanFramebufferCreateInfoType
Structure specifying parameters of a newly created framebuffer.- See Also:
- "VkFramebufferCreateInfo"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanFramebufferCreateInfo.Builder
Builds instances of typeVulkanFramebufferCreateInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<VulkanImageViewType>
attachments()
static VulkanFramebufferCreateInfo.Builder
builder()
Creates a builder forVulkanFramebufferCreateInfo
.static VulkanFramebufferCreateInfo
copyOf(VulkanFramebufferCreateInfoType instance)
Creates an immutable copy of aVulkanFramebufferCreateInfoType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanFramebufferCreateInfo
that have equal attribute values.java.util.Set<VulkanFramebufferCreateFlag>
flags()
int
hashCode()
Computes a hash code from attributes:flags
,renderPass
,attachments
,width
,height
,layers
.int
height()
int
layers()
static VulkanFramebufferCreateInfo
of(java.lang.Iterable<VulkanFramebufferCreateFlag> flags, VulkanRenderPassType renderPass, java.lang.Iterable<? extends VulkanImageViewType> attachments, int width, int height, int layers)
Construct a new immutableVulkanFramebufferCreateInfo
instance.static VulkanFramebufferCreateInfo
of(java.util.Set<VulkanFramebufferCreateFlag> flags, VulkanRenderPassType renderPass, java.util.List<VulkanImageViewType> attachments, int width, int height, int layers)
Construct a new immutableVulkanFramebufferCreateInfo
instance.VulkanRenderPassType
renderPass()
java.lang.String
toString()
Prints the immutable valueVulkanFramebufferCreateInfo
with attribute values.int
width()
VulkanFramebufferCreateInfo
withAttachments(VulkanImageViewType... elements)
Copy the current immutable object with elements that replace the content ofattachments
.VulkanFramebufferCreateInfo
withAttachments(java.lang.Iterable<? extends VulkanImageViewType> elements)
Copy the current immutable object with elements that replace the content ofattachments
.VulkanFramebufferCreateInfo
withFlags(VulkanFramebufferCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanFramebufferCreateInfo
withFlags(java.lang.Iterable<VulkanFramebufferCreateFlag> elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanFramebufferCreateInfo
withHeight(int value)
Copy the current immutable object by setting a value for theheight
attribute.VulkanFramebufferCreateInfo
withLayers(int value)
Copy the current immutable object by setting a value for thelayers
attribute.VulkanFramebufferCreateInfo
withRenderPass(VulkanRenderPassType value)
Copy the current immutable object by setting a value for therenderPass
attribute.VulkanFramebufferCreateInfo
withWidth(int value)
Copy the current immutable object by setting a value for thewidth
attribute.
-
-
-
Method Detail
-
flags
public java.util.Set<VulkanFramebufferCreateFlag> flags()
- Specified by:
flags
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- Flags specifying how the framebuffer will be generated.
-
renderPass
public VulkanRenderPassType renderPass()
- Specified by:
renderPass
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- A render pass that defines what render passes with which the framebuffer will be compatible.
-
attachments
public java.util.List<VulkanImageViewType> attachments()
- Specified by:
attachments
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- A list of image view handles, each of which will be used as the corresponding attachment in a render pass instance.
-
width
public int width()
- Specified by:
width
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- The width of the framebuffer
-
height
public int height()
- Specified by:
height
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- The height of the framebuffer
-
layers
public int layers()
- Specified by:
layers
in interfaceVulkanFramebufferCreateInfoType
- Returns:
- The number of layers in the framebuffer
-
withFlags
public final VulkanFramebufferCreateInfo withFlags(VulkanFramebufferCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withFlags
public final VulkanFramebufferCreateInfo withFlags(java.lang.Iterable<VulkanFramebufferCreateFlag> elements)
Copy the current immutable object with elements that replace the content offlags
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of flags elements to set- Returns:
- A modified copy of
this
object
-
withRenderPass
public final VulkanFramebufferCreateInfo withRenderPass(VulkanRenderPassType value)
Copy the current immutable object by setting a value for therenderPass
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for renderPass- Returns:
- A modified copy of the
this
object
-
withAttachments
public final VulkanFramebufferCreateInfo withAttachments(VulkanImageViewType... elements)
Copy the current immutable object with elements that replace the content ofattachments
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withAttachments
public final VulkanFramebufferCreateInfo withAttachments(java.lang.Iterable<? extends VulkanImageViewType> elements)
Copy the current immutable object with elements that replace the content ofattachments
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of attachments elements to set- Returns:
- A modified copy of
this
object
-
withWidth
public final VulkanFramebufferCreateInfo withWidth(int value)
Copy the current immutable object by setting a value for thewidth
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for width- Returns:
- A modified copy of the
this
object
-
withHeight
public final VulkanFramebufferCreateInfo withHeight(int value)
Copy the current immutable object by setting a value for theheight
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for height- Returns:
- A modified copy of the
this
object
-
withLayers
public final VulkanFramebufferCreateInfo withLayers(int value)
Copy the current immutable object by setting a value for thelayers
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for layers- Returns:
- A modified copy of the
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanFramebufferCreateInfo
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:flags
,renderPass
,attachments
,width
,height
,layers
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanFramebufferCreateInfo
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanFramebufferCreateInfo of(java.util.Set<VulkanFramebufferCreateFlag> flags, VulkanRenderPassType renderPass, java.util.List<VulkanImageViewType> attachments, int width, int height, int layers)
Construct a new immutableVulkanFramebufferCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributerenderPass
- The value for therenderPass
attributeattachments
- The value for theattachments
attributewidth
- The value for thewidth
attributeheight
- The value for theheight
attributelayers
- The value for thelayers
attribute- Returns:
- An immutable VulkanFramebufferCreateInfo instance
-
of
public static VulkanFramebufferCreateInfo of(java.lang.Iterable<VulkanFramebufferCreateFlag> flags, VulkanRenderPassType renderPass, java.lang.Iterable<? extends VulkanImageViewType> attachments, int width, int height, int layers)
Construct a new immutableVulkanFramebufferCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributerenderPass
- The value for therenderPass
attributeattachments
- The value for theattachments
attributewidth
- The value for thewidth
attributeheight
- The value for theheight
attributelayers
- The value for thelayers
attribute- Returns:
- An immutable VulkanFramebufferCreateInfo instance
-
copyOf
public static VulkanFramebufferCreateInfo copyOf(VulkanFramebufferCreateInfoType instance)
Creates an immutable copy of aVulkanFramebufferCreateInfoType
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 VulkanFramebufferCreateInfo instance
-
builder
public static VulkanFramebufferCreateInfo.Builder builder()
Creates a builder forVulkanFramebufferCreateInfo
.- Returns:
- A new VulkanFramebufferCreateInfo builder
-
-