# Namespace OpenTK

### Classes

#### AutoGeneratedAttribute

Indicates that this function is generated automatically by a tool.

#### BindingsBase

Provides a common foundation for all flat API bindings and implements the extension loading interface.

#### BindingsNotRewrittenException

This exception is thown when a binding method is called and the bindings have not been rewritten by Rewrite.exe.

#### BlittableValueType

Checks whether the specified type parameter is a blittable value type.

#### BlittableValueType<T>

Checks whether the specified type parameter is a blittable value type.

#### Configuration

Provides information about the underlying OS and runtime.
You must call `Toolkit.Init`

before accessing members
of this class.

#### ContextExistsException

This exception is thrown when a GraphicsContext property cannot be changed after creation.

#### CountAttribute

Used to indicate how to calculate the count/length of a parameter.

Only one of Parameter, Count, or Computed should be set.

#### DisplayDevice

Defines a display device on the underlying system, and provides methods to query and change its display parameters.

#### DisplayResolution

Contains information regarding a monitor's display resolution.

#### FrameEventArgs

Defines the arguments for frame events. A FrameEventArgs instance is only valid for the duration of the relevant event; do not store references to FrameEventArgs outside this event.

#### GameWindow

The GameWindow class contains cross-platform methods to create and render on an OpenGL window, handle input and load resources.

#### GLControl

OpenGL-aware WinForms control. The WinForms designer will always call the default constructor. Inherit from this class and call one of its specialized constructors to enable antialiasing or custom GraphicsModes.

#### GraphicsException

Represents errors related to Graphics operations.

#### KeyPressEventArgs

Defines the event arguments for KeyPress events. Instances of this class are cached: KeyPressEventArgs should only be used inside the relevant event, unless manually cloned.

#### MathHelper

Contains common mathematical functions and constants.

#### MouseCursor

Represents a predefined or custom mouse cursor.

#### NativeWindow

Instances of this class implement the INativeWindow interface on the current platform.

#### PlatformException

Defines a plaftorm-specific exception.

#### SlotAttribute

Defines the slot index for a wrapper function. This type supports OpenTK and should not be used in user code.

#### Toolkit

Provides static methods to manage an OpenTK application.

#### ToolkitOptions

Contains configuration options for OpenTK. Init(ToolkitOptions)

#### WindowIcon

Stores a window icon. A window icon is defined as a 2-dimensional buffer of RGBA values.

### Structs

#### BezierCurve

Represents a bezier curve with as many points as you want.

#### BezierCurveCubic

Represents a cubic bezier curve with two anchor and two control points.

#### BezierCurveQuadric

Represents a quadric bezier curve with two anchor and one control point.

#### Box2

Defines a 2d box (rectangle).

#### Box2d

Defines a 2d box (rectangle).

#### ContextHandle

Represents a handle to an OpenGL or OpenAL context.

#### Half

The name Half is derived from half-precision floating-point number. It occupies only 16 bits, which are split into 1 Sign bit, 5 Exponent bits and 10 Mantissa bits.

#### Matrix2

Represents a 2x2 matrix

#### Matrix2d

Represents a 2x2 matrix

#### Matrix2x3

Represents a 2x3 matrix.

#### Matrix2x3d

Represents a 2x3 matrix.

#### Matrix2x4

Represents a 2x4 matrix.

#### Matrix2x4d

Represents a 2x4 matrix.

#### Matrix3

Represents a 3x3 matrix containing 3D rotation and scale.

#### Matrix3d

Represents a 3x3 matrix containing 3D rotation and scale with double-precision components.

#### Matrix3x2

Represents a 3x2 matrix.

#### Matrix3x2d

Represents a 3x2 matrix.

#### Matrix3x4

Represents a 3x4 Matrix

#### Matrix3x4d

Represents a 3x4 Matrix

#### Matrix4

Represents a 4x4 matrix containing 3D rotation, scale, transform, and projection.

#### Matrix4d

Represents a 4x4 matrix containing 3D rotation, scale, transform, and projection with double-precision components.

#### Matrix4x2

Represents a 4x2 matrix.

#### Matrix4x2d

Represents a 4x2 matrix.

#### Matrix4x3

Represents a 3x4 matrix.

#### Matrix4x3d

Represents a 3x4 matrix.

#### Quaternion

Represents a Quaternion.

#### Quaterniond

Represents a double-precision Quaternion.

#### Vector2

Represents a 2D vector using two single-precision floating-point numbers.

#### Vector2d

Represents a 2D vector using two double-precision floating-point numbers.

#### Vector2h

2-component Vector of the Half type. Occupies 4 Byte total.

#### Vector3

Represents a 3D vector using three single-precision floating-point numbers.

#### Vector3d

Represents a 3D vector using three double-precision floating-point numbers.

#### Vector3h

3-component Vector of the Half type. Occupies 6 Byte total.

#### Vector4

Represents a 4D vector using four single-precision floating-point numbers.

#### Vector4d

Represents a 4D vector using four double-precision floating-point numbers.

#### Vector4h

4-component Vector of the Half type. Occupies 8 Byte total.

### Interfaces

#### INativeWindow

Defines the interface for a native window.

### Enums

#### DisplayIndex

Defines DisplayDevice indices.

#### GameWindowFlags

Defines bitwise combianations of GameWindow construction options.

#### PlatformBackend

Enumerates options regarding OpenTK.Platform implementations.

#### VSyncMode

Enumerates available VSync modes.

#### WindowBorder

Enumerates available window borders.

#### WindowState

Enumerates available window states.

### Delegates

#### GLControl.DelayUpdate

Needed to delay the invoke on OS X. Also needed because OpenTK is .NET 2, otherwise I'd use an inline Action.