Class VulkanSurfaceCapabilitiesKHR
- java.lang.Object
-
- com.io7m.jcoronado.extensions.khr_surface.api.VulkanSurfaceCapabilitiesKHR
-
- All Implemented Interfaces:
VulkanSurfaceCapabilitiesKHRType
public final class VulkanSurfaceCapabilitiesKHR extends java.lang.Object implements VulkanSurfaceCapabilitiesKHRType
- See Also:
- "VkSurfaceCapabilitiesKHR"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanSurfaceCapabilitiesKHR.Builder
Builds instances of typeVulkanSurfaceCapabilitiesKHR
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VulkanSurfaceCapabilitiesKHR.Builder
builder()
Creates a builder forVulkanSurfaceCapabilitiesKHR
.static VulkanSurfaceCapabilitiesKHR
copyOf(VulkanSurfaceCapabilitiesKHRType instance)
Creates an immutable copy of aVulkanSurfaceCapabilitiesKHRType
value.VulkanExtent2D
currentExtent()
java.util.Set<VulkanSurfaceTransformFlagKHR>
currentTransform()
boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanSurfaceCapabilitiesKHR
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:minImageCount
,maxImageCount
,currentExtent
,minImageExtent
,maxImageExtent
,maxImageArrayLayers
,supportedTransforms
,currentTransform
,supportedCompositeAlpha
,supportedUsageFlags
.int
maxImageArrayLayers()
int
maxImageCount()
VulkanExtent2D
maxImageExtent()
int
minImageCount()
VulkanExtent2D
minImageExtent()
static VulkanSurfaceCapabilitiesKHR
of(int minImageCount, int maxImageCount, VulkanExtent2D currentExtent, VulkanExtent2D minImageExtent, VulkanExtent2D maxImageExtent, int maxImageArrayLayers, java.lang.Iterable<VulkanSurfaceTransformFlagKHR> supportedTransforms, java.lang.Iterable<VulkanSurfaceTransformFlagKHR> currentTransform, java.lang.Iterable<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha, java.lang.Iterable<VulkanImageUsageFlag> supportedUsageFlags)
Construct a new immutableVulkanSurfaceCapabilitiesKHR
instance.static VulkanSurfaceCapabilitiesKHR
of(int minImageCount, int maxImageCount, VulkanExtent2D currentExtent, VulkanExtent2D minImageExtent, VulkanExtent2D maxImageExtent, int maxImageArrayLayers, java.util.Set<VulkanSurfaceTransformFlagKHR> supportedTransforms, java.util.Set<VulkanSurfaceTransformFlagKHR> currentTransform, java.util.Set<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha, java.util.Set<VulkanImageUsageFlag> supportedUsageFlags)
Construct a new immutableVulkanSurfaceCapabilitiesKHR
instance.java.util.Set<VulkanCompositeAlphaFlagKHR>
supportedCompositeAlpha()
java.util.Set<VulkanSurfaceTransformFlagKHR>
supportedTransforms()
java.util.Set<VulkanImageUsageFlag>
supportedUsageFlags()
java.lang.String
toString()
Prints the immutable valueVulkanSurfaceCapabilitiesKHR
with attribute values.VulkanSurfaceCapabilitiesKHR
withCurrentExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for thecurrentExtent
attribute.VulkanSurfaceCapabilitiesKHR
withCurrentTransform(VulkanSurfaceTransformFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofcurrentTransform
.VulkanSurfaceCapabilitiesKHR
withCurrentTransform(java.lang.Iterable<VulkanSurfaceTransformFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofcurrentTransform
.VulkanSurfaceCapabilitiesKHR
withMaxImageArrayLayers(int value)
Copy the current immutable object by setting a value for themaxImageArrayLayers
attribute.VulkanSurfaceCapabilitiesKHR
withMaxImageCount(int value)
Copy the current immutable object by setting a value for themaxImageCount
attribute.VulkanSurfaceCapabilitiesKHR
withMaxImageExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for themaxImageExtent
attribute.VulkanSurfaceCapabilitiesKHR
withMinImageCount(int value)
Copy the current immutable object by setting a value for theminImageCount
attribute.VulkanSurfaceCapabilitiesKHR
withMinImageExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for theminImageExtent
attribute.VulkanSurfaceCapabilitiesKHR
withSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofsupportedCompositeAlpha
.VulkanSurfaceCapabilitiesKHR
withSupportedCompositeAlpha(java.lang.Iterable<VulkanCompositeAlphaFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofsupportedCompositeAlpha
.VulkanSurfaceCapabilitiesKHR
withSupportedTransforms(VulkanSurfaceTransformFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofsupportedTransforms
.VulkanSurfaceCapabilitiesKHR
withSupportedTransforms(java.lang.Iterable<VulkanSurfaceTransformFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofsupportedTransforms
.VulkanSurfaceCapabilitiesKHR
withSupportedUsageFlags(VulkanImageUsageFlag... elements)
Copy the current immutable object with elements that replace the content ofsupportedUsageFlags
.VulkanSurfaceCapabilitiesKHR
withSupportedUsageFlags(java.lang.Iterable<VulkanImageUsageFlag> elements)
Copy the current immutable object with elements that replace the content ofsupportedUsageFlags
.
-
-
-
Method Detail
-
minImageCount
public int minImageCount()
- Specified by:
minImageCount
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the minimum number of images the specified device supports for a swapchain created for the surface.
-
maxImageCount
public int maxImageCount()
- Specified by:
maxImageCount
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the maximum number of images the specified device supports for a swapchain created for the surface. A value of 0 means that there is no limit on the number of images, though there may be limits related to the total amount of memory used by swapchain images.
-
currentExtent
public VulkanExtent2D currentExtent()
- Specified by:
currentExtent
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the current width and height of the surface, or the special value $(0xFFFFFFFF, 0xFFFFFFFF)$ indicating that the surface size will be determined by the extent of a swapchain targeting the surface.
-
minImageExtent
public VulkanExtent2D minImageExtent()
- Specified by:
minImageExtent
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the smallest valid swapchain extent for the surface on the specified device.
-
maxImageExtent
public VulkanExtent2D maxImageExtent()
- Specified by:
maxImageExtent
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the largest valid swapchain extent for the surface on the specified device.
-
maxImageArrayLayers
public int maxImageArrayLayers()
- Specified by:
maxImageArrayLayers
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the maximum number of layers swapchain images can have for a swapchain created for this device and surface.
-
supportedTransforms
public java.util.Set<VulkanSurfaceTransformFlagKHR> supportedTransforms()
- Specified by:
supportedTransforms
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the presentation transforms supported for the surface on the specified device.
-
currentTransform
public java.util.Set<VulkanSurfaceTransformFlagKHR> currentTransform()
- Specified by:
currentTransform
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the surface’s current transform relative to the presentation engine’s natural orientation.
-
supportedCompositeAlpha
public java.util.Set<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha()
- Specified by:
supportedCompositeAlpha
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the alpha compositing modes supported by the presentation engine for the surface on the specified device. Opaque composition can be achieved in any alpha compositing mode by either using a swapchain image format that has no alpha component, or by ensuring that all pixels in the swapchain images have an alpha value of 1.0.
-
supportedUsageFlags
public java.util.Set<VulkanImageUsageFlag> supportedUsageFlags()
- Specified by:
supportedUsageFlags
in interfaceVulkanSurfaceCapabilitiesKHRType
- Returns:
- the ways the application can use the presentable images of a swapchain created for the surface on the specified device. VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT must be included in the set but implementations may support additional usages.
-
withMinImageCount
public final VulkanSurfaceCapabilitiesKHR withMinImageCount(int value)
Copy the current immutable object by setting a value for theminImageCount
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for minImageCount- Returns:
- A modified copy of the
this
object
-
withMaxImageCount
public final VulkanSurfaceCapabilitiesKHR withMaxImageCount(int value)
Copy the current immutable object by setting a value for themaxImageCount
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for maxImageCount- Returns:
- A modified copy of the
this
object
-
withCurrentExtent
public final VulkanSurfaceCapabilitiesKHR withCurrentExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for thecurrentExtent
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for currentExtent- Returns:
- A modified copy of the
this
object
-
withMinImageExtent
public final VulkanSurfaceCapabilitiesKHR withMinImageExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for theminImageExtent
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for minImageExtent- Returns:
- A modified copy of the
this
object
-
withMaxImageExtent
public final VulkanSurfaceCapabilitiesKHR withMaxImageExtent(VulkanExtent2D value)
Copy the current immutable object by setting a value for themaxImageExtent
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for maxImageExtent- Returns:
- A modified copy of the
this
object
-
withMaxImageArrayLayers
public final VulkanSurfaceCapabilitiesKHR withMaxImageArrayLayers(int value)
Copy the current immutable object by setting a value for themaxImageArrayLayers
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for maxImageArrayLayers- Returns:
- A modified copy of the
this
object
-
withSupportedTransforms
public final VulkanSurfaceCapabilitiesKHR withSupportedTransforms(VulkanSurfaceTransformFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofsupportedTransforms
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withSupportedTransforms
public final VulkanSurfaceCapabilitiesKHR withSupportedTransforms(java.lang.Iterable<VulkanSurfaceTransformFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofsupportedTransforms
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of supportedTransforms elements to set- Returns:
- A modified copy of
this
object
-
withCurrentTransform
public final VulkanSurfaceCapabilitiesKHR withCurrentTransform(VulkanSurfaceTransformFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofcurrentTransform
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withCurrentTransform
public final VulkanSurfaceCapabilitiesKHR withCurrentTransform(java.lang.Iterable<VulkanSurfaceTransformFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofcurrentTransform
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of currentTransform elements to set- Returns:
- A modified copy of
this
object
-
withSupportedCompositeAlpha
public final VulkanSurfaceCapabilitiesKHR withSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR... elements)
Copy the current immutable object with elements that replace the content ofsupportedCompositeAlpha
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withSupportedCompositeAlpha
public final VulkanSurfaceCapabilitiesKHR withSupportedCompositeAlpha(java.lang.Iterable<VulkanCompositeAlphaFlagKHR> elements)
Copy the current immutable object with elements that replace the content ofsupportedCompositeAlpha
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of supportedCompositeAlpha elements to set- Returns:
- A modified copy of
this
object
-
withSupportedUsageFlags
public final VulkanSurfaceCapabilitiesKHR withSupportedUsageFlags(VulkanImageUsageFlag... elements)
Copy the current immutable object with elements that replace the content ofsupportedUsageFlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withSupportedUsageFlags
public final VulkanSurfaceCapabilitiesKHR withSupportedUsageFlags(java.lang.Iterable<VulkanImageUsageFlag> elements)
Copy the current immutable object with elements that replace the content ofsupportedUsageFlags
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of supportedUsageFlags elements to set- Returns:
- A modified copy of
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanSurfaceCapabilitiesKHR
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:minImageCount
,maxImageCount
,currentExtent
,minImageExtent
,maxImageExtent
,maxImageArrayLayers
,supportedTransforms
,currentTransform
,supportedCompositeAlpha
,supportedUsageFlags
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanSurfaceCapabilitiesKHR
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanSurfaceCapabilitiesKHR of(int minImageCount, int maxImageCount, VulkanExtent2D currentExtent, VulkanExtent2D minImageExtent, VulkanExtent2D maxImageExtent, int maxImageArrayLayers, java.util.Set<VulkanSurfaceTransformFlagKHR> supportedTransforms, java.util.Set<VulkanSurfaceTransformFlagKHR> currentTransform, java.util.Set<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha, java.util.Set<VulkanImageUsageFlag> supportedUsageFlags)
Construct a new immutableVulkanSurfaceCapabilitiesKHR
instance.- Parameters:
minImageCount
- The value for theminImageCount
attributemaxImageCount
- The value for themaxImageCount
attributecurrentExtent
- The value for thecurrentExtent
attributeminImageExtent
- The value for theminImageExtent
attributemaxImageExtent
- The value for themaxImageExtent
attributemaxImageArrayLayers
- The value for themaxImageArrayLayers
attributesupportedTransforms
- The value for thesupportedTransforms
attributecurrentTransform
- The value for thecurrentTransform
attributesupportedCompositeAlpha
- The value for thesupportedCompositeAlpha
attributesupportedUsageFlags
- The value for thesupportedUsageFlags
attribute- Returns:
- An immutable VulkanSurfaceCapabilitiesKHR instance
-
of
public static VulkanSurfaceCapabilitiesKHR of(int minImageCount, int maxImageCount, VulkanExtent2D currentExtent, VulkanExtent2D minImageExtent, VulkanExtent2D maxImageExtent, int maxImageArrayLayers, java.lang.Iterable<VulkanSurfaceTransformFlagKHR> supportedTransforms, java.lang.Iterable<VulkanSurfaceTransformFlagKHR> currentTransform, java.lang.Iterable<VulkanCompositeAlphaFlagKHR> supportedCompositeAlpha, java.lang.Iterable<VulkanImageUsageFlag> supportedUsageFlags)
Construct a new immutableVulkanSurfaceCapabilitiesKHR
instance.- Parameters:
minImageCount
- The value for theminImageCount
attributemaxImageCount
- The value for themaxImageCount
attributecurrentExtent
- The value for thecurrentExtent
attributeminImageExtent
- The value for theminImageExtent
attributemaxImageExtent
- The value for themaxImageExtent
attributemaxImageArrayLayers
- The value for themaxImageArrayLayers
attributesupportedTransforms
- The value for thesupportedTransforms
attributecurrentTransform
- The value for thecurrentTransform
attributesupportedCompositeAlpha
- The value for thesupportedCompositeAlpha
attributesupportedUsageFlags
- The value for thesupportedUsageFlags
attribute- Returns:
- An immutable VulkanSurfaceCapabilitiesKHR instance
-
copyOf
public static VulkanSurfaceCapabilitiesKHR copyOf(VulkanSurfaceCapabilitiesKHRType instance)
Creates an immutable copy of aVulkanSurfaceCapabilitiesKHRType
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 VulkanSurfaceCapabilitiesKHR instance
-
builder
public static VulkanSurfaceCapabilitiesKHR.Builder builder()
Creates a builder forVulkanSurfaceCapabilitiesKHR
.- Returns:
- A new VulkanSurfaceCapabilitiesKHR builder
-
-