[−][src]Trait gstreamer_gl::GLContextExt
Required methods
fn activate(&self, activate: bool) -> Result<(), BoolError>
(De)activate the OpenGL context represented by this self
.
In OpenGL terms, calls eglMakeCurrent or similar with this context and the
currently set window. See GLContextExt::set_window
for details.
activate
true
to activate, false
to deactivate
Returns
Whether the activation succeeded
fn can_share<P: IsA<GLContext>>(&self, other_context: &P) -> bool
Note: This will always fail for two wrapped GLContext
's
other_context
another GLContext
Returns
whether self
and other_context
are able to share OpenGL
resources.
fn check_feature(&self, feature: &str) -> bool
Check for an OpenGL feature
being supported.
Note: Most features require that the context be created before it is possible to determine their existence and so will fail if that is not the case.
feature
a platform specific feature
Returns
Whether feature
is supported by self
fn check_framebuffer_status(&self, fbo_target: u32) -> bool
fbo_target
the GL value of the framebuffer target, GL_FRAMEBUFFER, GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER
Returns
whether whether the current framebuffer is complete
fn check_gl_version(&self, api: GLAPI, maj: i32, min: i32) -> bool
api
api type required
maj
major version required
min
minor version required
Returns
whether OpenGL context implements the required api and specified version.
fn clear_framebuffer(&self)
Unbind the current framebuffer
fn clear_shader(&self)
Clear's the currently set shader from the GL state machine.
Note: must be called in the GL thread.
fn create<P: IsA<GLContext>>(
&self,
other_context: Option<&P>
) -> Result<(), Error>
&self,
other_context: Option<&P>
) -> Result<(), Error>
Creates an OpenGL context with the specified other_context
as a context
to share shareable OpenGL objects with. See the OpenGL specification for
what is shared between OpenGL contexts.
If an error occurs, and error
is not None
, then error will contain details
of the error and false
will be returned.
Should only be called once.
other_context
a GLContext
to share OpenGL objects with
Returns
whether the context could successfully be created
fn destroy(&self)
Destroys an OpenGL context.
Should only be called after GLContextExt::create
has been successfully
called for this context.
fn fill_info(&self) -> Result<(), Error>
Fills self
's info (version, extensions, vtable, etc) from the GL
context in the current thread. Typically used with wrapped contexts to
allow wrapped contexts to be used as regular GLContext
's.
fn get_display(&self) -> GLDisplay
Returns
the GLDisplay
associated with this self
fn get_gl_api(&self) -> GLAPI
Get the currently enabled OpenGL api.
The currently available API may be limited by the GLDisplay
in use and/or
the GLWindow
chosen.
Returns
the available OpenGL api
fn get_gl_platform(&self) -> GLPlatform
fn get_gl_platform_version(&self) -> (i32, i32)
Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid
after a call to GLContextExt::create
.
major
return for the major version
minor
return for the minor version
fn get_gl_version(&self) -> (i32, i32)
Returns the OpenGL version implemented by self
. See
GLContextExt::get_gl_api
for retrieving the OpenGL api implemented by
self
.
maj
resulting major version
min
resulting minor version
fn get_window(&self) -> Option<GLWindow>
Returns
the currently set window
fn is_shared(&self) -> bool
Returns
Whether the GLContext
has been shared with another GLContext
fn set_shared_with<P: IsA<GLContext>>(&self, share: &P)
fn set_window<P: IsA<GLWindow>>(&self, window: &P) -> Result<(), BoolError>
Set's the current window on self
to window
. The window can only be
changed before GLContextExt::create
has been called and the window
is not
already running.
window
a GLWindow
Returns
Whether the window was successfully updated
fn supports_glsl_profile_version(
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
version
a GLSLVersion
profile
a GLSLProfile
Returns
Whether self
supports the combination of version
with profile
fn supports_precision(&self, version: GLSLVersion, profile: GLSLProfile) -> bool
Feature: v1_16
version
a GLSLVersion
profile
a GLSLProfile
Returns
whether self
supports the 'precision' specifier in GLSL shaders
fn supports_precision_highp(
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
Feature: v1_16
version
a GLSLVersion
profile
a GLSLProfile
Returns
whether self
supports the 'precision highp' specifier in GLSL shaders
fn swap_buffers(&self)
Swap the front and back buffers on the window attached to self
.
This will display the frame on the next refresh cycle.
Implementors
impl<O: IsA<GLContext>> GLContextExt for O
[src]
fn activate(&self, activate: bool) -> Result<(), BoolError>
[src]
fn can_share<P: IsA<GLContext>>(&self, other_context: &P) -> bool
[src]
fn check_feature(&self, feature: &str) -> bool
[src]
fn check_framebuffer_status(&self, fbo_target: u32) -> bool
[src]
fn check_gl_version(&self, api: GLAPI, maj: i32, min: i32) -> bool
[src]
fn clear_framebuffer(&self)
[src]
fn clear_shader(&self)
[src]
fn create<P: IsA<GLContext>>(
&self,
other_context: Option<&P>
) -> Result<(), Error>
[src]
&self,
other_context: Option<&P>
) -> Result<(), Error>
fn destroy(&self)
[src]
fn fill_info(&self) -> Result<(), Error>
[src]
fn get_display(&self) -> GLDisplay
[src]
fn get_gl_api(&self) -> GLAPI
[src]
fn get_gl_platform(&self) -> GLPlatform
[src]
fn get_gl_platform_version(&self) -> (i32, i32)
[src]
fn get_gl_version(&self) -> (i32, i32)
[src]
fn get_window(&self) -> Option<GLWindow>
[src]
fn is_shared(&self) -> bool
[src]
fn set_shared_with<P: IsA<GLContext>>(&self, share: &P)
[src]
fn set_window<P: IsA<GLWindow>>(&self, window: &P) -> Result<(), BoolError>
[src]
fn supports_glsl_profile_version(
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
[src]
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
fn supports_precision(&self, version: GLSLVersion, profile: GLSLProfile) -> bool
[src]
fn supports_precision_highp(
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool
[src]
&self,
version: GLSLVersion,
profile: GLSLProfile
) -> bool