//! WebGL constants exposed by the deterministic context.

pub(super) const VENDOR: u32 = 0x1F00;
pub(super) const RENDERER: u32 = 0x1F01;
pub(super) const VERSION: u32 = 0x1F02;
pub(super) const SHADING_LANGUAGE_VERSION: u32 = 0x8B8C;
pub(super) const MAX_TEXTURE_SIZE: u32 = 0x0D33;
pub(super) const MAX_VIEWPORT_DIMS: u32 = 0x0D3A;
pub(super) const VIEWPORT: u32 = 0x0BA2;
pub(super) const COLOR_CLEAR_VALUE: u32 = 0x0C22;
pub(super) const DEPTH_CLEAR_VALUE: u32 = 0x0B73;
pub(super) const STENCIL_CLEAR_VALUE: u32 = 0x0B91;
pub(super) const ALIASED_LINE_WIDTH_RANGE: u32 = 0x846E;
pub(super) const ALIASED_POINT_SIZE_RANGE: u32 = 0x846D;
pub(super) const MAX_VERTEX_ATTRIBS: u32 = 0x8869;
pub(super) const MAX_COMBINED_TEXTURE_IMAGE_UNITS: u32 = 0x8B4D;
pub(super) const MAX_TEXTURE_IMAGE_UNITS: u32 = 0x8872;
pub(super) const MAX_VERTEX_TEXTURE_IMAGE_UNITS: u32 = 0x8B4C;
pub(super) const COLOR_BUFFER_BIT: u32 = 0x4000;
pub(super) const DEPTH_BUFFER_BIT: u32 = 0x0100;
pub(super) const STENCIL_BUFFER_BIT: u32 = 0x0400;

pub(super) const NAMED: &[(&str, u32)] = &[
    ("VENDOR", VENDOR),
    ("RENDERER", RENDERER),
    ("VERSION", VERSION),
    ("SHADING_LANGUAGE_VERSION", SHADING_LANGUAGE_VERSION),
    ("MAX_TEXTURE_SIZE", MAX_TEXTURE_SIZE),
    ("MAX_VIEWPORT_DIMS", MAX_VIEWPORT_DIMS),
    ("VIEWPORT", VIEWPORT),
    ("COLOR_CLEAR_VALUE", COLOR_CLEAR_VALUE),
    ("DEPTH_CLEAR_VALUE", DEPTH_CLEAR_VALUE),
    ("STENCIL_CLEAR_VALUE", STENCIL_CLEAR_VALUE),
    ("ALIASED_LINE_WIDTH_RANGE", ALIASED_LINE_WIDTH_RANGE),
    ("ALIASED_POINT_SIZE_RANGE", ALIASED_POINT_SIZE_RANGE),
    ("MAX_VERTEX_ATTRIBS", MAX_VERTEX_ATTRIBS),
    (
        "MAX_COMBINED_TEXTURE_IMAGE_UNITS",
        MAX_COMBINED_TEXTURE_IMAGE_UNITS,
    ),
    ("MAX_TEXTURE_IMAGE_UNITS", MAX_TEXTURE_IMAGE_UNITS),
    (
        "MAX_VERTEX_TEXTURE_IMAGE_UNITS",
        MAX_VERTEX_TEXTURE_IMAGE_UNITS,
    ),
    ("COLOR_BUFFER_BIT", COLOR_BUFFER_BIT),
    ("DEPTH_BUFFER_BIT", DEPTH_BUFFER_BIT),
    ("STENCIL_BUFFER_BIT", STENCIL_BUFFER_BIT),
];
