#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
# [wasm_bindgen (is_type_of = | _ | false , extends = :: js_sys :: Object , js_name = EXT_disjoint_timer_query , typescript_type = "EXT_disjoint_timer_query")]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `ExtDisjointTimerQuery` class."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub type ExtDisjointTimerQuery;
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = beginQueryEXT)]
#[doc = "The `beginQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/beginQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn begin_query_ext(this: &ExtDisjointTimerQuery, target: u32, query: &WebGlQuery);
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = createQueryEXT)]
#[doc = "The `createQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/createQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn create_query_ext(this: &ExtDisjointTimerQuery) -> Option<WebGlQuery>;
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = deleteQueryEXT)]
#[doc = "The `deleteQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/deleteQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn delete_query_ext(this: &ExtDisjointTimerQuery, query: Option<&WebGlQuery>);
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = endQueryEXT)]
#[doc = "The `endQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/endQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub fn end_query_ext(this: &ExtDisjointTimerQuery, target: u32);
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = getQueryEXT)]
#[doc = "The `getQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/getQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub fn get_query_ext(
this: &ExtDisjointTimerQuery,
target: u32,
pname: u32,
) -> ::wasm_bindgen::JsValue;
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = getQueryObjectEXT)]
#[doc = "The `getQueryObjectEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/getQueryObjectEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn get_query_object_ext(
this: &ExtDisjointTimerQuery,
query: &WebGlQuery,
pname: u32,
) -> ::wasm_bindgen::JsValue;
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = isQueryEXT)]
#[doc = "The `isQueryEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/isQueryEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn is_query_ext(this: &ExtDisjointTimerQuery, query: Option<&WebGlQuery>) -> bool;
#[cfg(feature = "WebGlQuery")]
# [wasm_bindgen (method , structural , js_class = "EXT_disjoint_timer_query" , js_name = queryCounterEXT)]
#[doc = "The `queryCounterEXT()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query/queryCounterEXT)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`, `WebGlQuery`*"]
pub fn query_counter_ext(this: &ExtDisjointTimerQuery, query: &WebGlQuery, target: u32);
}
impl ExtDisjointTimerQuery {
#[doc = "The `EXT_disjoint_timer_query.QUERY_COUNTER_BITS_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const QUERY_COUNTER_BITS_EXT: u32 = 34916u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.CURRENT_QUERY_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const CURRENT_QUERY_EXT: u32 = 34917u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.QUERY_RESULT_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const QUERY_RESULT_EXT: u32 = 34918u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.QUERY_RESULT_AVAILABLE_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const QUERY_RESULT_AVAILABLE_EXT: u32 = 34919u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.TIME_ELAPSED_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const TIME_ELAPSED_EXT: u32 = 35007u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.TIMESTAMP_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const TIMESTAMP_EXT: u32 = 36392u64 as u32;
#[doc = "The `EXT_disjoint_timer_query.GPU_DISJOINT_EXT` const."]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ExtDisjointTimerQuery`*"]
pub const GPU_DISJOINT_EXT: u32 = 36795u64 as u32;
}