pub struct ContextBuilder<'a> {
pub gl_attr: GlAttributes<&'a Context>,
/* private fields */
}
Expand description
Object that allows you to build Context
s.
Fields§
§gl_attr: GlAttributes<&'a Context>
The attributes to use to create the context.
Implementations§
Source§impl<'a> ContextBuilder<'a>
impl<'a> ContextBuilder<'a>
Sourcepub fn new() -> ContextBuilder<'a>
pub fn new() -> ContextBuilder<'a>
Initializes a new ContextBuilder
with default values.
Sourcepub fn with_gl(self, request: GlRequest) -> ContextBuilder<'a>
pub fn with_gl(self, request: GlRequest) -> ContextBuilder<'a>
Sets how the backend should choose the OpenGL API and version.
Sourcepub fn with_gl_profile(self, profile: GlProfile) -> ContextBuilder<'a>
pub fn with_gl_profile(self, profile: GlProfile) -> ContextBuilder<'a>
Sets the desired OpenGL context profile.
Sourcepub fn with_gl_debug_flag(self, flag: bool) -> ContextBuilder<'a>
pub fn with_gl_debug_flag(self, flag: bool) -> ContextBuilder<'a>
Sets the debug flag for the OpenGL context.
The default value for this flag is cfg!(debug_assertions)
, which means that it’s enabled
when you run cargo build
and disabled when you run cargo build --release
.
Sourcepub fn with_gl_robustness(self, robustness: Robustness) -> ContextBuilder<'a>
pub fn with_gl_robustness(self, robustness: Robustness) -> ContextBuilder<'a>
Sets the robustness of the OpenGL context. See the docs of Robustness
.
Sourcepub fn with_vsync(self, vsync: bool) -> ContextBuilder<'a>
pub fn with_vsync(self, vsync: bool) -> ContextBuilder<'a>
Requests that the window has vsync enabled.
By default, vsync is not enabled.
Share the display lists with the given Context
.
Sourcepub fn with_multisampling(self, samples: u16) -> ContextBuilder<'a>
pub fn with_multisampling(self, samples: u16) -> ContextBuilder<'a>
Sets the multisampling level to request. A value of 0
indicates that multisampling must
not be enabled.
§Panic
Will panic if samples
is not a power of two.
Sourcepub fn with_depth_buffer(self, bits: u8) -> ContextBuilder<'a>
pub fn with_depth_buffer(self, bits: u8) -> ContextBuilder<'a>
Sets the number of bits in the depth buffer.
Sourcepub fn with_stencil_buffer(self, bits: u8) -> ContextBuilder<'a>
pub fn with_stencil_buffer(self, bits: u8) -> ContextBuilder<'a>
Sets the number of bits in the stencil buffer.
Sourcepub fn with_pixel_format(
self,
color_bits: u8,
alpha_bits: u8,
) -> ContextBuilder<'a>
pub fn with_pixel_format( self, color_bits: u8, alpha_bits: u8, ) -> ContextBuilder<'a>
Sets the number of bits in the color buffer.
Sourcepub fn with_stereoscopy(self) -> ContextBuilder<'a>
pub fn with_stereoscopy(self) -> ContextBuilder<'a>
Request the backend to be stereoscopic.
Sourcepub fn with_srgb(self, srgb_enabled: bool) -> ContextBuilder<'a>
pub fn with_srgb(self, srgb_enabled: bool) -> ContextBuilder<'a>
Sets whether sRGB should be enabled on the window.
The default value is false
.
Sourcepub fn with_double_buffer(
self,
double_buffer: Option<bool>,
) -> ContextBuilder<'a>
pub fn with_double_buffer( self, double_buffer: Option<bool>, ) -> ContextBuilder<'a>
Sets whether double buffering should be enabled.
The default value is None
.
§Platform-specific
This option will be taken into account on the following platforms:
- MacOS
- Linux using GLX with X
- Windows using WGL
Sourcepub fn with_hardware_acceleration(
self,
acceleration: Option<bool>,
) -> ContextBuilder<'a>
pub fn with_hardware_acceleration( self, acceleration: Option<bool>, ) -> ContextBuilder<'a>
Sets whether hardware acceleration is required.
The default value is Some(true)
§Platform-specific
This option will be taken into account on the following platforms:
- MacOS
- Linux using EGL with either X or Wayland
- Windows using EGL or WGL
- Android using EGL
Auto Trait Implementations§
impl<'a> Freeze for ContextBuilder<'a>
impl<'a> !RefUnwindSafe for ContextBuilder<'a>
impl<'a> Send for ContextBuilder<'a>
impl<'a> Sync for ContextBuilder<'a>
impl<'a> Unpin for ContextBuilder<'a>
impl<'a> !UnwindSafe for ContextBuilder<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.