Struct surfman::platform::unix::generic::context::Context

source ·
pub struct Context(pub(crate) EGLBackedContext);
Expand description

Represents an OpenGL rendering context.

A context allows you to issue rendering commands to a surface. When initially created, a context has no attached surface, so rendering commands will fail or be ignored. Typically, you attach a surface to the context before rendering.

Contexts take ownership of the surfaces attached to them. In order to mutate a surface in any way other than rendering to it (e.g. presenting it to a window, which causes a buffer swap), it must first be detached from its context. Each surface is associated with a single context upon creation and may not be rendered to from any other context. However, you can wrap a surface in a surface texture, which allows the surface to be read from another context.

OpenGL objects may not be shared across contexts directly, but surface textures effectively allow for sharing of texture data. Contexts are local to a single thread and device.

A context must be explicitly destroyed with destroy_context(), or a panic will occur.

Tuple Fields§

§0: EGLBackedContext

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>,

source§

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>,

source§

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.