diff options
author | Imanol Fernandez <mortimergoro@gmail.com> | 2017-10-27 17:06:53 +0200 |
---|---|---|
committer | Imanol Fernandez <mortimergoro@gmail.com> | 2017-10-31 21:38:39 +0100 |
commit | f2f5817f5630c0c7adce8269068bc1d58312137a (patch) | |
tree | e70de67b4101c7d323d7ab7757168e6eff5d1610 /components/script/dom/webgl_extensions/extension.rs | |
parent | d21657a9e5cfdb858c1a99a246001ceac05bb982 (diff) | |
download | servo-f2f5817f5630c0c7adce8269068bc1d58312137a.tar.gz servo-f2f5817f5630c0c7adce8269068bc1d58312137a.zip |
Add support for filtering WebGL extensions based on WebGL version
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) +} |