Crate glutin [−] [src]
The purpose of this library is to provide an OpenGL context on as many platforms as possible.
Building a GlWindow
A GlWindow
is composed of a Window
and an OpenGL Context
. Due to some
operating-system-specific quirks, glutin requires control over the order of creation of the
Context
and Window
. Here is an example of building a GlWindow:
let events_loop = glutin::EventsLoop::new(); let window = glutin::WindowBuilder::new() .with_title("Hello world!") .with_dimensions(1024, 768); let context = glutin::ContextBuilder::new(); let gl_window = glutin::GlWindow::new(window, context, &events_loop).unwrap();
For contexts that are not associated with any particular window, see the HeadlessContext type.
Features
This crate has two Cargo features: window
and headless
.
window
allows you to create regular windows and enables theWindowBuilder
object.headless
allows you to do headless rendering, and enables theHeadlessRendererBuilder
object.
By default only window
is enabled.
Modules
os |
Contains traits with platform-specific methods in them. |
Structs
AvailableMonitorsIter |
An iterator for the list of available monitors. |
Context |
Represents an OpenGL context. |
ContextBuilder |
Object that allows you to build |
DeviceId |
Identifier of an input device. |
EventsLoop |
Provides a way to retreive events from the system and from the windows that were registered to the events loop. |
EventsLoopClosed |
The error that is returned when an |
EventsLoopProxy |
Used to wake up the |
GlAttributes |
Attributes to use when creating an OpenGL context. |
GlWindow |
Represents an OpenGL context and a Window with which it is associated. |
HeadlessContext |
Represents a headless OpenGL context. |
HeadlessRendererBuilder |
Object that allows you to build headless contexts. |
KeyboardInput |
Describes a keyboard input event. |
ModifiersState |
Represents the current state of the keyboard modifiers |
MonitorId |
Identifier for a monitor. |
PixelFormat |
Describes a possible format. Unused. |
PixelFormatRequirements |
Describes how the backend should choose a pixel format. |
Touch |
Represents touch event |
Window |
Represents a window. |
WindowAttributes |
Attributes to use when creating a window. |
WindowBuilder |
Object that allows you to build windows. |
WindowId |
Identifier of a window. Unique for each window. |
Enums
Api |
All APIs related to OpenGL that you can possibly get while using glutin. |
ContextError |
Error that can happen when manipulating an OpenGL context. |
ControlFlow |
Returned by the user callback given to the |
CreationError |
Error that can happen while creating a window or a headless renderer. |
CursorState |
Describes how winit handles the cursor. |
DeviceEvent |
Represents raw hardware events that are not associated with any particular window. |
ElementState |
Describes the input state of a key. |
Event |
Describes a generic event. |
GlProfile |
Describes the requested OpenGL context profiles. |
GlRequest |
Describes the OpenGL API and version that are being requested when a context is created. |
MouseButton |
Describes a button of a mouse controller. |
MouseCursor |
Describes the appearance of the mouse cursor. |
MouseScrollDelta |
Describes a difference in the mouse scroll wheel state. |
ReleaseBehavior |
The behavior of the driver when you change the current context. |
Robustness |
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. |
TouchPhase |
Describes touch-screen input state. |
VirtualKeyCode |
Symbolic name for a keyboard key. |
WindowCreationError |
Error that can happen while creating a window or a headless renderer. |
WindowEvent |
Describes an event from a |
Statics
GL_CORE |
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
GlContext |
A trait for types associated with a GL context. |
Type Definitions
AxisId |
Identifier for a specific analog axis on some device. |
ButtonId |
Identifier for a specific button on some device. |
ScanCode |
Hardware-dependent keyboard scan code. |