Struct surfman::platform::unix::generic::surface::Surface

source ·
pub struct Surface(pub(crate) EGLBackedSurface);
Expand description

Represents a hardware buffer of pixels that can be rendered to via the CPU or GPU and either displayed in a native widget or bound to a texture for reading.

Surfaces come in two varieties: generic and widget surfaces. Generic surfaces can be bound to a texture but cannot be displayed in a widget (without using other APIs such as Core Animation, DirectComposition, or XPRESENT). Widget surfaces are the opposite: they can be displayed in a widget but not bound to a texture.

Surfaces are specific to a given context and cannot be rendered to from any context other than the one they were created with. However, they can be read from any context on any thread (as long as that context shares the same adapter and connection), by wrapping them in a SurfaceTexture.

Depending on the platform, each surface may be internally double-buffered.

Surfaces must be destroyed with the destroy_surface() method, or a panic will occur.

Tuple Fields§

§0: EGLBackedSurface

Trait Implementations§

source§

impl Debug for Surface

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Send for Surface

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.