pub struct Surface<T: 'static> { /* private fields */ }Expand description
A GBM rendering surface
Implementations
sourceimpl<T: 'static> Surface<T>
impl<T: 'static> Surface<T>
sourcepub fn has_free_buffers(&self) -> bool
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.
sourcepub unsafe fn lock_front_buffer(
&self
) -> Result<BufferObject<T>, FrontBufferError>
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
sourceimpl<T: 'static> AsRaw<gbm_surface> for Surface<T>
impl<T: 'static> AsRaw<gbm_surface> for Surface<T>
sourcefn as_raw(&self) -> *const gbm_surface
fn as_raw(&self) -> *const gbm_surface
Receive a raw pointer representing this type.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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. Read more
fn as_any(&self) -> &(dyn Any + 'static)
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. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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. Read more