Struct cogl::Renderer[][src]

pub struct Renderer(_, _);

Implementations

impl Renderer[src]

pub fn new() -> Renderer[src]

Instantiates a new (unconnected) Renderer object. A Renderer represents a means to render. It encapsulates the selection of an underlying driver, such as OpenGL or OpenGL-ES and a selection of a window system binding API such as GLX, or EGL or WGL.

While the renderer is unconnected it can be configured so that applications may specify backend constraints, such as “must use x11” for example via Renderer::add_constraint.

There are also some platform specific configuration apis such as cogl_xlib_renderer_set_foreign_display that may also be used while the renderer is unconnected.

Once the renderer has been configured, then it may (optionally) be explicitly connected using Renderer::connect which allows errors to be handled gracefully and potentially fallback configurations can be tried out if there are initial failures.

If a renderer is not explicitly connected then Display::new will automatically connect the renderer for you. If you don’t have any code to deal with error/fallback situations then its fine to just let Cogl do the connection for you.

Once you have setup your renderer then the next step is to create a Display using Display::new.

<note>Many applications don’t need to explicitly use Renderer::new or Display::new and can just jump straight to Context::new and pass a None display argument so Cogl will automatically connect and setup a renderer and display.</note>

Returns

A newly created Renderer.

pub fn add_constraint(&self, constraint: RendererConstraint)[src]

This adds a renderer selection constraint.

Applications should ideally minimize how many of these constraints they depend on to ensure maximum portability.

constraint

A RendererConstraint to add

pub fn check_onscreen_template(
    &self,
    onscreen_template: &OnscreenTemplate
) -> Result<bool, Error>
[src]

Tests if a given onscreen_template can be supported with the given self.

onscreen_template

A OnscreenTemplate

Returns

true if the onscreen_template can be supported, else false.

pub fn connect(&self) -> Result<bool, Error>[src]

Connects the configured self. Renderer connection isn’t a very active process, it basically just means validating that any given constraint criteria can be satisfied and that a usable driver and window system backend can be found.

Returns

true if there was no error while connecting the given self. false if there was an error.

pub fn foreach_output<P: FnMut(&Output)>(&self, callback: P)[src]

Iterates all known display outputs for the given self and passes a corresponding Output pointer to the given callback for each one, along with the given user_data.

callback

A CoglOutputCallback to be called for each display output

user_data

A user pointer to be passed to callback

pub fn get_driver(&self) -> Driver[src]

Queries what underlying driver is being used by Cogl.

This may only be called on a connected Renderer.

pub fn get_n_fragment_texture_units(&self) -> i32[src]

Queries how many texture units can be used from fragment programs

Returns

the number of texture image units.

pub fn get_winsys_id(&self) -> WinsysID[src]

Queries which window system backend Cogl has chosen to use.

This may only be called on a connected Renderer.

Returns

The WinsysID corresponding to the chosen window system backend.

pub fn remove_constraint(&self, constraint: RendererConstraint)[src]

This removes a renderer selection constraint.

Applications should ideally minimize how many of these constraints they depend on to ensure maximum portability.

constraint

A RendererConstraint to remove

pub fn set_driver(&self, driver: Driver)[src]

Requests that Cogl should try to use a specific underlying driver for rendering.

If you select an unsupported driver then Renderer::connect will fail and report an error. Most applications should not explicitly select a driver and should rely on Cogl automatically choosing the driver.

This may only be called on an un-connected Renderer.

pub fn set_winsys_id(&self, winsys_id: WinsysID)[src]

This allows you to explicitly select a winsys backend to use instead of letting Cogl automatically select a backend.

if you select an unsupported backend then Renderer::connect will fail and report an error.

This may only be called on an un-connected Renderer.

winsys_id

An ID of the winsys you explicitly want to use.

Trait Implementations

impl Clone for Renderer[src]

impl Debug for Renderer[src]

impl Default for Renderer[src]

impl Display for Renderer[src]

impl Eq for Renderer[src]

impl Hash for Renderer[src]

impl IsA<Object> for Renderer[src]

impl Ord for Renderer[src]

impl<T: ObjectType> PartialEq<T> for Renderer[src]

impl<T: ObjectType> PartialOrd<T> for Renderer[src]

impl StaticType for Renderer[src]

Auto Trait Implementations

impl RefUnwindSafe for Renderer

impl !Send for Renderer

impl !Sync for Renderer

impl Unpin for Renderer

impl UnwindSafe for Renderer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 
[src]

impl<T> Cast for T where
    T: ObjectType
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: SetValue + Send + ToValue + ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.