Struct vulkano::swapchain::Surface[][src]

pub struct Surface<W> { /* fields omitted */ }

Represents a surface on the screen.

Creating a Surface is platform-specific.

Implementations

impl<W> Surface<W>[src]

pub unsafe fn from_raw_surface(
    instance: Arc<Instance>,
    surface: SurfaceKHR,
    win: W
) -> Surface<W>
[src]

Creates a Surface given the raw handler.

Be careful when using it

pub fn from_display_mode(
    display_mode: &DisplayMode,
    plane: &DisplayPlane
) -> Result<Arc<Surface<()>>, SurfaceCreationError>
[src]

Creates a Surface that covers a display mode.

Panic

  • Panics if display_mode and plane don’t belong to the same physical device.
  • Panics if plane doesn’t support the display of display_mode.

pub unsafe fn from_hwnd<T, U>(
    instance: Arc<Instance>,
    hinstance: *const T,
    hwnd: *const U,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from a Win32 window.

The surface’s min, max and current extent will always match the window’s dimensions.

Safety

The caller must ensure that the hinstance and the hwnd are both correct and stay alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub unsafe fn from_xcb<C>(
    instance: Arc<Instance>,
    connection: *const C,
    window: u32,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from an XCB window.

The surface’s min, max and current extent will always match the window’s dimensions.

Safety

The caller must ensure that the connection and the window are both correct and stay alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub unsafe fn from_xlib<D>(
    instance: Arc<Instance>,
    display: *const D,
    window: c_ulong,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from an Xlib window.

The surface’s min, max and current extent will always match the window’s dimensions.

Safety

The caller must ensure that the display and the window are both correct and stay alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub unsafe fn from_wayland<D, S>(
    instance: Arc<Instance>,
    display: *const D,
    surface: *const S,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from a Wayland window.

The window’s dimensions will be set to the size of the swapchain.

Safety

The caller must ensure that the display and the surface are both correct and stay alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub unsafe fn from_anativewindow<T>(
    instance: Arc<Instance>,
    window: *const T,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from an Android window.

Safety

The caller must ensure that the window is correct and stays alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub unsafe fn from_ios_moltenvk<T>(
    instance: Arc<Instance>,
    view: *const T,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from an iOS UIView.

Safety

  • The caller must ensure that the view is correct and stays alive for the entire lifetime of the surface. The win parameter can be used to ensure this.
  • The UIView must be backed by a CALayer instance of type CAMetalLayer.

pub unsafe fn from_macos_moltenvk<T>(
    instance: Arc<Instance>,
    view: *const T,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from a MacOS NSView.

Safety

  • The caller must ensure that the view is correct and stays alive for the entire lifetime of the surface. The win parameter can be used to ensure this.
  • The NSView must be backed by a CALayer instance of type CAMetalLayer.

pub unsafe fn from_vi_surface<T>(
    instance: Arc<Instance>,
    window: *const T,
    win: W
) -> Result<Arc<Surface<W>>, SurfaceCreationError>
[src]

Creates a Surface from a code:nn::code:vi::code:Layer.

Safety

The caller must ensure that the window is correct and stays alive for the entire lifetime of the surface. The win parameter can be used to ensure this.

pub fn is_supported(
    &self,
    queue: QueueFamily<'_>
) -> Result<bool, CapabilitiesError>
[src]

Returns true if the given queue family can draw on this surface.

pub fn capabilities(
    &self,
    device: PhysicalDevice<'_>
) -> Result<Capabilities, CapabilitiesError>
[src]

Retrieves the capabilities of a surface when used by a certain device.

Notes

  • Capabilities that are not supported in vk-sys are silently dropped

Panic

  • Panics if the device and the surface don’t belong to the same instance.

pub fn window(&self) -> &W[src]

pub fn instance(&self) -> &Arc<Instance>[src]

Returns the instance this surface was created with.

Trait Implementations

impl<W> Debug for Surface<W>[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<W> Drop for Surface<W>[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

impl<W> VulkanObject for Surface<W>[src]

type Object = SurfaceKHR

The type of the object.

const TYPE: ObjectType[src]

The ObjectType of the internal Vulkan handle.

fn internal_object(&self) -> SurfaceKHR[src]

Returns a reference to the object.

Auto Trait Implementations

impl<W> RefUnwindSafe for Surface<W> where
    W: RefUnwindSafe

impl<W> Send for Surface<W> where
    W: Send

impl<W> Sync for Surface<W> where
    W: Sync

impl<W> Unpin for Surface<W> where
    W: Unpin

impl<W> UnwindSafe for Surface<W> where
    W: UnwindSafe

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Content for T[src]

pub fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>[src]

Builds a pointer to this type from a raw pointer.

pub fn is_size_suitable(usize) -> bool[src]

Returns true if the size is suitable to store a type like this.

pub fn indiv_size() -> usize[src]

Returns the size of an individual element.

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.