Crate glutin

source ·
Expand description

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

Building a WindowedContext

A WindowedContext 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 the prefered way:

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

You can, of course, create an OpenGL Context separately from an existing window, however that may result in an suboptimal configuration of the window on some platforms. In that case use “SeparatedContext”.

Modules

  • DPI is important, so read the docs for this module if you don’t want to be confused.
  • Contains traits with platform-specific methods in them.

Structs

Enums

  • All APIs related to OpenGL that you can possibly get while using glutin.
  • Error that can happen when manipulating an OpenGL context.
  • Returned by the user callback given to the EventsLoop::run_forever method.
  • Error that can happen while creating a window or a headless renderer.
  • Represents raw hardware events that are not associated with any particular window.
  • Describes the input state of a key.
  • Describes a generic event.
  • Describes the requested OpenGL context profiles.
  • Describes the OpenGL API and version that are being requested when a context is created.
  • Describes a button of a mouse controller.
  • Describes the appearance of the mouse cursor.
  • Describes a difference in the mouse scroll wheel state.
  • 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.
  • Describes touch-screen input state.
  • Symbolic name for a keyboard key.
  • Error that can happen while creating a window or a headless renderer.
  • Describes an event from a Window.

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

Type Definitions

  • Identifier for a specific analog axis on some device.
  • Identifier for a specific button on some device.
  • Hardware-dependent keyboard scan code.