Struct gbm::Surface

source ·
pub struct Surface<T: 'static> { /* private fields */ }
Expand description

A GBM rendering surface

Implementations§

source§

impl<T: 'static> Surface<T>

source

pub fn has_free_buffers(&self) -> bool

Return whether or not a surface has free (non-locked) buffers

Before starting a new frame, the surface must have a buffer available for rendering. Initially, a GBM surface will have a free buffer, but after one or more buffers have been locked, the application must check for a free buffer before rendering.

source

pub unsafe fn lock_front_buffer( &self ) -> Result<BufferObject<T>, FrontBufferError>

Lock the surface’s current front buffer

Locks rendering to the surface’s current front buffer and returns a handle to the underlying BufferObject.

If an error occurs a FrontBufferError is returned.

Safety

This function must be called exactly once after calling eglSwapBuffers. Calling it before any eglSwapBuffers has happened on the surface or two or more times after eglSwapBuffers is an error and may cause undefined behavior.

Trait Implementations§

source§

impl<T: 'static> AsRaw<gbm_surface> for Surface<T>

source§

fn as_raw(&self) -> *const gbm_surface

Receive a raw pointer representing this type.
source§

impl<T: 'static> Debug for Surface<T>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> !RefUnwindSafe for Surface<T>

§

impl<T> Send for Surface<T>where T: Send,

§

impl<T> !Sync for Surface<T>

§

impl<T> Unpin for Surface<T>where T: Unpin,

§

impl<T> !UnwindSafe for Surface<T>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.