//
// WindowHintBool.cs
//
// Copyright (C) 2019 OpenTK
//
// This software may be modified and distributed under the terms
// of the MIT license. See the LICENSE file for details.
//
namespace OpenToolkit.GraphicsLibraryFramework
{
///
/// Context related boolean attributes.
///
///
public enum WindowHintBool
{
///
/// Indicates whether the specified window has input focus.
/// Initial input focus is controlled by the window hint with the same name
///
Focused = 0x00020001,
///
/// Indicates whether the specified window is iconified,
/// whether by the user or with .
///
Iconified = 0x00020002,
///
/// Indicates whether the specified window is resizable by the user.
/// This is set on creation with the window hint with the same name.
///
Resizable = 0x00020003,
///
/// Indicates whether the specified window is visible.
/// Window visibility can be controlled with and
/// and initial visibility is controlled by the window hint with the same name.
///
Visible = 0x00020004,
///
/// Indicates whether the specified window has decorations such as a border,a close widget, etc.
/// This is set on creation with the window hint with the same name.
///
Decorated = 0x00020005,
///
/// Specifies whether the full screen window will automatically iconify and restore
/// the previous video mode on input focus loss.
/// Possible values are true and false. This hint is ignored for windowed mode windows.
///
AutoIconify = 0x00020006,
///
/// Indicates whether the specified window is floating, also called topmost or always-on-top.
/// This is controlled by the window hint with the same name.
///
Floating = 0x00020007,
///
/// Indicates whether the specified window is maximized,
/// whether by the user or with .
///
Maximized = 0x00020008,
///
/// Specifies whether the cursor should be centered over newly created full screen windows.
/// Possible values are true and false. This hint is ignored for windowed mode windows.
///
CenterCursor = 0x00020009,
///
/// Specifies whether the window framebuffer will be transparent.
/// If enabled and supported by the system, the window framebuffer alpha channel will be used
/// to combine the framebuffer with the background.
/// This does not affect window decorations. Possible values are true and false.
///
TransparentFramebuffer = 0x0002000A,
///
/// Indicates whether the cursor is currently directly over the client area of the window,
/// with no other windows between.
/// See Cursor enter/leave events
/// for details.
///
Hovered = 0x0002000B,
///
/// Specifies whether the window will be given input focus when is called.
/// Possible values are true and false.
///
FocusOnShow = 0x0002000C,
///
/// Specifies whether the window's context is an OpenGL forward-compatible one.
/// Possible values are true and false.
///
OpenGLForwardCompat = 0x00022006,
///
/// Specifies whether the window's context is an OpenGL debug context.
/// Possible values are true and false.
///
OpenGLDebugContext = 0x00022007,
///
/// Specifies whether errors should be generated by the context.
/// If enabled, situations that would have generated errors instead cause undefined behavior.
///
ContextNoError = 0x0002200A,
///
/// Specifies whether to use stereoscopic rendering. This is a hard constraint.
///
Stereo = 0x0002100C,
///
/// Specifies whether the framebuffer should be double buffered.
/// You nearly always want to use double buffering. This is a hard constraint.
///
DoubleBuffer = 0x00021010,
///
/// Specifies whether the framebuffer should be sRGB capable.
/// If supported, a created OpenGL context will support the
/// GL_FRAMEBUFFER_SRGB enable( also called GL_FRAMEBUFFER_SRGB_EXT)
/// for controlling sRGB rendering and a created OpenGL ES context will always have sRGB rendering enabled.
///
SrgbCapable = 0x0002100E,
}
}