Struct GlAttributes

Source
pub struct GlAttributes<S> {
    pub sharing: Option<S>,
    pub version: GlRequest,
    pub profile: Option<GlProfile>,
    pub debug: bool,
    pub robustness: Robustness,
    pub vsync: bool,
}
Expand description

Attributes to use when creating an OpenGL context.

Fields§

§sharing: Option<S>

An existing context to share the new the context with.

The default is None.

§version: GlRequest

Version to try create. See GlRequest for more infos.

The default is Latest.

§profile: Option<GlProfile>

OpenGL profile to use.

The default is None.

§debug: bool

Whether to enable the debug flag of the context.

Debug contexts are usually slower but give better error reporting.

The default is true in debug mode and false in release mode.

§robustness: Robustness

How the OpenGL context should detect errors.

The default is NotRobust because this is what is typically expected when you create an OpenGL context. However for safety you should consider TryRobustLoseContextOnReset.

§vsync: bool

Whether to use vsync. If vsync is enabled, calling swap_buffers will block until the screen refreshes. This is typically used to prevent screen tearing.

The default is false.

Implementations§

Source§

impl<S> GlAttributes<S>

Source

pub fn map_sharing<F, T>(self, f: F) -> GlAttributes<T>
where F: FnOnce(S) -> T,

Turns the sharing parameter into another type by calling a closure.

Trait Implementations§

Source§

impl<S> Clone for GlAttributes<S>
where S: Clone,

Source§

fn clone(&self) -> GlAttributes<S>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<S> Default for GlAttributes<S>

Source§

fn default() -> GlAttributes<S>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<S> Freeze for GlAttributes<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for GlAttributes<S>
where S: RefUnwindSafe,

§

impl<S> Send for GlAttributes<S>
where S: Send,

§

impl<S> Sync for GlAttributes<S>
where S: Sync,

§

impl<S> Unpin for GlAttributes<S>
where S: Unpin,

§

impl<S> UnwindSafe for GlAttributes<S>
where S: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
Source§

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

Convert 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)

Convert &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)

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> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T> Erased for T