pub struct SurfaceObject<Instance: Instance>(/* private fields */);Expand description
Opaque handle to a surface object
Implementations§
Source§impl<Instance: Instance> SurfaceObject<Instance>
impl<Instance: Instance> SurfaceObject<Instance>
pub fn new( pd: impl PhysicalDevice + InstanceChildTransferrable<ConcreteInstance = Instance>, create_info: &(impl SurfaceCreateInfo + ?Sized), ) -> Result<Self>
pub const unsafe fn manage(handle: VkSurfaceKHR, instance: Instance) -> Self
pub const fn unmanage(self) -> (VkSurfaceKHR, Instance)
Source§impl<Instance: Instance + Clone> SurfaceObject<&Instance>
impl<Instance: Instance + Clone> SurfaceObject<&Instance>
Sourcepub fn clone_parent(self) -> SurfaceObject<Instance>
pub fn clone_parent(self) -> SurfaceObject<Instance>
Owning parent object by cloning it.
Trait Implementations§
Source§impl<Instance: Instance> Drop for SurfaceObject<Instance>
Available on crate feature Implements only.
impl<Instance: Instance> Drop for SurfaceObject<Instance>
Available on crate feature
Implements only.Source§impl<Instance: Instance> InstanceChild for SurfaceObject<Instance>
impl<Instance: Instance> InstanceChild for SurfaceObject<Instance>
type ConcreteInstance = Instance
fn instance(&self) -> &Self::ConcreteInstance
Source§impl<Instance: Instance> VkHandle for SurfaceObject<Instance>
impl<Instance: Instance> VkHandle for SurfaceObject<Instance>
type Handle = VkSurfaceKHR
Source§fn native_ptr(&self) -> Self::Handle
fn native_ptr(&self) -> Self::Handle
Retrieve an underlying handle
fn as_transparent_ref<'a>(&'a self) -> VkHandleRef<'a, Self::Handle>
Source§impl<Instance: Instance> VkHandleMut for SurfaceObject<Instance>
impl<Instance: Instance> VkHandleMut for SurfaceObject<Instance>
Source§fn native_ptr_mut(&mut self) -> Self::Handle
fn native_ptr_mut(&mut self) -> Self::Handle
Retrieve an underlying mutable handle
fn as_transparent_ref_mut<'a>(&'a mut self) -> VkHandleRefMut<'a, Self::Handle>
Source§impl<Instance: Instance> VkObject for SurfaceObject<Instance>
impl<Instance: Instance> VkObject for SurfaceObject<Instance>
const TYPE: VkObjectType = brvk::VkSurfaceKHR::OBJECT_TYPE
impl<Instance: Instance + Send> Send for SurfaceObject<Instance>
impl<Instance: Instance> Surface for SurfaceObject<Instance>
impl<Instance: Instance + Sync> Sync for SurfaceObject<Instance>
Auto Trait Implementations§
impl<Instance> Freeze for SurfaceObject<Instance>where
Instance: Freeze,
impl<Instance> RefUnwindSafe for SurfaceObject<Instance>where
Instance: RefUnwindSafe,
impl<Instance> Unpin for SurfaceObject<Instance>where
Instance: Unpin,
impl<Instance> UnsafeUnpin for SurfaceObject<Instance>where
Instance: UnsafeUnpin,
impl<Instance> UnwindSafe for SurfaceObject<Instance>where
Instance: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more