Enum wgpu::SurfaceTarget
source · #[non_exhaustive]pub enum SurfaceTarget<'window> {
Window(Box<dyn WindowHandle + 'window>),
}
Expand description
The window/canvas/surface/swap-chain/etc. a surface is attached to, for use with safe surface creation.
This is either a window or an actual web canvas depending on the platform and enabled features. Refer to the individual variants for more information.
See also SurfaceTargetUnsafe
for unsafe variants.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Window(Box<dyn WindowHandle + 'window>)
Window handle producer.
If the specified display and window handle are not supported by any of the backends, then the surface will not be supported by any adapters.
§Errors
- On WebGL2: surface creation returns an error if the browser does not support WebGL2, or declines to provide GPU access (such as due to a resource shortage).
§Panics
- On macOS/Metal: will panic if not called on the main thread.
- On web: will panic if the
raw_window_handle
does not properly refer to a canvas element.
Trait Implementations§
source§impl<'a, T> From<T> for SurfaceTarget<'a>where
T: WindowHandle + 'a,
impl<'a, T> From<T> for SurfaceTarget<'a>where
T: WindowHandle + 'a,
Auto Trait Implementations§
impl<'window> Freeze for SurfaceTarget<'window>
impl<'window> !RefUnwindSafe for SurfaceTarget<'window>
impl<'window> Send for SurfaceTarget<'window>
impl<'window> Sync for SurfaceTarget<'window>
impl<'window> Unpin for SurfaceTarget<'window>
impl<'window> !UnwindSafe for SurfaceTarget<'window>
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