diff options
Diffstat (limited to 'components/script/dom/webgl_extensions/extension.rs')
-rw-r--r-- | components/script/dom/webgl_extensions/extension.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/components/script/dom/webgl_extensions/extension.rs b/components/script/dom/webgl_extensions/extension.rs index 6b4a2815347..1f8c770aaa3 100644 --- a/components/script/dom/webgl_extensions/extension.rs +++ b/components/script/dom/webgl_extensions/extension.rs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +use canvas_traits::webgl::WebGLVersion; use dom::bindings::reflector::DomObject; use dom::bindings::root::DomRoot; use dom::bindings::trace::JSTraceable; @@ -15,6 +16,9 @@ pub trait WebGLExtension: Sized where Self::Extension: DomObject + JSTraceable { /// Creates the DOM object of the WebGL extension. fn new(ctx: &WebGLRenderingContext) -> DomRoot<Self::Extension>; + /// Returns which WebGL spec is this extension written against. + fn spec() -> WebGLExtensionSpec; + /// Checks if the extension is supported. fn is_supported(ext: &WebGLExtensions) -> bool; @@ -24,3 +28,10 @@ pub trait WebGLExtension: Sized where Self::Extension: DomObject + JSTraceable { /// Name of the WebGL Extension. fn name() -> &'static str; } + +pub enum WebGLExtensionSpec { + /// Extensions written against both WebGL and WebGL2 specs. + All, + /// Extensions writen against a specific WebGL version spec. + Specific(WebGLVersion) +} |