Trait glutin::context::PossiblyCurrentGlContext
source · pub trait PossiblyCurrentGlContext: Sealed {
type NotCurrentContext: NotCurrentGlContext;
type Surface<T: SurfaceTypeTrait>: GlSurface<T>;
// Required methods
fn is_current(&self) -> bool;
fn make_not_current(self) -> Result<Self::NotCurrentContext>;
fn make_current<T: SurfaceTypeTrait>(
&self,
surface: &Self::Surface<T>,
) -> Result<()>;
fn make_current_draw_read<T: SurfaceTypeTrait>(
&self,
surface_draw: &Self::Surface<T>,
surface_read: &Self::Surface<T>,
) -> Result<()>;
}
Expand description
A trait to group common context operations.
Required Associated Types§
sourcetype NotCurrentContext: NotCurrentGlContext
type NotCurrentContext: NotCurrentGlContext
The not current context type.
sourcetype Surface<T: SurfaceTypeTrait>: GlSurface<T>
type Surface<T: SurfaceTypeTrait>: GlSurface<T>
The surface supported by the context.
Required Methods§
sourcefn is_current(&self) -> bool
fn is_current(&self) -> bool
Returns true
if this context is the current one in this thread.
sourcefn make_not_current(self) -> Result<Self::NotCurrentContext>
fn make_not_current(self) -> Result<Self::NotCurrentContext>
Make the context not current to the current thread and returns a
Self::NotCurrentContext
to indicate that the context is a not
current to allow sending it to the different thread.
§Platform specific
- macOS: this will block if your main thread is blocked.
sourcefn make_current<T: SurfaceTypeTrait>(
&self,
surface: &Self::Surface<T>,
) -> Result<()>
fn make_current<T: SurfaceTypeTrait>( &self, surface: &Self::Surface<T>, ) -> Result<()>
Make Self::Surface
current on the calling thread.
§Platform specific
- macOS: this will block if your main thread is blocked.
sourcefn make_current_draw_read<T: SurfaceTypeTrait>(
&self,
surface_draw: &Self::Surface<T>,
surface_read: &Self::Surface<T>,
) -> Result<()>
fn make_current_draw_read<T: SurfaceTypeTrait>( &self, surface_draw: &Self::Surface<T>, surface_read: &Self::Surface<T>, ) -> Result<()>
The same as Self::make_current
but provides a way to set read and
draw surfaces explicitly.
§Api-specific:
- CGL/WGL: not supported.
Object Safety§
This trait is not object safe.
Implementors§
source§impl PossiblyCurrentGlContext for glutin::context::PossiblyCurrentContext
impl PossiblyCurrentGlContext for glutin::context::PossiblyCurrentContext
type NotCurrentContext = NotCurrentContext
type Surface<T: SurfaceTypeTrait> = Surface<T>
source§impl PossiblyCurrentGlContext for glutin::api::egl::context::PossiblyCurrentContext
Available on egl_backend
only.
impl PossiblyCurrentGlContext for glutin::api::egl::context::PossiblyCurrentContext
Available on
egl_backend
only.type NotCurrentContext = NotCurrentContext
type Surface<T: SurfaceTypeTrait> = Surface<T>
source§impl PossiblyCurrentGlContext for glutin::api::glx::context::PossiblyCurrentContext
Available on glx_backend
only.
impl PossiblyCurrentGlContext for glutin::api::glx::context::PossiblyCurrentContext
Available on
glx_backend
only.