Expand description

The purpose of this library is to provide an OpenGL Context on as many platforms as possible.

Building a WindowedContext<T>

A WindowedContext<T> is composed of a Window and an OpenGL Context.

Due to some operating-system-specific quirks, glutin prefers control over the order of creation of the Context and Window. Here is an example of building a WindowedContext<T>:

let el = glutin::event_loop::EventLoop::new();
let wb = glutin::window::WindowBuilder::new()
    .with_title("Hello world!")
    .with_inner_size(glutin::dpi::LogicalSize::new(1024.0, 768.0));
let windowed_context = glutin::ContextBuilder::new()
    .build_windowed(wb, &el)
    .unwrap();

You can, of course, create a RawContext<T> separately from an existing window, however that may result in an suboptimal configuration of the window on some platforms. In that case use the unsafe platform-specific RawContextExt available on unix operating systems and Windows.

You can also produce headless Contexts via the ContextBuilder::build_headless() function.

Modules

Accelerators describe keyboard shortcuts defined by the application.
The Clipboard struct and associated types.
UI scaling is important, so read the docs for this module if you don’t want to be confused.
The Error struct and associated types.
The Event enum and assorted supporting types.
The EventLoop struct and assorted supporting types, including ControlFlow.
UNSTABLE – The GlobalShortcut struct and associated types.
UNSTABLE – Types related to the keyboard.
UNSTABLE – The Menu struct and associated types.
Types useful for interacting with a user’s monitors.
Contains traits with platform-specific methods in them.
The Window struct and associated types.

Structs

Represents an OpenGL Context.
An object that allows you to build Contexts, RawContext<T>s and WindowedContext<T>s.
A context which has an underlying window, which may or may not be stored separately.
Attributes to use when creating an OpenGL Context.
Describes a possible format.
Describes how the backend should choose a pixel format.
A type that Contexts which might possibly be currently current on some thread take as a generic.
Whenever you receive an event arising from a particular tray, this event contains a TrayId which identifies its origin.

Enums

All APIs related to OpenGL that you can possibly get while using glutin.
Error that can happen when manipulating an OpenGL Context.
Error that can happen while creating a window or a headless renderer.
Describes the requested OpenGL Context profiles.
Describes the OpenGL API and version that are being requested when a context is created.
A type that Contexts which are not currently current on any thread take as a generic.
The behavior of the driver when you change the current context.
Specifies the tolerance of the OpenGL Context to faults. If you accept raw OpenGL commands and/or raw shader code from an untrusted source, you should definitely care about this.

Statics

The minimum core profile GL context. Useful for getting the minimum required GL version while still running on OSX, which often forbids the compatibility profile features.

Traits

A trait implemented on both NotCurrent and PossiblyCurrent.

Type Definitions

Represents an OpenGL Context which has an underlying window that is stored separately.
Represents an OpenGL Context and the Window with which it is associated.