Class JCSwapchainConfiguration.Builder
java.lang.Object
com.io7m.jcoronado.utility.swapchain.JCSwapchainConfiguration.Builder
- Enclosing class:
JCSwapchainConfiguration
Builds instances of type
JCSwapchainConfiguration.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Method Summary
Modifier and TypeMethodDescriptionaddAllImageUsageFlags(Iterable<VulkanImageUsageFlag> elements) Adds elements toimageUsageFlagsset.addAllPreferredFormats(Iterable<? extends VulkanSurfaceFormatKHR> elements) Adds elements topreferredFormatslist.addAllPreferredModes(Iterable<? extends VulkanPresentModeKHR> elements) Adds elements topreferredModeslist.Adds elements tosurfaceAlphaFlagsset.addImageUsageFlags(VulkanImageUsageFlag element) Adds one element toimageUsageFlagsset.addImageUsageFlags(VulkanImageUsageFlag... elements) Adds elements toimageUsageFlagsset.Adds one element topreferredFormatslist.addPreferredFormats(VulkanSurfaceFormatKHR... elements) Adds elements topreferredFormatslist.addPreferredModes(VulkanPresentModeKHR element) Adds one element topreferredModeslist.addPreferredModes(VulkanPresentModeKHR... elements) Adds elements topreferredModeslist.Adds one element tosurfaceAlphaFlagsset.addSurfaceAlphaFlags(VulkanCompositeAlphaFlagKHR... elements) Adds elements tosurfaceAlphaFlagsset.build()Builds a newJCSwapchainConfiguration.from(JCSwapchainConfigurationType instance) Fill a builder with attribute values from the providedJCSwapchainConfigurationTypeinstance.setDevice(VulkanLogicalDeviceType device) Initializes the value for thedeviceattribute.setGraphicsQueue(VulkanQueueType graphicsQueue) Initializes the value for thegraphicsQueueattribute.setImageUsageFlags(Iterable<VulkanImageUsageFlag> elements) Sets or replaces all elements forimageUsageFlagsset.setPreferredFormats(Iterable<? extends VulkanSurfaceFormatKHR> elements) Sets or replaces all elements forpreferredFormatslist.setPreferredModes(Iterable<? extends VulkanPresentModeKHR> elements) Sets or replaces all elements forpreferredModeslist.setPresentationQueue(VulkanQueueType presentationQueue) Initializes the value for thepresentationQueueattribute.setRequestedMinimumImages(int requestedMinimumImages) Initializes the value for therequestedMinimumImagesattribute.Initializes the value for thesurfaceattribute.Sets or replaces all elements forsurfaceAlphaFlagsset.setSurfaceExtension(VulkanExtKHRSurfaceType surfaceExtension) Initializes the value for thesurfaceExtensionattribute.setSwapChainExtension(VulkanExtKHRSwapChainType swapChainExtension) Initializes the value for theswapChainExtensionattribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedJCSwapchainConfigurationTypeinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
setRequestedMinimumImages
Initializes the value for therequestedMinimumImagesattribute.If not set, this attribute will have a default value as returned by the initializer of
requestedMinimumImages.- Parameters:
requestedMinimumImages- The value for requestedMinimumImages- Returns:
thisbuilder for use in a chained invocation
-
setDevice
Initializes the value for thedeviceattribute.- Parameters:
device- The value for device- Returns:
thisbuilder for use in a chained invocation
-
setSurface
public final JCSwapchainConfiguration.Builder setSurface(VulkanExtKHRSurfaceType.VulkanKHRSurfaceType surface) Initializes the value for thesurfaceattribute.- Parameters:
surface- The value for surface- Returns:
thisbuilder for use in a chained invocation
-
setSwapChainExtension
public final JCSwapchainConfiguration.Builder setSwapChainExtension(VulkanExtKHRSwapChainType swapChainExtension) Initializes the value for theswapChainExtensionattribute.- Parameters:
swapChainExtension- The value for swapChainExtension- Returns:
thisbuilder for use in a chained invocation
-
setSurfaceExtension
public final JCSwapchainConfiguration.Builder setSurfaceExtension(VulkanExtKHRSurfaceType surfaceExtension) Initializes the value for thesurfaceExtensionattribute.- Parameters:
surfaceExtension- The value for surfaceExtension- Returns:
thisbuilder for use in a chained invocation
-
setGraphicsQueue
Initializes the value for thegraphicsQueueattribute.- Parameters:
graphicsQueue- The value for graphicsQueue- Returns:
thisbuilder for use in a chained invocation
-
setPresentationQueue
public final JCSwapchainConfiguration.Builder setPresentationQueue(VulkanQueueType presentationQueue) Initializes the value for thepresentationQueueattribute.- Parameters:
presentationQueue- The value for presentationQueue- Returns:
thisbuilder for use in a chained invocation
-
addPreferredModes
Adds one element topreferredModeslist.- Parameters:
element- A preferredModes element- Returns:
thisbuilder for use in a chained invocation
-
addPreferredModes
Adds elements topreferredModeslist.- Parameters:
elements- An array of preferredModes elements- Returns:
thisbuilder for use in a chained invocation
-
setPreferredModes
public final JCSwapchainConfiguration.Builder setPreferredModes(Iterable<? extends VulkanPresentModeKHR> elements) Sets or replaces all elements forpreferredModeslist.- Parameters:
elements- An iterable of preferredModes elements- Returns:
thisbuilder for use in a chained invocation
-
addAllPreferredModes
public final JCSwapchainConfiguration.Builder addAllPreferredModes(Iterable<? extends VulkanPresentModeKHR> elements) Adds elements topreferredModeslist.- Parameters:
elements- An iterable of preferredModes elements- Returns:
thisbuilder for use in a chained invocation
-
addPreferredFormats
Adds one element topreferredFormatslist.- Parameters:
element- A preferredFormats element- Returns:
thisbuilder for use in a chained invocation
-
addPreferredFormats
public final JCSwapchainConfiguration.Builder addPreferredFormats(VulkanSurfaceFormatKHR... elements) Adds elements topreferredFormatslist.- Parameters:
elements- An array of preferredFormats elements- Returns:
thisbuilder for use in a chained invocation
-
setPreferredFormats
public final JCSwapchainConfiguration.Builder setPreferredFormats(Iterable<? extends VulkanSurfaceFormatKHR> elements) Sets or replaces all elements forpreferredFormatslist.- Parameters:
elements- An iterable of preferredFormats elements- Returns:
thisbuilder for use in a chained invocation
-
addAllPreferredFormats
public final JCSwapchainConfiguration.Builder addAllPreferredFormats(Iterable<? extends VulkanSurfaceFormatKHR> elements) Adds elements topreferredFormatslist.- Parameters:
elements- An iterable of preferredFormats elements- Returns:
thisbuilder for use in a chained invocation
-
addImageUsageFlags
Adds one element toimageUsageFlagsset.- Parameters:
element- A imageUsageFlags element- Returns:
thisbuilder for use in a chained invocation
-
addImageUsageFlags
Adds elements toimageUsageFlagsset.- Parameters:
elements- An array of imageUsageFlags elements- Returns:
thisbuilder for use in a chained invocation
-
setImageUsageFlags
public final JCSwapchainConfiguration.Builder setImageUsageFlags(Iterable<VulkanImageUsageFlag> elements) Sets or replaces all elements forimageUsageFlagsset.- Parameters:
elements- An iterable of imageUsageFlags elements- Returns:
thisbuilder for use in a chained invocation
-
addAllImageUsageFlags
public final JCSwapchainConfiguration.Builder addAllImageUsageFlags(Iterable<VulkanImageUsageFlag> elements) Adds elements toimageUsageFlagsset.- Parameters:
elements- An iterable of imageUsageFlags elements- Returns:
thisbuilder for use in a chained invocation
-
addSurfaceAlphaFlags
public final JCSwapchainConfiguration.Builder addSurfaceAlphaFlags(VulkanCompositeAlphaFlagKHR element) Adds one element tosurfaceAlphaFlagsset.- Parameters:
element- A surfaceAlphaFlags element- Returns:
thisbuilder for use in a chained invocation
-
addSurfaceAlphaFlags
public final JCSwapchainConfiguration.Builder addSurfaceAlphaFlags(VulkanCompositeAlphaFlagKHR... elements) Adds elements tosurfaceAlphaFlagsset.- Parameters:
elements- An array of surfaceAlphaFlags elements- Returns:
thisbuilder for use in a chained invocation
-
setSurfaceAlphaFlags
public final JCSwapchainConfiguration.Builder setSurfaceAlphaFlags(Iterable<VulkanCompositeAlphaFlagKHR> elements) Sets or replaces all elements forsurfaceAlphaFlagsset.- Parameters:
elements- An iterable of surfaceAlphaFlags elements- Returns:
thisbuilder for use in a chained invocation
-
addAllSurfaceAlphaFlags
public final JCSwapchainConfiguration.Builder addAllSurfaceAlphaFlags(Iterable<VulkanCompositeAlphaFlagKHR> elements) Adds elements tosurfaceAlphaFlagsset.- Parameters:
elements- An iterable of surfaceAlphaFlags elements- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newJCSwapchainConfiguration.- Returns:
- An immutable instance of JCSwapchainConfiguration
- Throws:
IllegalStateException- if any required attributes are missing
-