diff options
author | Daniel <ddefisher@gmail.com> | 2016-05-25 14:57:34 -0400 |
---|---|---|
committer | Daniel <ddefisher@gmail.com> | 2016-05-29 17:08:10 -0400 |
commit | c017438428acdb59d1b3127f0c3e249f2b2658b4 (patch) | |
tree | d48c30e2b9ce9e309d797cd2f3edc66091c9f2fd /components/script/dom/webglrenderingcontext.rs | |
parent | 2a2b88f42c55614f949f218b0444778e8e2bfc78 (diff) | |
download | servo-c017438428acdb59d1b3127f0c3e249f2b2658b4.tar.gz servo-c017438428acdb59d1b3127f0c3e249f2b2658b4.zip |
Implement IsBuffer, IsFramebuffer and IsRenderbuffer for WebGLRenderingContext
Diffstat (limited to 'components/script/dom/webglrenderingcontext.rs')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 3e57bae5a6e..e4565f2d82a 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -1327,6 +1327,21 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { .unwrap() } + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5 + fn IsBuffer(&self, buffer: Option<&WebGLBuffer>) -> bool { + buffer.map_or(false, |buf| buf.target().is_some() && !buf.is_deleted()) + } + + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.6 + fn IsFramebuffer(&self, frame_buffer: Option<&WebGLFramebuffer>) -> bool { + frame_buffer.map_or(false, |buf| buf.target().is_some() && !buf.is_deleted()) + } + + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.7 + fn IsRenderbuffer(&self, render_buffer: Option<&WebGLRenderbuffer>) -> bool { + render_buffer.map_or(false, |buf| buf.ever_bound() && !buf.is_deleted()) + } + // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 fn IsShader(&self, shader: Option<&WebGLShader>) -> bool { shader.map_or(false, |s| !s.is_deleted() || s.is_attached()) |