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 the WindowBuilder object.
  • headless allows you to do headless rendering, and enables the HeadlessRendererBuilder 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.

AxisId

Identifier for a specific analog axis on some device.

ButtonId

Identifier for a specific button on some device.

Context

Represents an OpenGL context.

ContextBuilder

Object that allows you to build Contexts.

DeviceId

Identifier of an input device.

EventsLoop

Provides a way to retreive events from the windows that were registered to it.

EventsLoopClosed

The error that is returned when an EventsLoopProxy attempts to wake up an EventsLoop that no longer exists.

EventsLoopProxy

Used to wake up the EventsLoop from another thread.

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
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 EventsLoop::run_forever method.

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
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
MouseCursor
MouseScrollDelta
NativeMonitorId

Native platform identifier for a monitor. Different platforms use fundamentally different types to represent a monitor ID.

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
VirtualKeyCode
WindowCreationError

Error that can happen while creating a window or a headless renderer.

WindowEvent

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.

Functions

get_available_monitors

Returns the list of all available monitors.

get_primary_monitor

Returns the primary monitor of the system.

Type Definitions

ScanCode