Class VulkanFormatProperties
java.lang.Object
com.io7m.jcoronado.api.VulkanFormatProperties
- All Implemented Interfaces:
VulkanFormatPropertiesType
Structure specifying image format properties.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanFormatProperties. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanFormatProperties.static VulkanFormatPropertiescopyOf(VulkanFormatPropertiesType instance) Creates an immutable copy of aVulkanFormatPropertiesTypevalue.booleanThis instance is equal to all instances ofVulkanFormatPropertiesthat have equal attribute values.inthashCode()Computes a hash code from attributes:linearTilingFeatures,optimalTilingFeatures,bufferFeatures.static VulkanFormatPropertiesof(Iterable<VulkanFormatFeatureFlag> linearTilingFeatures, Iterable<VulkanFormatFeatureFlag> optimalTilingFeatures, Iterable<VulkanFormatFeatureFlag> bufferFeatures) Construct a new immutableVulkanFormatPropertiesinstance.static VulkanFormatPropertiesof(Set<VulkanFormatFeatureFlag> linearTilingFeatures, Set<VulkanFormatFeatureFlag> optimalTilingFeatures, Set<VulkanFormatFeatureFlag> bufferFeatures) Construct a new immutableVulkanFormatPropertiesinstance.toString()Prints the immutable valueVulkanFormatPropertieswith attribute values.final VulkanFormatPropertieswithBufferFeatures(VulkanFormatFeatureFlag... elements) Copy the current immutable object with elements that replace the content ofbufferFeatures.final VulkanFormatPropertieswithBufferFeatures(Iterable<VulkanFormatFeatureFlag> elements) Copy the current immutable object with elements that replace the content ofbufferFeatures.final VulkanFormatPropertieswithLinearTilingFeatures(VulkanFormatFeatureFlag... elements) Copy the current immutable object with elements that replace the content oflinearTilingFeatures.final VulkanFormatPropertiesCopy the current immutable object with elements that replace the content oflinearTilingFeatures.final VulkanFormatPropertieswithOptimalTilingFeatures(VulkanFormatFeatureFlag... elements) Copy the current immutable object with elements that replace the content ofoptimalTilingFeatures.final VulkanFormatPropertiesCopy the current immutable object with elements that replace the content ofoptimalTilingFeatures.
-
Method Details
-
linearTilingFeatures
- Specified by:
linearTilingFeaturesin interfaceVulkanFormatPropertiesType- Returns:
- A set of flags specifying features supported by images created with a tiling parameter of VK_IMAGE_TILING_LINEAR.
-
optimalTilingFeatures
- Specified by:
optimalTilingFeaturesin interfaceVulkanFormatPropertiesType- Returns:
- A set of flags specifying features supported by images created with a tiling parameter of VK_IMAGE_TILING_OPTIMAL.
-
bufferFeatures
- Specified by:
bufferFeaturesin interfaceVulkanFormatPropertiesType- Returns:
- A set of flags specifying features supported by buffers.
-
withLinearTilingFeatures
Copy the current immutable object with elements that replace the content oflinearTilingFeatures.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withLinearTilingFeatures
public final VulkanFormatProperties withLinearTilingFeatures(Iterable<VulkanFormatFeatureFlag> elements) Copy the current immutable object with elements that replace the content oflinearTilingFeatures. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of linearTilingFeatures elements to set- Returns:
- A modified copy of
thisobject
-
withOptimalTilingFeatures
Copy the current immutable object with elements that replace the content ofoptimalTilingFeatures.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withOptimalTilingFeatures
public final VulkanFormatProperties withOptimalTilingFeatures(Iterable<VulkanFormatFeatureFlag> elements) Copy the current immutable object with elements that replace the content ofoptimalTilingFeatures. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of optimalTilingFeatures elements to set- Returns:
- A modified copy of
thisobject
-
withBufferFeatures
Copy the current immutable object with elements that replace the content ofbufferFeatures.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withBufferFeatures
Copy the current immutable object with elements that replace the content ofbufferFeatures. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of bufferFeatures elements to set- Returns:
- A modified copy of
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanFormatProperties of(Set<VulkanFormatFeatureFlag> linearTilingFeatures, Set<VulkanFormatFeatureFlag> optimalTilingFeatures, Set<VulkanFormatFeatureFlag> bufferFeatures) Construct a new immutableVulkanFormatPropertiesinstance.- Parameters:
linearTilingFeatures- The value for thelinearTilingFeaturesattributeoptimalTilingFeatures- The value for theoptimalTilingFeaturesattributebufferFeatures- The value for thebufferFeaturesattribute- Returns:
- An immutable VulkanFormatProperties instance
-
of
public static VulkanFormatProperties of(Iterable<VulkanFormatFeatureFlag> linearTilingFeatures, Iterable<VulkanFormatFeatureFlag> optimalTilingFeatures, Iterable<VulkanFormatFeatureFlag> bufferFeatures) Construct a new immutableVulkanFormatPropertiesinstance.- Parameters:
linearTilingFeatures- The value for thelinearTilingFeaturesattributeoptimalTilingFeatures- The value for theoptimalTilingFeaturesattributebufferFeatures- The value for thebufferFeaturesattribute- Returns:
- An immutable VulkanFormatProperties instance
-
copyOf
Creates an immutable copy of aVulkanFormatPropertiesTypevalue. 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 VulkanFormatProperties instance
-
builder
Creates a builder forVulkanFormatProperties.VulkanFormatProperties.builder() .addLinearTilingFeatures|addAllLinearTilingFeatures(com.io7m.jcoronado.api.VulkanFormatFeatureFlag) //linearTilingFeatureselements .addOptimalTilingFeatures|addAllOptimalTilingFeatures(com.io7m.jcoronado.api.VulkanFormatFeatureFlag) //optimalTilingFeatureselements .addBufferFeatures|addAllBufferFeatures(com.io7m.jcoronado.api.VulkanFormatFeatureFlag) //bufferFeatureselements .build();- Returns:
- A new VulkanFormatProperties builder
-