[][src]Struct gfx_hal::window::SwapchainConfig

pub struct SwapchainConfig {
    pub present_mode: PresentMode,
    pub composite_alpha: CompositeAlpha,
    pub format: Format,
    pub extent: Extent2D,
    pub image_count: SwapImageIndex,
    pub image_layers: Layer,
    pub image_usage: Usage,
}

Contains all the data necessary to create a new Swapchain: color, depth, and number of images.

Examples

This type implements the builder pattern, method calls can be easily chained.

let config = SwapchainConfig::new(100, 100, Format::Bgra8Unorm, 2);

Fields

present_mode: PresentMode

Presentation mode.

composite_alpha: CompositeAlpha

Alpha composition mode.

format: Format

Format of the backbuffer images.

extent: Extent2D

Requested image extent. Must be in SurfaceCapabilities::extents range.

image_count: SwapImageIndex

Number of images in the swapchain. Must be in SurfaceCapabilities::image_count range.

image_layers: Layer

Number of image layers. Must be lower or equal to SurfaceCapabilities::max_image_layers.

image_usage: Usage

Image usage of the backbuffer images.

Methods

impl SwapchainConfig[src]

pub fn new(
    width: u32,
    height: u32,
    format: Format,
    image_count: SwapImageIndex
) -> Self
[src]

Create a new default configuration (color images only).

Examples

pub fn from_caps(
    caps: &SurfaceCapabilities,
    format: Format,
    default_extent: Extent2D
) -> Self
[src]

Create a swapchain configuration based on the capabilities returned from a physical device query. If the surface does not specify a current size, default_extent is clamped and used instead.

pub fn with_mode(self, mode: PresentMode) -> Self[src]

Specify the presentation mode.

Examples

pub fn with_image_usage(self, usage: Usage) -> Self[src]

Specify the usage of backbuffer images.

Examples

Trait Implementations

impl Clone for SwapchainConfig[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for SwapchainConfig[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Supports<T> for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]